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

Resolve CUSIP to Ticker.

Resolve CUSIP to Ticker.

1 tokensSince v1.0.0

Why use this

Convert 9-digit CUSIPs (the universal SEC-filing security identifier) to canonical hyphen-form tickers — the single-row variant of the batch endpoint, optimised for the 'I have one CUSIP, what ticker is this?' workflow common in single-filing parsing pipelines. Backed by FinRadar's `cusip_security_catalog` (~26K rows post v3.11.0). When a CUSIP has been replaced by a corporate-action successor (SPAC merger, reorg, redomicile) this endpoint returns the CURRENT ticker — for the full historical chain use [GET /api/v1/cusip/chain/{cusip}](/docs/reference-data/cusip-api/get-cusip-chain).

Common use case

Mapping 13F holdings data to actionable ticker symbols when you only have the CUSIP from a parsed filing row — e.g. SEC 13F-HR information table rows arrive with CUSIPs, but downstream alpha models speak ticker. Also useful in 'reverse-lookup' workflows: a customer asks 'what stock is CUSIP 037833100?' and you need the ticker + issuer name in one call.

Single-CUSIP lookup — the per-row variant of POST /api/v1/cusip/batch. Resolves a 9-character CUSIP to its current ticker, issuer name, CIK, CUSIP6 prefix, and security_group classification. Backed by FinRadar's cusip_security_catalog (~26K rows after the v3.11.0 expansion to 6 security groups). For stale or successor-replaced CUSIPs (SPAC mergers, reorgs, redomiciles) this returns the CURRENT ticker only — to walk the full historical chain use GET /api/v1/cusip/chain/{cusip}. For multi-CUSIP workflows always prefer the batch endpoint — single-CUSIP cost: 1 × 1,000 rows = 1,000 tokens vs batch cost: 5 for the same 1,000 rows. The OpenFIGI enrichment caveat applies: without OPENFIGI_API_KEY set ~24% of legacy CUSIPs return ticker: null (the catalog has the CUSIP but the ticker mapping failed); with the key set this drops to <2%.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
cusippathrequired9-character CUSIP. Whitespace and case are normalized server-side; 8-character CUSIPs (missing the trailing check digit) are zero-padded to 9. Returns 404 when the CUSIP is not in `cusip_security_catalog` — for stale or successor-replaced CUSIPs try `/cusip/chain/{cusip}` to chase corporate-action history. Real public-domain examples: `037833100` (Apple), `594918104` (Microsoft), `02079K305` (Alphabet Class A), `02079K107` (Alphabet Class C), `084670702` (Berkshire Class B).037833100

Response schema

FieldTypeNullableDescription
cusipstringnoEchoed 9-character CUSIP (post-normalization — leading whitespace stripped, padded to 9 chars if input was 8). Use for index-matching against the request input.
tickerstringyesResolved canonical ticker (hyphen form — `BRK-A` not `BRK.A`). Null when (a) the CUSIP exists in the catalog but has no associated ticker (debt securities, private placements, delisted issuers), or (b) the OpenFIGI enrichment fallback failed without a key (~24% of legacy CUSIPs without `OPENFIGI_API_KEY` set; with the key set this drops to <2%).
issuer_namestringyesIssuer name from the canonical catalog (typically all-caps EDGAR convention for SEC-registered issuers — `APPLE INC` not `Apple Inc.`; varies for international issuers). Null when the CUSIP is unmapped.
cikstringyes10-character zero-padded SEC CIK of the issuer (e.g. `0000320193` for Apple). Null when the issuer has no SEC registration (rare; foreign-private issuers without ADR programs). Pair with `/api/v1/sec/filings?cik=...` for filing history.
cusip6stringnoFirst 6 characters of the CUSIP — the ISSUER PREFIX. A single legal issuer can have multiple 9-char CUSIPs across share classes / debt issues, all sharing the same `cusip6`. Useful for grouping multi-class issuers (e.g. BRK-A `084670108` and BRK-B `084670702` both share `cusip6=084670`).
security_groupstringyesSecurity classification — one of `Stocks` (common equity), `ETFs`, `Preferred`, `Warrants`, `Debt` (bonds, notes), `Other` (REITs, partnership units). Null when the catalog entry exists but security_group is not yet enriched.

Sample response

·
  • "cusip": "037833100"
  • "ticker": "AAPL"
  • "issuer_name": "APPLE INC"
  • "cik": "0000320193"
  • "cusip6": "037833"
  • "security_group": "Stocks"
}

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/lookup/{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).