Alternatives

How do I look up an ISIN for free?

Three free routes: validate any ISIN's structure and check digit in the browser, search a fund by name to get its ISIN, and resolve a fund ISIN to its name and factsheet on the Free plan. What each covers.Updated 12 September 2026 · by FundFacts API

Short answer

Validate an ISIN for free with the browser-based ISIN validator (format and Luhn check digit, no account). Find a fund's ISIN by name with GET https://fundfactsapi.com/api/v1/search?q=, which is free and unlimited with any key. Resolve a fund ISIN to its name and full factsheet with the Free plan's 15 lookups a month, or the keyless demo endpoint for funds already loaded. For stocks and bonds the ISIN is public on the issuer's and exchange's pages; the fund API only knows funds.

1. Validate

The ISIN validator checks the twelve-character structure (two-letter country code, nine-character NSIN, check digit) and computes the missing check digit. It runs in the browser with no account. The algorithm is Luhn over the digit expansion and is documented on the page.

2. Name → ISIN

bash
curl -s "https://fundfactsapi.com/api/v1/search?q=vanguard%20all-world" -H "Authorization: Bearer $FUNDFACTS_API_KEY" | jq '.results[] | {isin, name, currency, income}'

Search is free and not counted; it lists every loaded share class with currency and distribution policy. A Free key takes a minute to get.

3. ISIN → fund

GET https://fundfactsapi.com/api/v1/funds/{isin} returns the name and the full factsheet (15 lookups a month free). Without a key, GET https://fundfactsapi.com/api/v1/demo/funds/{isin} returns funds that are already in the store, 30 calls a minute per IP.

bash
curl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, structure: .data.structure, currency: .data.keyFacts.currency}'

What this does not cover

Stocks, bonds and structured products: the fund API returns 404 fund_not_found for them. Their ISINs are printed on the exchange's instrument page and in the issuer's documents. ISIN vs ticker vs SEDOL vs WKN vs CUSIP explains how the identifiers relate.

Verify it yourself

The demo endpoint returns the live payload for a fund that is already in the store, without a key. Everything on this page can be checked against it.
bash
curl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, asOf: .data.dataAsOf, ter: .data.headlineMetrics.ter, risk: .data.riskRating, top: .data.topHoldings[:3]}'

Terms used on this page

Frequently asked questions

Is there a bulk ISIN validation endpoint?

Validation is a local calculation; the SDKs include it and the validator page shows the code. Send only valid ISINs to the API: invalid ones return 400 and cost nothing, but they waste a round trip.

Try it on your own ISINs

One request returns key facts, holdings, risk and performance as JSON. Free plan, no card.