CUSIP vs ISIN vs FIGI vs Ticker: Which ID to Use
Every security carries at least four names. Here is how CUSIP, ISIN, FIGI, and tickers differ in scope, stability, and licensing, and when each breaks.

Pull the same ownership spine through API or MCP
Use this article as the explainer, then ask your agent for live holdings, changes, and filing proof. Arkolith returns sourced rows with filer, quarter, accession, and provenance fields intact.
curl -H "Authorization: Bearer $ARKOLITH_KEY" \
"https://arkolith.com/api/v1/funds/1067983/holdings"Agent prompt
Use Arkolith to show Berkshire Hathaway holdings, identify the biggest quarter-over-quarter changes, and cite each source filing.
The short version
CUSIP, ISIN, FIGI, and tickers all name the same security, but at different scopes and under different rules. CUSIP is the 9-character North American registry code that SEC filings actually use. ISIN wraps a national identifier into a 12-character global code. FIGI is an open 12-character standard with venue-level granularity and no licensing fees. A ticker is a human-friendly exchange symbol that can change or be recycled. In a data pipeline, store what your source gives you, map through an open identifier, and treat tickers as display labels.
Why one security carries four names
Each identifier was built for a different job, and the seams show. CUSIP dates to the era of paper certificates and was designed for clearing and settlement in US markets. ISIN came later as the ISO answer to cross-border settlement: every country keeps its national numbering scheme, and ISIN wraps it in a uniform envelope. FIGI is the newest of the four, designed for data engineering rather than settlement: a free, never-recycled identifier with explicit granularity levels. The ticker predates all of them, and it was never meant to be an identifier at all. It is a trading mnemonic for humans.
The reason this matters in practice: regulatory data speaks CUSIP. Every 13F filing identifies its positions by CUSIP and issuer name, not ticker (the SEC's own 13F FAQ covers the form's mechanics). These filings arrive 45 days after quarter end from managers above the $100 million threshold, and in Arkolith's Q1 2026 dataset that adds up to 1.87 million long positions across 1,824 institutional filers, $53.7 trillion in reported value, all keyed on a 9-character code that most end users have never typed. If you want to answer "which funds own Nvidia," you are doing identifier resolution whether you planned to or not. How to read a 13F filing walks through the raw format.

