Skip to content
/api/v1/cusip/ticker/{ticker}

Resolve Ticker to CUSIP.

Resolve Ticker to CUSIP.

1 tokensSince v1.0.0

Why use this

Reverse direction of [GET /api/v1/cusip/lookup/{cusip}](/docs/reference-data/cusip-api/get-cusip-lookup) — given a ticker, return the CUSIP. Useful when you need to bridge ticker-shaped customer input into CUSIP-shaped 13F query parameters (e.g. `POST /form-13f/holdings` accepts CUSIPs but a UI may want to expose ticker search). Backed by `cusip_security_catalog`. Returns the CURRENT active CUSIP only — to retrieve historical CUSIPs across corporate actions append `?chain=true` (see [/cusip/ticker/{ticker}?chain=true](/docs/reference-data/cusip-api/get-cusip-ticker-chain)).

Common use case

Preparing data for institutional reporting or regulatory filings — converting customer-facing tickers (e.g. `AAPL`) into the CUSIP form (e.g. `037833100`) required by 13F holdings queries, regulatory submissions, and CUSIP6-grouped multi-class drill-downs. Also useful in 'enrich a watchlist of tickers with CUSIPs for batch 13F lookup' flows.

Reverse direction of GET /api/v1/cusip/lookup/{cusip} — ticker-in, CUSIP-out. The natural bridge from customer-facing ticker UIs into CUSIP-shaped downstream APIs (13F holdings query, batch resolution, etc.). Returns the CURRENT primary CUSIP only — to retrieve historical CUSIPs (e.g. RKLB's pre-SPAC G9442R126 -> post-SPAC 773122106 -> current 773121108 chain) append ?chain=true and use the chain variant. For multi-class issuers (BRK-A vs BRK-B) the result is class-specific — pass each ticker variant separately. Server-side ticker normalization (v3.14.2) coerces BRK.A, BRK/A, BRKA all to BRK-A before lookup.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
tickerpathrequired——Canonical hyphen-form ticker (`BRK-A` not `BRK.A`). Server-side normalization applies the v3.14.2 ticker-coercion shim — `BRK.A`, `BRK/A`, `BRKA` all coerce to `BRK-A`. Returns 404 when no active CUSIP mapping exists (delisted issuers, foreign tickers without ticker-enrichment coverage).AAPL

Response schema

FieldTypeNullableDescription
statusstringno—
request_idstringyes—
timestampstringno—
dataarraynoMatching mapping records. With chain=true, additional historical mappings are appended to this same array.
data[].cusip6stringyesOptional; omitted when not applicable.
data[].tickerstringyes—
data[].security_namestringyes—
data[].security_typestringyesOptional; omitted when not applicable.
data[].cikstringyesOptional; omitted when not applicable.
data[].exch_codestringyesOptional; omitted when not applicable.
data[].mic_codestringyesOptional; omitted when not applicable.
data[].figistringyesOptional; omitted when not applicable.
data[].composite_figistringyesOptional; omitted when not applicable.
data[].share_class_figistringyesOptional; omitted when not applicable.
data[].sectorstringyesOptional; omitted when not applicable.
data[].industrystringyesOptional; omitted when not applicable.
data[].id_typestringyesOptional; omitted when not applicable.
data[].superseded_bystringyesOptional; omitted when not applicable.
data[].last_updatedstringyesOptional; omitted when not applicable.
data[].created_atstringyesOptional; omitted when not applicable.
data[].cusipstringno—
data[].is_validbooleanyesOptional; omitted when not applicable.
data[].from_chainbooleannoOptional; omitted when not applicable. Only present on an additional mapping found through chain=true.

Sample response

·
  • "status": "success"
  • "request_id": null
  • "timestamp": "2026-09-25T12:00:00Z"
  • "data":
    ]
}

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/cusip/ticker/AAPL" \
  -H "X-API-Key: YOUR_API_KEY"

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