LEI Lookup: Bulk LEI Search, Company Matching & Parents avatar

LEI Lookup: Bulk LEI Search, Company Matching & Parents

Pricing

from $2.50 / 1,000 lei records

Go to Apify Store
LEI Lookup: Bulk LEI Search, Company Matching & Parents

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

Scott P

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

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). Set maxMatchesPerName: 1 for 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

FieldDescription
leisList of LEI codes for bulk lookup.
companyNamesCompany names to match to LEIs.
fuzzyMatchAlso use fuzzy completions for misspelled names (default on).
maxMatchesPerNameCandidates returned per name (default 3; 1 = best match only).
minMatchScoreDrop candidates below this score (default 60).
countries2-letter ISO codes of the legal address (name matching & browse).
entityStatusANY / ACTIVE / INACTIVE.
registrationStatusese.g. ISSUED, LAPSED, RETIRED.
includeParentsAdd direct/ultimate parent columns (default on).
maxResultsMaximum 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

  • matchScore is 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).