The comparison in one table
| Identifier | Format | Scope | Granularity | Changes over time? | Licensing | Where it breaks |
|---|---|---|---|---|---|---|
| CUSIP | 9 alphanumeric | US and Canada | Issue (share class, specific bond) | Can change on corporate actions | Commercial; fees for bulk use and redistribution | No coverage outside North America; licensing friction |
| ISIN | 12 (country + national ID + check) | Global | Issue, shared across all venues | Changes when the embedded national ID changes | Inherits the national ID's terms (CUSIP for US names) | Cannot distinguish listings, venues, or currencies |
| FIGI | 12 alphanumeric | Global | Venue level, country composite, and share class | Never reused once assigned | Open standard, free | Absent from regulatory filings; thinner mapping on obscure names |
| Ticker | 1 to 5+ characters | One exchange | Listing | Changes on rebrands; recycled after delistings | Free | Ambiguous across venues and across time |
Two notes on reading this. First, granularity is where the four genuinely differ rather than merely overlap. A ticker names a listing on one venue. A CUSIP or ISIN names an issue (a share class or a specific bond) regardless of where it trades. FIGI does both: it defines an exchange-level identifier, a country-level composite, and a share-class identifier above those, so you can pick the altitude that matches your question. Second, stability is about whether the code survives corporate events. FIGIs are never reused once assigned. CUSIPs can change after some corporate actions. Tickers change for something as small as a rebrand, and exchanges recycle them after delistings, which quietly poisons any historical analysis keyed on symbol alone.
CUSIP and ISIN: the licensed lineage
A CUSIP is 9 characters: 6 for the issuer, 2 for the issue, 1 check digit. It is issued by a commercial registry operating under the American Bankers Association and covers US and Canadian securities. Two practical consequences follow. Coverage: securities outside North America simply do not have one, since other countries run their own national schemes. Licensing: bulk use and redistribution of CUSIPs is fee-based, and the terms have drawn industry complaints and litigation over the years. If you are building a product on top of filings data, this is a real line item to understand, not a footnote.
An ISIN is 12 characters: a 2-letter country code, a 9-character national identifier, and a check digit. For US securities the national identifier is the CUSIP, so a US ISIN is essentially "US" plus the CUSIP plus a check digit. That has an underappreciated consequence: the licensing entanglements of the embedded CUSIP travel with the ISIN. ISIN's real value is scope (it is the closest thing to a universal issue-level key), but it deliberately does not distinguish listings. One ISIN covers the same share class on every exchange where it trades, in every currency. Ask "what did it close at" against an ISIN and the honest answer is "on which venue?"
When do they break? CUSIPs break at the border and at corporate actions. ISINs break the moment you need venue-level precision. Both break in dirty source data: filer-typed CUSIPs in 13Fs occasionally contain errors, which is one of several reasons 13F data needs more cleaning than people expect. The SEC's investor glossary has a short CUSIP primer, and for the full structural breakdown see what is a CUSIP.
FIGI and tickers: open standard versus display label
FIGI (Financial Instrument Global Identifier) is a 12-character open standard adopted by the Object Management Group. Three properties make it the engineer's favorite. It is free: the specification and the identifiers carry no licensing fees, and the OpenFIGI lookup service maps tickers, CUSIPs, and ISINs to FIGIs at no cost. It is never recycled: once a FIGI is assigned it stays assigned, even if the instrument dies or the ticker moves on. And it is explicitly hierarchical: an exchange-level FIGI for each listing, a composite FIGI per country, and a share-class FIGI above those, so the identifier itself encodes the granularity. Its weakness is adoption. No regulator requires it, so it never appears in the filings themselves, and mapping coverage thins out on obscure or long-dead instruments.
Tickers are the opposite of all that. They are venue-scoped, mutable, and recycled. The same symbol can mean different companies on different exchanges, and a symbol freed by a delisting will eventually be reassigned. There is a well-known episode from the 2020 work-from-home rally in which buyers piled into a tiny company whose ticker resembled a far larger video-conferencing stock, and the confusion got bad enough that regulators halted the smaller name. None of this makes tickers useless: a page like NVDA's ownership view should obviously be keyed by ticker for humans. It makes them unfit as a primary key. Treat the ticker as the label you render last, not the join key you store first.
Resolution in practice: what an agent pipeline should do
The pipeline that falls out of all this is short. Ingest on the source's identifier (for SEC ownership data, that is CUSIP). Resolve through an open identifier so the mapping layer is not itself a licensing problem. Render tickers and company names only at the edge, for humans. And keep provenance: every resolved row should still point back to the accession number of the filing it came from, because an identifier mapping you cannot audit is just another place for an AI agent to hallucinate. That failure mode, an agent inventing a CUSIP-to-ticker mapping from its training data, is exactly the class of error that grounding is meant to kill; see stopping AI from hallucinating market data.
This is the shape Arkolith exposes. The agent never guesses a mapping. It searches first, gets back resolved entities, then pulls holdings:
curl -H "Authorization: Bearer YOUR_KEY" \
"https://arkolith.com/api/v1/search?q=nvidia"
Then it fetches a filer's holdings, with both the filing-native CUSIP and the resolved ticker in the response, sourced to the underlying filing:
curl -H "Authorization: Bearer YOUR_KEY" \
"https://arkolith.com/api/v1/funds/1067983/holdings"
The same tools are available over MCP if your agent speaks it natively (start with the quickstart; the full surface is in the docs). To see the resolved output at human scale, the investor leaderboard is the rendered end of the same pipeline: CUSIPs in, tickers and names out, every number traceable back to a filing.

Frequently asked questions about CUSIP vs ISIN vs FIGI vs ticker
Is FIGI a replacement for CUSIP?
Not in practice. FIGI is the better engineering identifier (free, never reused, explicit granularity), but regulatory filings like 13F still speak CUSIP, so any pipeline over SEC data has to handle CUSIPs at ingest. The realistic architecture uses both: CUSIP at the source boundary, FIGI or your own entity keys internally.
Can I derive an ISIN from a CUSIP?
For US securities, mechanically yes: prepend "US", compute the check digit over the resulting 11 characters, and append it. Be careful with the implication, though. The embedded CUSIP keeps its licensing baggage inside the ISIN, and the derivation only works where the national identifier actually is a CUSIP.
Why do tickers change or get reused?
Tickers belong to exchanges, not companies, and they exist for human convenience. Rebrands, mergers, and relistings all trigger ticker changes, and exchanges reassign symbols freed by delistings. That is why historical analysis keyed on ticker silently mixes different companies unless you resolve through a stable identifier first.
Which identifier should an AI agent store?
Store the identifier the source uses (CUSIP for SEC ownership filings) plus the provenance of the document it came from, and resolve to tickers at display time. An agent that stores only tickers cannot audit its own answers, and an agent that invents mappings from memory will eventually be confidently wrong.
This article explains public filings and data concepts. It is not investment advice.
Keep reading

Critical Third Parties: UK Cloud Rule Explained
A Critical Third Party is a provider whose service failure could threaten UK financial stability. The first UK designations are four cloud providers.

13F Holdings API: Query Funds, Stocks, Quarters
A 13F holdings API turns SEC institutional ownership filings into resolved fund, stock, quarter, and point-in-time queries with filing provenance.

How to Read SEC Filings: A Beginner's Map
SEC filings split into company reports and ownership disclosures. Learn which form answers which question, and where the who-owns-what data actually lives.