LEI Lookup: Bulk LEI Search, Company Matching & Parents
Pricing
from $2.50 / 1,000 lei records
LEI Lookup: Bulk LEI Search, Company Matching & Parents
Bulk LEI lookup and company-name-to-LEI matching with match scores, plus direct and ultimate parent companies in the same row. Free public Global LEI data (CC0), no API key.
Pricing
from $2.50 / 1,000 lei records
Rating
0.0
(0)
Developer
Scott P
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
LEI Lookup: bulk LEI search, company name matching & parent companies
Look up Legal Entity Identifiers (LEIs) in bulk, match company names to LEIs even when they're misspelled, and get each entity's direct and ultimate parent company in the same flat row. The data comes from the public Global LEI Index through the free GLEIF API (no API key, no login), released under CC0 1.0.
Built for KYC/AML onboarding, counterparty and vendor master-data cleanup, regulatory reporting (EMIR, MiFID II, SFTR), and corporate-ownership research.
Why this Actor
- Real bulk lookup: 200 LEIs per API request, so 10,000 LEIs take about 50 requests instead of 10,000. Unknown or invalid LEIs (bad ISO 17442 checksum) come back as free rows flagged
found: false, so you can see exactly which of your codes failed. - Company name to LEI matching: each candidate gets a 0-100
matchScore. Legal forms are normalised (AG = Aktiengesellschaft, Ltd = Limited, Inc = Incorporated ...), and fuzzy matching catches typos ("siemens mobilty" still finds Siemens Mobility). SetmaxMatchesPerName: 1for best-match-only entity resolution. - Parent chain in the same row: direct parent and ultimate parent LEI, name and country. When no parent is reported, you get the declared reason instead (e.g.
NATURAL_PERSONS,NON_CONSOLIDATING,NO_KNOWN_PERSON). There is no per-record parent request, because parent names are fetched in bulk. - Browse mode: list LEIs by country, entity status and LEI registration status (e.g. all LAPSED LEIs in Luxembourg, for renewal outreach or data-quality checks).
Input
| Field | Description |
|---|---|
leis | List of LEI codes for bulk lookup. |
companyNames | Company names to match to LEIs. |
fuzzyMatch | Also use fuzzy completions for misspelled names (default on). |
maxMatchesPerName | Candidates returned per name (default 3; 1 = best match only). |
minMatchScore | Drop candidates below this score (default 60). |
countries | 2-letter ISO codes of the legal address (name matching & browse). |
entityStatus | ANY / ACTIVE / INACTIVE. |
registrationStatuses | e.g. ISSUED, LAPSED, RETIRED. |
includeParents | Add direct/ultimate parent columns (default on). |
maxResults | Maximum number of records returned. |
Examples:
{ "leis": ["529900T8BM49AURSDO55", "5493001KJTIIGC8Y1R12"] }
{ "companyNames": ["Deutsche Bank AG", "siemens mobilty"], "maxMatchesPerName": 1, "entityStatus": "ACTIVE" }
{ "countries": ["LU"], "registrationStatuses": ["LAPSED"], "maxResults": 500 }
Output (one flat row per LEI record)
inputType, inputQuery, found, matchScore, matchRank, lei, legalName, otherNames, entityStatus, registrationStatus, entityCategory, legalFormCode (ISO 20275 ELF), jurisdiction, registeredAs (business-register number), registrationAuthorityId, legal and headquarters address (line, city, region, postal code, country), entityCreationDate, leiInitialRegistrationDate, leiLastUpdateDate, leiNextRenewalDate, corroborationLevel, bic, openCorporatesId, successorLei, directParentLei, directParentName, directParentCountry, directParentStatus, directParentExceptionReason, ultimateParent… (same fields), hasSubsidiaries, gleifRecordUrl, source.
{"inputType": "name","inputQuery": "siemens mobilty","matchScore": 97,"lei": "529900R6QFNA89TXEZ72","legalName": "Siemens Mobility","legalAddressCountry": "BE","entityStatus": "ACTIVE","registrationStatus": "ISSUED","directParentName": "Siemens Aktiengesellschaft","directParentCountry": "DE","ultimateParentName": "Siemens Aktiengesellschaft"}
Pricing
Pay per result: $0.0025 per LEI record returned, plus a small flat start fee per run. Invalid and not-found lookups are free. Set Maximum cost per run and the Actor stops cleanly at your limit.
Rate limits
The GLEIF API is free and needs no registration. This Actor stays at about 0.9 requests per second (below the commonly documented 60 requests/minute) and backs off automatically on HTTP 429/5xx. Name matching uses 2-5 requests per name; bulk LEI lookup uses about 2 requests per 200 LEIs.
Notes
matchScoreis a heuristic string similarity, not a guarantee of identity. For compliance decisions, confirm the LEI, legal name, jurisdiction and registry number.- LEI records describe legal entities. Some entities (e.g. sole traders) carry a person's name, as published in the public Global LEI Index. For records with category
SOLE_PROPRIETOR, this Actor withholds street address, postal code and city. - Parent data reflects what entities reported as accounting-consolidation parents (LEI "Level 2" data).
Data source, licence and disclaimer
LEI data: Global LEI Index, accessed through the GLEIF API (https://api.gleif.org), available free of charge under the CC0 1.0 licence (see GLEIF's LEI Data Terms of Use: https://www.gleif.org/en/meta/lei-data-terms-of-use). This Actor is an independent tool. It is not provided, endorsed, or authorised by, or otherwise associated with, GLEIF or any LEI issuer (LOU). It does not use GLEIF trademarks or logos. Match scores, normalisation and flattening are this Actor's own processing, not GLEIF data. Data is provided as is; see GLEIF's terms for the disclaimer.
Changelog
- 0.1: first version (bulk lookup, name matching with scores, parent chain, browse mode).