---
title: "Lookup by CUSIP"
method: GET
path: "/api/lookup/cusip"
tags: ["Symbol Lookup"]
---

# Lookup by CUSIP

`GET /api/lookup/cusip`

![Free](https://img.shields.io/badge/Free-22c55e) ![Starter](https://img.shields.io/badge/Starter-3b82f6) ![Stock](https://img.shields.io/badge/Stock-f97316) ![ETF](https://img.shields.io/badge/ETF-14b8a6) ![Pro](https://img.shields.io/badge/Pro-8b5cf6)

Returns enriched symbol profile for a given CUSIP identifier. Works for stocks, ETFs, and mutual funds.

## Query parameters

- `cusip` string, required

## Response `200`

Symbol profile for the given CUSIP

- SymbolProfile
  - `symbols` string[] — Tickers of the entity's currently active listings, primary first. Positionally aligned with `exchanges` (symbols[i] trades on exchanges[i]); not deduplicated, so a multi-class issuer lists every class.
  - `exchanges` string[] — Exchange for each ticker in `symbols`, in the same order. Not deduplicated.
  - `name` string — Company or fund name
  - `cik` integer — SEC Central Index Key
  - `seriesId` integer — Series ID (0 for stocks, non-zero for ETF/mutual fund series sharing a CIK)
  - `type` 'stock' | 'etf' | 'mf' | 'cef' | 'fund' — Security type
  - `sector` string, nullable — Business sector derived from SIC code
  - `industry` string, nullable — Industry classification derived from SIC code
  - `industryGroup` string, nullable — High-value industry group (Semiconductors, Software & SaaS, Pharma & Biotech, Aerospace & Defense, Automotive, Airlines, Oil & Gas, Fintech & Payments). Null if company is not in one of these groups.
  - `compositeFigi` string, nullable — Bloomberg Composite FIGI
  - `ein` integer, nullable — Employer Identification Number
  - `formerNames` string[] — Historical company names
  - `status` 'operating' | 'delisted' — Operating status. `delisted` ONLY when the entity has no active listing left on ANY exchange (it has gone fully dark and no longer trades anywhere we track, including OTC). A company that left a major exchange but still trades over-the-counter reads `operating`; see `priorTickers` for the listings it has left behind.
  - `priorTickers` object[] — Listings the entity no longer trades on (delisted), e.g. a Nasdaq listing left behind after a move to OTC. The currently active listings are in `symbols`/`exchanges`. Empty for entities that never left a listing.
    - `symbol` string — The former ticker on this venue
    - `exchange` string — The exchange the entity has since left
    - `lastSeen` string, date, nullable — The most recent date (ISO 8601) this former ticker was confirmed active — its last-seen date, i.e. roughly when the entity stopped trading under it. For a clean ticker rename (no SEC Form 25/15 removal filing) this approximates the switchover and may be a recent period-end rather than the exact change date. Null when unknown.

## Other responses

- `400` — Invalid parameters or CUSIP not found
- `403` — Feature not available on current plan

---

[API](https://skmtc.net/stockfit/apis/stockfit-api.md) · [All operations](https://skmtc.net/stockfit/apis/stockfit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stockfit/stockfit-api/revisions/3d5897270d8a/schema)
