/api/v1/cusip/cik/{cik}Look up company CUSIP mappings by CIK number.
Look up company CUSIP mappings by CIK number. Supports both short (e.g. 320193) and 10-digit zero-padded CIK formats.
Why use this
Common use case
Reverse direction of the issuer lookup — given an SEC CIK, return all registered CUSIPs and their ticker/security_group classifications. The natural bridge from filing-parser output (which emits CIK-keyed accession rows) into CUSIP-shaped 13F holdings queries. Multi-class issuers return all classes — Berkshire 0001067983 returns both BRK-A (084670108) and BRK-B (084670702); Alphabet 0001652044 returns GOOGL (02079K305) and GOOG (02079K107). For preferred / convertible / debt sibling securities use GET /api/v1/cusip/cusip6/{cusip6} which queries by issuer prefix instead. CIK normalization is permissive: both 0000320193 and 320193 resolve to the same canonical 10-char form via SQL ltrim(cik, '0') — the v3.14.2 ticker-shim equivalent for CIKs.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| cik | path | required | — | — | SEC CIK number. Both formats accepted: 10-character zero-padded (`0000320193`) and short unpadded (`320193`). Server-side normalization handles both via `func.ltrim(cik, '0')` matching. Returns 404 when no CUSIP is registered to the CIK (rare; typically foreign-private issuers without ADR programs, or pre-registration shell companies). | 0000320193 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| cik | string | no | Echoed CIK in 10-character zero-padded form regardless of input format. |
| issuer_name | string | no | Issuer legal name from the canonical catalog (all-caps EDGAR convention). |
| securities | array | no | Array of all CUSIPs registered to this CIK — one entry per security class (common stock, preferred, convertible, etc.). Multi-class issuers like BRK (2 classes) or AMZN-pre-split (1 class) return correspondingly-sized arrays. Order is by `security_group` priority then by ticker alphabetical (Stocks > Preferred > Warrants > Debt > Other) so common-equity classes appear first. |
| securities[].cusip | string | no | 9-character CUSIP for this security class. |
| securities[].ticker | string | yes | Canonical hyphen-form ticker. Null for unmapped tickers (debt securities, private placements). |
| securities[].security_group | string | yes | Security classification — `Stocks` / `ETFs` / `Preferred` / `Warrants` / `Debt` / `Other`. Useful for filtering to common-equity-only or all-equity-classes views. |
| securities[].cusip6 | string | no | 6-character CUSIP issuer prefix. All securities for one CIK typically share the same CUSIP6 (Berkshire's BRK-A and BRK-B both share `084670`), but corporate-action successors can have different CUSIP6 prefixes (RKLB has CUSIP6 history `G9442R` -> `773122` -> `773121`). |
Sample response
- "cik": "0001067983"
- "issuer_name": "BERKSHIRE HATHAWAY INC"
- "securities":
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/cusip/cik/{cik}?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).