Skip to content
/api/v1/cusip/ticker/{ticker}?chain=true

Resolve Ticker to CUSIP with full successor chain.

Resolve Ticker to CUSIP with full successor chain.

1 tokensSince v1.0.0

Why use this

Ticker-keyed variant of [GET /api/v1/cusip/chain/{cusip}](/docs/reference-data/cusip-api/get-cusip-chain) — when you have the current ticker (`RKLB`) and need every CUSIP that has ever represented it (pre-SPAC + post-SPAC + post-redomicile). Without `chain=true` (default false), the endpoint behaves identically to the no-chain variant and returns the CURRENT CUSIP only. With `chain=true`, the response includes a `chain[]` array of all historical CUSIPs with `from_chain` flags. The most-natural entrypoint for ticker-shaped UI inputs that need chain-aware downstream queries.

Common use case

Building comprehensive holdings queries that span CUSIP transitions — e.g. 'show me Berkshire's RKLB position from inception to today' requires querying 13F holdings across all 3 RKLB CUSIPs. Without the chain, the position appears to drop to 0 at each merger date and re-emerge under a new CUSIP. With the chain, the position-history chart is continuous. Also useful in 'reconcile a customer's ticker watchlist with their 13F-based position blotter' workflows that need historical-CUSIP coverage.

Ticker-keyed entrypoint into the CUSIP successor chain — the natural variant when your downstream system speaks tickers but needs CUSIP-shaped historical coverage. With ?chain=true, returns all historical CUSIPs in chronological order with from_chain: true on predecessors and from_chain: false on the current/seed CUSIP. Without the flag, response is byte-identical to GET /api/v1/cusip/ticker/{ticker} for backwards compatibility — the chain expansion is strictly opt-in. Phase 11/47 work product. The CUSIP-keyed equivalent is GET /api/v1/cusip/chain/{cusip} — both endpoints walk the same underlying chain table. The historical-issuer-names in chain[].issuer_name reflect the issuer AT THE TIME each CUSIP was active (e.g. VECTOR ACQUISITION CORP is preserved on the pre-SPAC entry).

Parameters

NameInRequiredDefaultAllowedDescriptionExample
tickerpathrequired——Canonical hyphen-form ticker. v3.14.2 ticker-normalization shim applies (`BRK.A`/`BRK/A`/`BRKA` all coerce to `BRK-A`). The CURRENT ticker is required — historical-only tickers like `VACQ` (pre-SPAC RKLB) are not supported as input; use the CUSIP variant if you need to seed the chain walk from a historical entity.RKLB
chainqueryoptionalfalse—When `true`, response includes a `chain[]` array of all historical CUSIPs sharing this security's lineage. When `false` (default) or omitted, response is byte-identical to [GET /api/v1/cusip/ticker/{ticker}](/docs/reference-data/cusip-api/get-cusip-ticker) and returns CURRENT CUSIP only — backwards-compatible with pre-Phase-11 callers.—

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/RKLB?chain=true" \
  -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).