/api/v1/financials/tickersSearch or list companies with financial data available.
Search or list companies with financial data available.
10 tokensSince v3.4.0
Why use this
Discovery + autocomplete endpoint for the XBRL company-financials universe — lists tickers for which FinRadar has parsed and standardized at least one quarter of SEC company-facts data (~7,000+ companies, sourced from EDGAR's XBRL companyfacts daily bulk download). Use as the gating layer for financial-screener UIs: query this first to know which tickers can be queried via `/financials/metrics`, `/financials/snapshot`, `/financials/ratios`. Returns the latest available period plus total parsed fact count per ticker — useful for surfacing data-completeness signals (a ticker with only 200 facts is a recent-IPO with thin history; one with 12,000+ has a full multi-decade book). Sharadar sector/industry classifications are joined-in to support sector-specific autocomplete filters.
Common use case
Building ticker search/autocomplete UI for the financials page.
Lists tickers with XBRL financial coverage — i.e. tickers for which we have parsed and standardized at least one quarter of company-facts data. Includes the latest available period and total fact count per ticker. Use this for autocompletion in financial-screener UIs and to gate which tickers can be queried via GET /api/v1/financials/metrics.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| q | query | optional | — | — | Free-text search across (1) ticker (exact match boost) and (2) company name (partial match `ILIKE '%name%'`). Case-insensitive. Empty `q` returns the full list ordered by `fact_count DESC` (most-data-rich tickers first) — useful for default-state autocomplete dropdowns. | apple |
| limit | query | optional | 50 | — | Maximum tickers returned (capped at 200 server-side). For typical autocomplete dropdowns, 10-20 is enough; for full-list preload (all 7000 tickers for offline indexing) use 200 + paginated walks. | 20 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| tickers | array | no | Array of matching tickers, sorted by `fact_count DESC` (data-richest tickers first) when `q` is empty, OR by exact-match relevance + `fact_count DESC` when `q` is provided. Empty array on no match. |
| tickers[].ticker | string | no | Canonical ticker (hyphen form). Use as input to `/financials/metrics`, `/financials/snapshot`, `/financials/ratios` etc. Multi-class issuers preserve the requested class. |
| tickers[].cik | string | no | Issuer CIK in 10-char zero-padded form. Useful as join key against the SEC ownership endpoints (13D/G/F surface). |
| tickers[].company_name | string | no | Company name from EDGAR's company-tickers.json file (typically Title Case — NOT all-caps EDGAR convention because this comes from the SEC's curated list). Use for human-readable autocomplete labels. |
| tickers[].latest_period_end | string | yes | ISO `YYYY-MM-DD` end-date of the most-recent fiscal period for which we have parsed XBRL facts. Null only for tickers that have CIK but no XBRL data yet (rare; mostly very recent IPOs). Use to detect filing-staleness — values older than ~6 months on an active filer indicate either delayed XBRL parsing or an actual 10-K/10-Q skip. |
| tickers[].fact_count | integer | no | Total parsed XBRL facts across all quarters for this ticker. Mature large-caps: 8000-20000 (multi-decade history × 1500 facts per filing). Small-caps: 500-3000. Recent IPOs: 100-500. Use as a data-richness gauge. |
| tickers[].sector | string | yes | Sharadar sector classification (e.g. `Technology`, `Healthcare`, `Financial Services`). Null when the ticker is unmapped in Sharadar (private CUSIPs, recently-listed issuers, foreign issuers without ADRs). Useful for sector-filtered autocomplete. |
| tickers[].industry | string | yes | Sharadar industry classification (more specific than `sector`). Null when unmapped. Em-dash characters preserved verbatim from Sharadar. |
| meta | object | no | Result metadata block: `{ total: integer, limit: integer }`. `total` reflects full-corpus match count for the search; `limit` is the effective server-side-capped limit. |
Sample response
·
- "tickers":
- "meta":
- "total": 7000
- "limit": 100
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/financials/tickers?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).