/api/v1/tickers/autocompleteFull 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.
Why use this
Common use case
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
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| q | query | optional | — | — | Optional 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 |
| limit | query | optional | 50 | — | Max tickers returned when `q` is provided (capped at 50 server-side). Ignored when `q` is empty (full preload mode). | 10 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| tickers[] | array | no | Array 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[].symbol | string | no | Canonical 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[].name | string | no | Company 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[].exchange | string | yes | Primary 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[].score | number | no | FinRadar 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[].rank | integer | no | 1-indexed rank within the response set. `rank=1` is the top match. Useful for UI rendering (showing 'Top match' badge on rank=1). |
| meta.total | integer | no | Total tickers returned in this response. May equal full-corpus match count if smaller than `limit`; otherwise capped at `limit`. |
| meta.query | string | yes | Echoed-back `q` parameter (or null when empty). |
Sample response
- "tickers":
- "meta":
- "total": 3
- "query": "appl"
Errors
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected 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).