LEI Scraper — GLEIF Legal Entity & Company Registry Data
Pricing
from $2.25 / 1,000 results
LEI Scraper — GLEIF Legal Entity & Company Registry Data
Bulk-extract the global Legal Entity Identifier registry: 3.4 million legal entities with legal name, legal and headquarters address, jurisdiction, legal form, national registration number, LEI status, renewal dates and ownership links. KYC and counterparty data. No API key.
Pricing
from $2.25 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
582
Total users
33
Monthly active users
3 days ago
Last modified
Categories
Share
The closest thing to a single global company register: 3.4 million legal entities with legal name, both addresses, jurisdiction, legal form, national registration number, LEI status and ownership links.
What does the LEI Scraper do?
This Actor extracts the Legal Entity Identifier (LEI) registry published by GLEIF, the Global Legal Entity Identifier Foundation. The LEI is the ISO 17442 code that every entity trading in financial markets is required to hold, which makes this registry unusually complete: 3.4 million entities across every jurisdiction, each validated against its own national company register and re-checked annually.
What makes the dataset joinable is the registeredAs field — the registration number the entity holds at its local companies registry. That is the key that lets you match an LEI record to a Companies House number, a German HRB number, a Turkish MERSIS number or a US state filing ID, and so merge global counterparty data into whatever you already hold.
One property of the API shapes how this Actor works. Page-based pagination stops dead at 10,000 results per query, so a country with more than that cannot simply be paged through — asking for page 51 returns an error rather than data. This Actor therefore treats a bulk run as a query tree: it counts each filter combination first, and any slice over the ceiling is split again by LEI status, then entity category, then entity status, then registration year and month, until every leaf fits. That is what lets one run collect the 358,000 US entities the ceiling would otherwise hide.
Who is it for?
- KYC, AML and compliance teams building or refreshing a counterparty master file.
- Fintechs and banks that must map trading counterparties to LEIs under EMIR, MiFID II or Dodd-Frank.
- Data and RegTech vendors seeding an entity-resolution graph with validated, cross-referenced identities.
- Sales and market intelligence teams who need a clean, global list of registered companies by country and legal form.
- Researchers and journalists tracing corporate ownership structures across borders.
Use cases
- Pull every active legal entity in a country and join it to your CRM on the national registration number.
- Track lapsed LEIs — an entity that stopped renewing is a counterparty-risk signal worth alerting on.
- Map a corporate group: give a parent LEI and collect every subsidiary it owns, or every entity that owns it.
- Build an entity-resolution reference set with legal name, trade names, both addresses and the S&P company ID.
- Monitor newly issued LEIs each month as an early signal of new market entrants.
- Feed an AI agent a live company reference set so it can answer counterparty and ownership questions.
Why use this LEI Scraper?
- The 10,000-result ceiling handled automatically — the Actor slices a country into sub-queries so bulk runs actually reach the whole population.
- National registration number on 86% of rows, which is what makes the data joinable to local registries.
- Legal form resolved to a readable name, not just an ELF code:
V44Dbecomesstichting,R5UTbecomeslimited şirket. - Ownership in both directions — subsidiaries of a LEI, and the entities that own it.
- Both addresses kept separate, with a flag for the 14% of entities whose headquarters differ from their legal address.
- Keyless and open — GLEIF publishes this data for public reuse; no API key, no login, no rate-limit token.
What data can you extract?
One row per legal entity. Anything the source left blank comes back as null.
| Field | Type | Description |
|---|---|---|
lei | string | 20-character ISO 17442 Legal Entity Identifier |
legalName | string | Registered legal name |
otherNames | string | Trade names and previous names, pipe-separated |
entityCategory | string | GENERAL, FUND, BRANCH, SOLE_PROPRIETOR and so on |
entityStatus | string | ACTIVE or INACTIVE at the national registry |
legalFormCode | string | ELF legal-form code, e.g. V44D |
legalFormName | string | Legal form resolved to a readable name |
jurisdiction | string | Jurisdiction the entity is registered in |
registeredAs | string | Registration number at the entity's own national registry — the join key to local company data |
registeredAtId | string | GLEIF code of the registration authority, e.g. RA000463 |
legalAddress | string | Legal address street line |
legalCity | string | Legal address city |
legalRegion | string | Legal address region or state |
legalCountry | string | Legal address country (ISO alpha-2) |
legalPostalCode | string | Legal address postcode |
hqAddress | string | Headquarters street line |
hqCity | string | Headquarters city |
hqRegion | string | Headquarters region |
hqCountry | string | Headquarters country |
hqPostalCode | string | Headquarters postcode |
hqDiffersFromLegal | boolean | True where the headquarters is not the legal address |
registrationStatus | string | LEI status: ISSUED, LAPSED, RETIRED, ANNULLED, DUPLICATE |
initialRegistrationDate | string | When the LEI was first issued |
lastUpdateDate | string | When the record was last updated |
nextRenewalDate | string | When the LEI must next be renewed |
isLapsed | boolean | True where the holder stopped renewing the LEI |
managingLou | string | LEI of the Local Operating Unit that maintains the record |
validationSources | string | How thoroughly the record was corroborated, e.g. FULLY_CORROBORATED |
validationAuthorityId | string | Authority the record was validated against |
creationDate | string | When the entity itself was created |
successorLei | string | LEI of the successor entity after a merger |
spglobal | string | S&P Global company identifiers, where mapped |
conformityFlag | string | Whether the record conforms to GLEIF data-quality rules |
relatedLei | string | In subsidiary and parent modes, the anchor LEI the row relates to |
url | string | Link to the record on GLEIF's own search site |
scrapedAt | string | When this row was collected |
Sample output
{"lei": "5493001IN9FTPIHPPO54","legalName": "WILKINSON SWORD GMBH","otherNames": "Halde Zweiunddreißigste Verwaltungsgesellschaft mbH","entityCategory": "GENERAL","entityStatus": "ACTIVE","legalFormCode": "2HBR","legalFormName": "Gesellschaft mit beschränkter Haftung","jurisdiction": "DE","registeredAs": "HRB 16753","registeredAtId": "RA000369","legalAddress": "SCHUTZENSTR. 110","legalCity": "SOLINGEN","legalRegion": "DE-NW","legalCountry": "DE","legalPostalCode": "42659","hqAddress": "SCHUTZENSTR. 110","hqCity": "SOLINGEN","hqRegion": "DE-NW","hqCountry": "DE","hqPostalCode": "42659","hqDiffersFromLegal": false,"registrationStatus": "ISSUED","initialRegistrationDate": "2012-12-18T16:18:00Z","lastUpdateDate": "2026-03-03T08:57:16Z","nextRenewalDate": "2027-03-31T16:35:29Z","isLapsed": false,"managingLou": "5493001KJTIIGC8Y1R12","validationSources": "FULLY_CORROBORATED","validationAuthorityId": "RA000369","creationDate": "2003-09-29T00:00:00Z","successorLei": null,"spglobal": "5552822","conformityFlag": "NON_CONFORMING","relatedLei": null,"url": "https://search.gleif.org/#/record/5493001IN9FTPIHPPO54","scrapedAt": "2026-08-16T09:39:45.488Z"}
How to use the LEI Scraper
Option A — a country in bulk
Keep registry mode, enter one or more ISO country codes (DE, US, GB, IN, IT, NL), optionally restrict to active entities with an issued LEI, and set a result limit. Slices over the API ceiling are split automatically, so a large country is collected in full rather than truncated at 10,000.
Option B — the whole registry
Enter ALL as the country to walk all 3.4 million records. Set the result limit to what you actually need; the run collects in slices and can be resumed by narrowing the filters.
Option C — enrich a list you already hold
Switch to lookup mode and paste your LEI codes. The Actor returns the full record for each, 200 per request — the fastest way to refresh a counterparty file.
Option D — map a corporate group
Subsidiary mode takes a parent LEI and returns every entity it owns; parent mode does the reverse. Each row records which anchor LEI it belongs to, so several groups can be mapped in one run.
Input parameters
| Input | Type | Description |
|---|---|---|
mode | string | Registry pulls entities in bulk by country. Search finds them by name. Lookup takes LEI codes. Subsidiaries returns what a LEI owns; Parents returns what owns it. Default: "registry". |
countries | string | Registry mode. ISO 3166-1 alpha-2 codes of the legal address, comma-separated, e.g. DE, US, GB, IN, IT, NL, FR. Enter ALL to walk the whole 3.4-million-record registry. Slices over the API's 10,000-result ceiling are split automatically. Default: "DE". |
entityStatus | string | Optional. ACTIVE excludes entities that have been dissolved or merged away. |
registrationStatus | string | Optional. ISSUED is a live, renewed LEI; LAPSED means the holder stopped renewing it, which is itself a risk signal. |
entityCategory | string | Optional. GENERAL is an ordinary company, FUND an investment fund, BRANCH a registered branch of a foreign entity. |
searchQuery | string | Search mode. Full-text search across entity names, e.g. deutsche bank or siemens. |
leiCodes | string | Lookup mode. One or more 20-character LEI codes, comma- or newline-separated. Use this to enrich a list you already hold. |
parentLeiCodes | string | Subsidiary and parent modes. One or more LEI codes, comma- or newline-separated. Each returned row records which anchor LEI it belongs to. |
maxResults | integer | Stop after this many records. Each request returns 200. Default: 5000. |
proxyConfiguration | object | Optional. The GLEIF API is public and open, so a proxy is not required; it is available if you want the requests routed. |
Tips for best results
- Filtering to
ISSUEDplusACTIVEgives the live population; leaving both open also brings back lapsed and dissolved entities, which is what you want for historical work. registeredAsis the field to join on. It is filled for about 86% of entities — the gaps are mostly funds and branches that have no separate national registration.isLapsedis a cheap risk flag: an entity that stopped paying to renew its LEI has usually stopped trading, or stopped caring.- Large countries are split by registration year automatically. If a run stops early, narrow it by category or status rather than raising the result limit.
hqDiffersFromLegalmarks the entities whose operations sit somewhere other than their registered seat — often the interesting ones.
Integrations
Connect this Actor to Make, Zapier, n8n, Slack, Google Sheets, GitHub, Airtable or any HTTP endpoint through Apify integrations. Every finished run can push its dataset straight into your warehouse, or fire a webhook so a downstream job starts the moment the data lands.
API usage
Run the Actor from your own code with the Apify API. Datasets can be exported as JSON, CSV, Excel, XML, RSS or HTML, and every run is available through the Apify API reference.
curl -X POST "https://api.apify.com/v2/acts/logiover~gleif-lei-company-registry-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"input": {"mode": "registry", "countries": "DE", "entityStatus": "ACTIVE", "registrationStatus": "ISSUED", "maxResults": 5000, "proxyConfiguration": {"useApifyProxy": false}}}'
Python, JavaScript, PHP and CLI clients are documented under Apify API clients.
Use with AI agents (MCP)
This Actor is callable from any MCP-compatible client — Claude, Cursor, VS Code or your own agent — through the Apify MCP server. An agent can call it to answer live questions about company identity, legal form, registration numbers and corporate ownership worldwide instead of guessing from stale training data.
FAQ
Do I need a GLEIF account or API key?
No. GLEIF publishes the LEI registry as open data for public reuse, and the Actor reads it with no key and no login.
What is an LEI?
A 20-character code defined by ISO 17442 that identifies a legal entity taking part in financial transactions. Regulators in the EU, US and UK require it for derivatives and securities reporting, which is why coverage is broad and kept current.
How many records can one run return?
3.4 million exist. A single API query stops at 10,000, but this Actor slices around that, so the practical limit is the result cap you set.
Why does the log show the run splitting into slices?
Because the API refuses to paginate past 10,000 results per query. Counting each filter combination and splitting the big ones is what makes a complete country pull possible instead of a truncated one.
What is registeredAs and why does it matter?
It is the entity's registration number at its own national companies registry — an HRB number in Germany, a company number at Companies House, a MERSIS number in Turkey. It is the key that lets you join this global dataset to local records.
Can I get ownership structures?
Yes. Subsidiary mode returns every entity a given LEI owns; parent mode returns the entities that own it. Note that GLEIF only holds relationships the entities themselves reported, so a group with no reported parent will come back empty.
Why is successorLei usually empty?
It is only filled where an entity was merged into another one. Run with entity status INACTIVE to concentrate on dissolved and merged entities, where it fills for roughly a third of rows.
How current is the data?
GLEIF updates the registry continuously and every LEI must be re-validated annually. lastUpdateDate and nextRenewalDate on each row tell you exactly how fresh that specific record is.
Can I export to CSV or Excel?
Yes. Every run's dataset exports as JSON, CSV, Excel, XML, RSS or HTML from the Storage tab, the API, or automatically through an integration.
How fresh is the data?
Every run reads the site live at that moment, so the data is as fresh as the site itself. Schedule the Actor hourly, daily or weekly to build a time series.
How often is the Actor updated?
It is monitored and fixed when the site changes its markup or its endpoints. Report anything that looks wrong through the Issues tab and it gets picked up.
Is it legal to scrape GLEIF?
This Actor collects only publicly available information — the same pages any visitor can open without logging in. It does not bypass a login, and it does not touch private or personal accounts. Public data collection is legal in most jurisdictions, but how you use the data is your responsibility: if any record contains personal data, GDPR and comparable laws still apply, and you need a lawful basis for processing it. When in doubt, take legal advice. See Apify's ethical web scraping guide.
Related scrapers
- UK Companies House Bulk Scraper — full UK company register.
- SEC EDGAR Form D Scraper — US private placement filings.
- OFAC Sanctions Scraper — US sanctions and watchlists.
- ICIJ Offshore Leaks Scraper — offshore entity records.
- France Company Registry Scraper — French SIREN/SIRET data.