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

Get full CUSIP successor chain for a security (corporate actions tracking).

Get full CUSIP successor chain for a security (corporate actions tracking).

5 tokensSince v1.0.0

Why use this

Returns the complete chain of CUSIPs for a security that has undergone corporate actions (SPAC mergers, holding company reorgs, redomiciliations). Shows the progression from original -> intermediate -> current CUSIP with effective dates, reasons, and the current ticker. The single canonical answer to 'show me every CUSIP that has ever represented this security' — Phase 11 (initial chain table) + Phase 47 (unified-holder layer chain expansion) work product. Without chain awareness, ownership data appears to show 3 different securities instead of 1 (and 13F-derived position-history charts get clipped at every CUSIP transition).

Common use case

Tracking Rocket Lab (RKLB) through its SPAC merger: `G9442R126` (Vector Acquisition Corp pre-SPAC) -> `773122106` (Rocket Lab USA post-SPAC) -> `773121108` (Rocket Lab Corporation post-redomicile). Without chain awareness, the position-history chart for RKLB clips at each CUSIP transition. With chain awareness, the underlying 13F holdings query expands to all 3 CUSIPs and the timeline is continuous. Also useful for any holdings-aggregation workflow that needs to roll up legacy CUSIPs (DLTR pre-Family-Dollar-merger, AVGO pre-VMware-acquisition, etc.).

Walks the full successor chain for a CUSIP — the canonical answer to 'show me every CUSIP that has ever represented this security'. Phase 11 (initial chain table) + Phase 47 (unified-holder layer chain expansion) work product. The chain walks BOTH directions from the input CUSIP (pre-mergers AND post-mergers) so passing any CUSIP in the chain returns the same complete history. Each entry preserves the historical issuer name AT THE TIME that CUSIP was active — useful for time-stamped ownership reports that need 'who owned the security as filed' rather than 'who would own it under the current name'. Used internally by POST /api/v1/form-13f/holdings for chain-aware position aggregation when include_chain=true. For the ticker-keyed equivalent see GET /api/v1/cusip/ticker/{ticker}?chain=true. The CUSIP6 prefix CHANGES across reorgs (e.g. RKLB went from G9442R -> 773122 -> 773121) so do NOT use CUSIP6 as a stable issuer identifier across corporate actions — use the chain itself or the unified-holder layer.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
cusippathrequiredAny CUSIP in the chain (old or current). The endpoint walks the chain in BOTH directions from the input — pre-mergers AND post-mergers — to return the complete history. Examples: `G9442R126` (pre-SPAC RKLB) returns the same chain as `773121108` (current RKLB).773121108

Response schema

FieldTypeNullableDescription
cusipstringnoEchoed input CUSIP — the seed for the chain walk.
chainarraynoArray of chain entries in CHRONOLOGICAL order (oldest CUSIP first, current CUSIP last). The last entry's `cusip` is the CURRENT active CUSIP for the security.
chain[].cusipstringno9-character CUSIP at this point in the chain.
chain[].issuer_namestringnoIssuer name AT THE TIME this CUSIP was active — preserves the historical-issuer-identity view (e.g. `VECTOR ACQUISITION CORP` for the pre-SPAC RKLB CUSIP, `ROCKET LAB USA INC` for the post-SPAC CUSIP, `ROCKET LAB CORP` for the post-redomicile CUSIP).
chain[].effective_datestringyesISO-8601 date this CUSIP became active. Null on the seed CUSIP (catalog-origin date is not always known; the chain only tracks the TRANSITION dates between CUSIPs, not the initial issuance).
chain[].reasonstringyesCorporate-action reason that triggered the CUSIP transition — one of `SPAC merger`, `Reorg`, `Redomicile`, `Acquisition`, `Spin-off`, `Reverse merger`, `Symbol change`. Null on the seed (initial-issuance) entry.
chain[].is_currentbooleanno`true` for exactly one entry — the CURRENT active CUSIP. `false` for all historical predecessors.
current_tickerstringyesConvenience field — the canonical ticker for the CURRENT CUSIP (last chain entry). Null when the security is delisted or has no public-equity ticker.

Sample response

·
  • "cusip": "773121108"
  • "chain":
    ]
  • "current_ticker": "RKLB"
}

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/chain/{cusip}?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).