ISIN, LEI, CIK, FIGI & Ticker Resolver API (crosswalk)
Pricing
from $2.00 / 1,000 identifier resolveds
ISIN, LEI, CIK, FIGI & Ticker Resolver API (crosswalk)
Issuer legal name, LEI, CIK, tickers, ISINs, FIGIs, CFI code and EU trading venues for one ISIN, LEI, CIK, ticker, FIGI or company name. Check digits validated first; a source URL per value. Data from GLEIF, OpenFIGI, SEC and ESMA FIRDS.
Pricing
from $2.00 / 1,000 identifier resolveds
Rating
0.0
(0)
Developer
Bosco Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Security
Limited permissionsShare
One identifier in, the whole crosswalk out: give an ISIN, LEI, SEC CIK, ticker, FIGI or company name and get the issuer's legal name, LEI, CIK, tickers per exchange, ISINs, FIGIs, CFI code and the EU trading venues, each value with its source URL. Built for AI agents and people who join datasets keyed by different identifiers (KYC, portfolio data, filings research).
Pricing (pay per event): $0.002 per resolved identifier (resolve). A malformed identifier
(wrong ISIN/LEI/FIGI check digit), an identifier nobody knows, or a failed source costs nothing.
What you get
One JSON row per call. Real output for {"identifier": "NL0010273215"} (ASML), run on
2026-11-06 (48 venues and 12 tickers shortened):
{"schema_version": "1","query": "NL0010273215","query_type": "isin","exchange_filter": null,"issuer_name": "ASML Holding N.V.","issuer_name_latin": null,"lei": "724500Y6DUVHQD6OXN27","lei_status": "ISSUED","issuer_country": "NL","issuer_jurisdiction": "NL","cik": "937966","tickers": [{ "ticker": "ASML", "exchange": "Nasdaq", "source": "SEC", "composite_figi": null },{ "ticker": "ASMLF", "exchange": "OTC", "source": "SEC", "composite_figi": null },{ "ticker": "ASML", "exchange": "NA", "source": "OpenFIGI", "composite_figi": "BBG000C1HSN8" },{ "ticker": "ASME", "exchange": "GR", "source": "OpenFIGI", "composite_figi": "BBG000H4D9Z0" },{ "ticker": "ASMLF", "exchange": "US", "source": "OpenFIGI", "composite_figi": "BBG000MW4W72" }],"isin": "NL0010273215","issuer_isins": ["NL0010273215", "USN070592100"],"issuer_isin_count": 2,"composite_figi": "BBG000C1HSN8","share_class_figi": "BBG001S7Q066","security_type": "Common Stock","instrument_name": "ASML HOLDING","cfi_code": "ESVUFN","currency": "EUR","eu_trading_venues": [{ "mic": "AQEA", "trading_start": "2020-11-12" },{ "mic": "XAMS", "trading_start": "2012-11-26" },{ "mic": "XETB", "trading_start": "2012-11-27" }],"eu_venue_count": 48,"eu_venues_terminated_count": 37,"match_confidence": 1.0,"match_note": "linked by identifiers only","alternatives": [],"sources": {"cik": "https://www.sec.gov/files/company_tickers_exchange.json","figi": "https://www.openfigi.com/id/BBG000C1HSN8","instrument": "https://registers.esma.europa.eu/solr/esma_registers_firds/select?q=isin%3ANL0010273215&fq=latest_received_flag%3A1&rows=500&fl=isin%2Cmic%2Clei%2Cgnr_full_name%2Cgnr_cfi_code%2Cgnr_notional_curr_code%2Cmrkt_trdng_start_date%2Cmrkt_trdng_trmination_date%2Cstatus_label&wt=json","issuer_isins": "https://api.gleif.org/api/v1/lei-records/724500Y6DUVHQD6OXN27/isins?page%5Bsize%5D=20","issuer_name": "https://api.gleif.org/api/v1/lei-records?filter%5Bisin%5D=NL0010273215","lei": "https://api.gleif.org/api/v1/lei-records?filter%5Bisin%5D=NL0010273215","tickers": "https://data.sec.gov/submissions/CIK0000937966.json"},"source_url": "https://api.gleif.org/api/v1/lei-records?filter%5Bisin%5D=NL0010273215","provided_by": "Bosco Labs (boscolabs.dev)","notices": ["LEI data: GLEIF, CC0. No endorsement by GLEIF is implied.","FIGIs: OpenFIGI (public domain); security descriptions as is.","Instrument data (cfi_code, instrument_name, currency, eu_trading_venues) come from ESMA's FIRDS register and may be obtained free of charge through the ESMA website: https://registers.esma.europa.eu/publication/searchRegister?core=esma_registers_firds. ESMA does not endorse this service."],"warnings": [],"retrieved_at": "2026-11-06T08:39:04+00:00","duration_seconds": 0.67}
- lei, issuer_name, issuer_country: from GLEIF. cik only when the issuer files with the SEC. issuer_isins: up to 20 ISINs GLEIF maps to the LEI (shares and bonds), with the total.
- isin: the ISIN you gave, or else the issuer's main share ISIN (its equity shares on the most EU venues in ESMA FIRDS).
- tickers: the SEC's tickers (exchange = Nasdaq, NYSE, OTC) plus up to 10 OpenFIGI listings (exchange = Bloomberg composite code: US, NA, GR, LN...), the home or US listing first.
- composite_figi / share_class_figi: the home-market (or US) composite FIGI and the global share-class FIGI. cfi_code, currency, eu_trading_venues: from FIRDS, current venues only.
- match_confidence / match_note: 1.0 when every link is by identifier. When a link had to be made by name (e.g. LEI to CIK by exact legal name and state of incorporation), the note says so and the confidence drops (0.9 exact name and jurisdiction, 0.6 ambiguous name).
- sources: a URL per value; warnings: a source that failed or was rate-limited.
Input
{ "identifier": "US0378331005" }
| Field | Meaning |
|---|---|
identifier | One of: ISIN US0378331005, LEI HWUPKR0MPOU8FGXBT394, CIK 320193, ticker AAPL / BRK.B, FIGI BBG000B9XRY4, or a name Siemens AG |
idType | auto (default), isin, lei, cik, ticker, figi, name |
exchange | For non-US tickers: Bloomberg code (LN, GR, NA, FP, JT) or MIC (XLON). Empty = US ticker. With an exchange, digits are a ticker (7974 + JT = Nintendo), not a CIK |
ISIN, LEI and FIGI check digits are verified before any lookup. US0378331006 fails at once
with "the last digit must be 5, not 6", at no charge.
Use from an AI agent (MCP)
Agents can call this Actor as a tool through the Apify MCP server. Add this server URL to your MCP client (Claude, Cursor, VS Code, ...):
https://mcp.apify.com?tools=bosco_labs/identifier-resolver
It loads this Actor as a tool, plus the tools that read its results. The hosted server signs you
in with OAuth, or accepts your Apify token as Authorization: Bearer <APIFY_TOKEN>.
Example prompt: "What is the LEI, CIK and home-market FIGI of ISIN NL0010273215, and on how many EU venues does it trade? Cite the sources." The agent passes:
{ "identifier": "NL0010273215" }
Output for agents: one small row (typically 3-8 KB), stable snake_case fields, null for
unknown, a source URL per value. A resolve takes about 0.5-3 seconds (measured 0.3-1.7 s for
ISINs, LEIs and CIKs; up to 6 s for names). Cost: $0.002 per resolved identifier, billed to
the Apify account the MCP server is signed in with.
FAQ
Where does the data come from? Four official or openly licensed sources, called live: GLEIF (LEI records and the ISIN-to-LEI map), OpenFIGI (FIGIs and listings), the SEC (CIKs and US tickers) and ESMA's FIRDS register (CFI code, instrument name, EU trading venues).
Can I reuse the output? The sources allow it, with these terms, quoted:
- GLEIF: "The data available through the Access Service are provided under the CC0 licence". You must not create the impression that the data or this service are "provided or supported or authorized" by GLEIF. GLEIF calls its ISIN-to-LEI files "open source" and names no separate licence for them; this Actor reads them through the same API.
- OpenFIGI: Bloomberg "hereby dedicates FIGI Identifiers to the public domain", including "redistribution of the FIGI Identifiers to your customers". Names, tickers and exchange codes come with OpenFIGI's "as is" disclaimer.
- SEC: "Information presented on sec.gov is considered public information and may be copied or further distributed".
- ESMA: reproduction is "authorised ... provided the source is acknowledged", and where it is sold "the publisher must inform buyers that it may be obtained free of charge through ESMA website". So: the FIRDS fields in this output are available free of charge from ESMA at https://registers.esma.europa.eu/publication/searchRegister?core=esma_registers_firds. You pay for the join, the validation and the speed, not for ESMA's data. ESMA does not endorse this service.
What is not covered? CUSIP and SEDOL (licensed identifiers; not used or returned). FIRDS covers only instruments admitted to or traded on EU/EEA venues, so a US-only small cap has no CFI code or venues. CIKs exist only for SEC registrants. FIRDS is searched by ISIN, LEI and share name only (one query each, no bulk download); derivatives with thousands of venue records are cut at 500 records.
How good is name matching? Best with the full legal name ("Siemens AG", "Toyota Motor
Corporation"). A name is matched to an exact SEC company name, else to the issuer whose shares
carry that name on the most EU venues, else to an exact GLEIF name. match_confidence,
match_note and alternatives say how sure the match is; for certainty pass an ISIN or LEI.
What if OpenFIGI is busy? OpenFIGI allows 25 mapping requests a minute per caller. Answers
are cached for 6 hours. When the limit is hit, the row still comes back with the GLEIF, SEC
and FIRDS fields, FIGI fields null and a warning saying when to retry. A FIGI or a non-US
ticker can only be resolved through OpenFIGI, so those fail (no charge) while it is limited.
How fresh is it? Live on every call: GLEIF updates daily, FIRDS publishes daily, the SEC ticker list is cached for at most 6 hours per run.
Personal data? None. GLEIF records of sole proprietors (natural persons) are never used for name matches.
Is this investment advice? No. It returns identifiers and reference data as the sources publish them.