Skip to content
/api/v1/tickers/autocomplete

Full ticker list for client-side typeahead search.

Full ticker list for client-side typeahead search. Returns all tickers with company names, ordered alphabetically. Designed for preloading into client-side autocomplete widgets.

1 tokensSince v1.0.0

Why use this

Preload all tickers for instant client-side search.

Common use case

Building a ticker search bar that provides instant autocomplete without server round-trips on each keystroke.

Ticker autocomplete + typeahead-search endpoint, optimized for both server-side filtering (pass q for prefix-match against ~13,000 listed US tickers + ADRs + foreign listings) and client-side preload (omit q for full-corpus enumeration). Results carry a score ranking signal (Phase 47-era ticker_scoring service) so high-volume primary listings rank ahead of low-volume secondary listings — typing appl surfaces AAPL (Apple primary, score 100) ahead of AAPL.MX (Apple Mexico cross-listing, score 12) and APLE (Apple Hospitality REIT, score 38). Multi-class issuers like Berkshire Hathaway are properly disambiguated (BRK-A vs BRK-B with the higher-volume B class scoring higher). The 1-token cost makes this safe to call on every keystroke. Pair with GET /api/v1/tickers/logos/domains for batch-logo lookup on autocomplete results, GET /api/v1/tickers/{ticker}/overview for the post-selection company-overview drill-down, and GET /api/v1/financials/tickers for the narrower XBRL-coverage subset (~7,000 tickers — gates which tickers can be queried via /financials/snapshot etc.).

Parameters

NameInRequiredDefaultAllowedDescriptionExample
qqueryoptionalOptional query prefix for server-side filtering. When provided, returns up to 50 tickers ranked by FinRadar's ticker-scoring signal (Phase 47-related — high-volume primary listings rank ahead of low-volume secondary listings; multi-class issuers like BRK-A vs BRK-B disambiguated by liquidity score). When omitted, returns the full enumeration for client-side preload.appl
limitqueryoptional50Max tickers returned when `q` is provided (capped at 50 server-side). Ignored when `q` is empty (full preload mode).10

Response schema

FieldTypeNullableDescription
tickers[]arraynoArray of matching ticker rows, sorted by `score DESC` (highest-conviction match first) when `q` is provided, alphabetically when `q` is empty. Empty array on no match.
tickers[].symbolstringnoCanonical ticker (hyphen form for multi-class — `BRK-A` not `BRK.A`/`BRK/A`/`BRKA`). Multi-class issuers preserve their share-class suffix. Foreign-listing variants carry exchange suffixes (`.MX`, `.TO`, `.L`, etc.).
tickers[].namestringnoCompany name (Title Case). For multi-class issuers, parenthetical suffix disambiguates (`Berkshire Hathaway Inc. (Class A)` vs `Berkshire Hathaway Inc. (Class B)`). For foreign listings, the exchange is noted parenthetically.
tickers[].exchangestringyesPrimary listing exchange code: `NYSE`, `NASDAQ`, `AMEX`, `OTC`, `BMV` (Mexico), `TSX` (Toronto), `LSE` (London), etc. Null for issuers without a clean primary-exchange mapping (rare; mostly OTC pink-sheet names).
tickers[].scorenumbernoFinRadar ticker-scoring signal (range `[0, 100]`). Higher = more-prominent listing (high-volume primary, well-known issuer name, frequent news coverage). For multi-class issuers, the more-traded class scores higher (BRK-B > BRK-A on volume; AAPL primary > AAPL.MX foreign listing). Use for ranking ties in autocomplete dropdowns. Phase 47-era ticker_scoring service — re-computed nightly from volume + market_cap + cross-section signal density.
tickers[].rankintegerno1-indexed rank within the response set. `rank=1` is the top match. Useful for UI rendering (showing 'Top match' badge on rank=1).
meta.totalintegernoTotal tickers returned in this response. May equal full-corpus match count if smaller than `limit`; otherwise capped at `limit`.
meta.querystringyesEchoed-back `q` parameter (or null when empty).

Sample response

·
  • "tickers":
    ]
  • "meta":
    • "total": 3
    • "query": "appl"
    }
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/api/v1/tickers/autocomplete?api_Token=YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).