LEI Records Scraper
Pricing
from $1.70 / 1,000 records
LEI Records Scraper
Scrape GLEIF Legal Entity Identifier records: legal name, address, registration status, entity category, and corporate ownership for 3.4M+ entities worldwide.
Pricing
from $1.70 / 1,000 records
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
LEI Records Scraper
LEI Records Scraper pulls Legal Entity Identifier (LEI) data straight from the GLEIF Global LEI Index — the official registry behind every ISO 17442 LEI code, covering 3.4M+ companies, funds, branches, and government entities worldwide.
| Pull LEI records in bulk by country, search by entity name, enrich a list of LEI codes you already hold, or map corporate ownership between parents and subsidiaries — with legal name, registered address, entity status, legal form, and 25+ other fields per record. |
Copy to your AI assistant
Use the Apify Actor "parsebird/lei-records-scraper" (LEI Records Scraper) via the ApifyClient. Example (Python): from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/lei-records-scraper").call(run_input={"mode": "registry", "countries": "DE", "maxResults": 5000}); items = client.dataset(run["defaultDatasetId"]).list_items().items. Inputs: mode (registry|search|lookup|subsidiaries|parents, default "registry"), countries (ISO alpha-2 codes or "ALL", default "DE"), entityStatus/registrationStatus/entityCategory (optional filters), searchQuery (search mode), leiCodes (lookup mode, comma/newline-separated), parentLeiCodes (subsidiaries/parents mode), maxResults (default 5000), proxyConfiguration (optional, GLEIF's API is public). Output: one row per LEI record with lei, legalName, otherNames, entityCategory, entityStatus, legalFormCode, legalFormName, jurisdiction, registeredAs, registeredAtId, legalAddress/legalCity/legalRegion/legalCountry/legalPostalCode, hqAddress/hqCity/hqRegion/hqCountry/hqPostalCode, hqDiffersFromLegal, registrationStatus, initialRegistrationDate, lastUpdateDate, nextRenewalDate, isLapsed, managingLou, validationSources, validationAuthorityId, creationDate, successorLei, spglobal, conformityFlag, relatedLei, url, scrapedAt. Full API reference: https://apify.com/parsebird/lei-records-scraper/api. Get a token at https://console.apify.com/account/integrations.
What does LEI Records Scraper do?
LEI Records Scraper is a GLEIF API scraper — it queries GLEIF's own LEI data endpoint directly, so results are always as current as the daily Golden Copy publish, with no scraping fragility. It supports five modes:
- 🌍 Registry — collect every LEI record for one or more countries, or the entire 3.4-million-record registry with
countries: "ALL" - 🔍 Search — full-text search across legal names and trade names, e.g. "siemens" or "deutsche bank"
- 📋 Lookup — paste a list of LEI codes and get the full record for each, 200 per request, to refresh a counterparty or KYC file
- 🌳 Subsidiaries — take a parent LEI and list every entity it directly owns
- 🔼 Parents — take a subsidiary LEI and return its direct parent
Records are collected using GLEIF's cursor-based pagination, so a large country query is collected in full and never silently truncated at the API's 10,000-result page ceiling. Every record also resolves the ELF legal-form code (e.g. 2HBR) to a readable legal-form name (e.g. "Gesellschaft mit beschränkter Haftung").
What data can you extract with the LEI Scraper?
| Field | Description |
|---|---|
lei | 20-character ISO 17442 Legal Entity Identifier |
legalName | Registered legal name |
otherNames | Trade names and previous names, pipe-separated |
entityCategory | GENERAL, FUND, BRANCH, SOLE_PROPRIETOR, and so on |
entityStatus | ACTIVE or INACTIVE at the national registry |
legalFormCode / legalFormName | ELF legal-form code and its resolved name |
jurisdiction | Jurisdiction the entity is registered in |
registeredAs / registeredAtId | Registration number and registry code — the join key to local company data |
legalAddress* / hqAddress* | Legal and headquarters address, with a hqDiffersFromLegal flag |
registrationStatus / isLapsed | LEI status: ISSUED, LAPSED, RETIRED, ANNULLED, DUPLICATE |
initialRegistrationDate / lastUpdateDate / nextRenewalDate | LEI lifecycle dates |
managingLou | LEI of the Local Operating Unit that maintains the record |
validationSources / validationAuthorityId | How thoroughly the record was corroborated |
successorLei | LEI of the successor entity after a merger |
spglobal | S&P Global company identifiers, where mapped |
relatedLei | In subsidiary/parent modes, the anchor LEI the row relates to |
See the full 30-field list in the Output tab.
How to use the LEI Scraper
Option A — a country in bulk. Keep mode: "registry", enter one or more ISO country codes (DE, US, GB, IN, IT, NL), optionally restrict to entityStatus: "ACTIVE" and registrationStatus: "ISSUED", and set maxResults. A large country is collected in full via cursor pagination rather than truncated at 10,000.
Option B — the whole registry. Enter ALL as the country to walk all 3.4 million records. Set maxResults to what you actually need; narrow the filters and run again to pick up more.
Option C — enrich a list you already hold. Switch to mode: "lookup" and paste your LEI codes into leiCodes. 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. mode: "subsidiaries" takes a parent LEI in parentLeiCodes and returns every entity it owns; mode: "parents" takes a subsidiary LEI and returns what owns it. Each row records which anchor LEI it belongs to, so several groups can be mapped in one run.
- Open the LEI Records Scraper page and click Try for free.
- Pick a mode and fill in its fields (see Options A–D above).
- Set Max Results and click Start.
- Download results as JSON, CSV, or Excel, or pull them via the Apify API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| mode | string | No | registry | registry / search / lookup / subsidiaries / parents |
| countries | string | Registry mode | DE | ISO alpha-2 codes, comma-separated, or ALL |
| entityStatus | string | No | — | ACTIVE or INACTIVE |
| registrationStatus | string | No | — | ISSUED, LAPSED, and other LEI statuses |
| entityCategory | string | No | — | GENERAL, FUND, BRANCH, and so on |
| searchQuery | string | Search mode | — | Full-text search across entity names |
| leiCodes | string | Lookup mode | — | LEI codes, comma- or newline-separated |
| parentLeiCodes | string | Subsidiaries/Parents mode | — | Anchor LEI codes, comma- or newline-separated |
| maxResults | integer | No | 5000 | Stop after this many records |
| proxyConfiguration | object | No | Off | Optional — GLEIF's API is public and open |
Output example
{"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"}
Download results as JSON, CSV, XML, or Excel from the Console, or fetch them programmatically via the Apify API or the SDKs below.
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("parsebird/lei-records-scraper").call(run_input={"mode": "registry","countries": "DE","entityStatus": "ACTIVE","maxResults": 5000,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["lei"], item["legalName"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('parsebird/lei-records-scraper').call({mode: 'lookup',leiCodes: '5493001KJTIIGC8Y1R12, 254900OPPU84GM83MG36',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- KYC / AML onboarding — resolve a counterparty's LEI to legal name, address, and status before onboarding
- Regulatory reporting — cross-reference LEI records against EMIR, MiFID II, or SFTR filings
- Corporate structure mapping — walk
subsidiariesandparentsmodes to build an ownership tree for a group - Sanctions and risk screening — flag
LAPSEDregistrations orINACTIVEentities as risk signals - Master data management — bulk-refresh a counterparty file in
lookupmode, 200 records per request - Market research — pull every
FUNDorBRANCHentity in a country to size a market segment
How it works
- The Actor builds a GLEIF
lei-recordsAPI query from your selected mode and filters. - It walks the result set using GLEIF's cursor pagination, which has no 10,000-result ceiling — a full country or the entire registry is collected without manual slicing.
- Each record's ELF legal-form code is resolved to a readable name and cached for the rest of the run.
- Records are normalized into a flat 30-field row and pushed to the dataset as each page arrives, so partial results are visible from the first request.
How much does it cost to scrape LEI records?
LEI Records Scraper uses pay-per-result pricing — you pay only for records actually collected, nothing for setup or failed requests.
| Event | Price per event | Price per 1,000 |
|---|---|---|
| record-collected | $0.0025 | $2.50 |
Pricing is tiered by your Apify plan (Free $2.50, Bronze $2.30, Silver $2.00, Gold $1.70 per 1,000 records). A 5,000-record country pull costs roughly $12.50 on the Free plan. Every Apify account also gets a monthly platform usage credit that applies to Actor runs.
FAQ
How current is the data? Every request hits GLEIF's live API, refreshed daily from the official Golden Copy publish — this is not a cached or stale dataset.
Can I collect more than 10,000 records for one country?
Yes. The Actor uses cursor-based pagination internally, so a query is never truncated at GLEIF's 10,000-result page ceiling — set maxResults as high as you need.
What does relatedLei mean?
It only appears in subsidiaries and parents modes, and records which anchor LEI (from parentLeiCodes) that row belongs to — useful when mapping several corporate groups in one run.
Does this need a proxy?
No. The GLEIF API is public and unauthenticated. proxyConfiguration is available if you want requests routed through Apify Proxy, but it's off by default.
Can I schedule recurring runs? Yes — use Apify's scheduler to re-pull a country or refresh a counterparty list daily, weekly, or on any cron interval.
Is there an API? Every Actor run is available through the Apify API, with client SDKs for Python and JavaScript, plus integrations with Zapier, Make, and Google Sheets.
Is it legal to scrape LEI records?
Yes. GLEIF publishes LEI data as an open, public reference dataset specifically for reuse, and this Actor queries GLEIF's own public API rather than scraping HTML. Scraping publicly accessible data is generally lawful; see the Apify blog on web scraping legality for a fuller discussion. You remain responsible for how you use the collected data under GDPR or other applicable regulations if it includes personal data.
Related Actors
- Dataroma SEC Insider Scraper — SEC Form 4 insider transaction data
- Dataroma Superinvestor Portfolio Scraper — public-market portfolio holdings
- Allabolag Scraper — Swedish company registry and B2B leads
Found an issue or have a feature request? Open a ticket on the Actor's Issues tab — feedback shapes what ships next.