Market Data

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.

Updated July 2, 20268 min read
CUSIP vs ISIN vs FIGI vs Ticker: Which ID to Use
Run the 13F query

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.

First call
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.

Restrained editorial illustration of an analyst workstation with unreadable chart shapes: image for

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.

Restrained editorial illustration of an analyst workstation with unreadable chart shapes, alternate view: image for

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.

#CUSIP#ISIN#FIGI#ticker#security identifiers#entity resolution#13F