GLEIF LEI Scraper — LEI Lookup, Lapsed Status & Parents avatar

GLEIF LEI Scraper — LEI Lookup, Lapsed Status & Parents

Pricing

Pay per event

Go to Apify Store
GLEIF LEI Scraper — LEI Lookup, Lapsed Status & Parents

GLEIF LEI Scraper — LEI Lookup, Lapsed Status & Parents

LEI lookup and bulk export from the official GLEIF Global LEI Index: search any LEI code or legal entity identifier for legal name, status, jurisdiction, addresses, national register ID, BIC/MIC codes, renewal dates and direct and ultimate parent companies. Screen for lapsed LEIs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Riccardo

Riccardo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

38 minutes ago

Last modified

Share

GLEIF LEI Scraper — Legal Entity Identifiers & Ownership

Find out which of your counterparties is carrying a lapsed LEI, who ultimately owns them, and which national register number their legal entity identifier maps back to — in one run, without opening a single portal page.

This Actor exports records from the official GLEIF Global LEI Index, the worldwide register of legal entities in financial markets: 2.7 million+ entities across 200+ jurisdictions. It reads api.gleif.org, the foundation's own API — no key, no browser, public domain (CC0). Do a one-off LEI lookup by name, enrich LEI codes you already hold, or sweep a country for renewal failures.

What you get

Renewal and status — the lapsed-LEI signal

  • registrationStatus — ISSUED, LAPSED, RETIRED, ANNULLED, MERGED or DUPLICATE. LAPSED means the entity did not renew, a standard due-diligence red flag.
  • nextRenewalDate — the date the LEI must next be renewed, so you can act before it lapses rather than after.
  • initialRegistrationDate, lastUpdateDate, managingLou, and corroborationLevel (FULLY_CORROBORATED, PARTIALLY_CORROBORATED or ENTITY_SUPPLIED_ONLY) to document how strongly a record was validated.
  • status (ACTIVE / INACTIVE), expirationDate, and successorLei for entities that merged into another.

Ownership hierarchy — company ownership data

  • directParentLei and directParentName — the immediate parent.
  • ultimateParentLei and ultimateParentName — the top of the group.

Walk those four fields across a list and you reconstruct group structure without a paid ownership database.

Identity and cross-register keys

  • lei (the 20-character code), legalName, otherNames (trading and alternative names).
  • registeredAs — the identifier in the national business register: a SIREN, an HRB number, a company number. This is what lets you join GLEIF to a local register.
  • registryCode (which national register validated the entity), category (GENERAL, FUND, BRANCH, SOLE_PROPRIETOR, INTERNATIONAL_ORGANIZATION), jurisdiction, legalFormCode (ISO 20275), creationDate.

Addresses and market identifiers

  • legalAddress and headquartersAddress (lines, city, region, country, postal code), plus flattened country, city, postalCode.
  • bic (linked SWIFT/BIC codes), mic (market identifier codes), isins (securities issued, fetched on request), sourceUrl and source.

Who uses this

  • A compliance officer running KYC counterparty screening sweeps a country for registrationStatus: LAPSED and gets the list of clients whose LEI quietly expired.
  • A KYB analyst onboarding a new supplier pulls the direct and ultimate parent to see which group actually stands behind the invoicing entity.
  • A sales or credit team enriches a spreadsheet of LEI codes into legal names, addresses and parent company data before pricing a facility.
  • A data engineer uses registeredAs to join GLEIF records to a national company register, and bic, mic or isins to join them to market data.
  • A researcher or AI agent queries the Actor through the Apify MCP server to answer "who owns this entity" without writing any scraper.

Example output

Shortened — one record, as returned:

{
"lei": "969500H8I9NI5PPOKZ50",
"legalName": "NESTLE DYNAMIQUE",
"status": "ACTIVE",
"category": "FUND",
"jurisdiction": "FR",
"legalFormCode": "MQU9",
"registeredAs": "74530",
"registryCode": "RA000190",
"creationDate": "2022-10-06",
"country": "FR",
"city": "PARIS",
"postalCode": "75009",
"registrationStatus": "ISSUED",
"corroborationLevel": "FULLY_CORROBORATED",
"directParentLei": null,
"directParentName": null,
"ultimateParentLei": null,
"ultimateParentName": null,
"sourceUrl": "https://search.gleif.org/#/record/969500H8I9NI5PPOKZ50",
"source": "GLEIF Global LEI Index (CC0)"
}

Here the parent fields are null because this entity did not report a parent — see the honest limits below. On a record that failed renewal, registrationStatus reads LAPSED and nextRenewalDate sits in the past; that pair is the whole screening signal.

Input

FieldWhat it does
queryEntity name to search, fuzzy. Leave empty to browse with the filters below.
leiListExact 20-character LEI codes to fetch. Overrides the search — use this to enrich a list you already have.
countriesISO-2 country codes of the legal address: CH, DE, FR, US. Empty means worldwide.
entityStatusWhether the legal entity is still active. Default all.
registrationStatusISSUED (current) or LAPSED (not renewed), plus RETIRED, MERGED, ANNULLED. Default all.
categoryRestrict to GENERAL, FUND, BRANCH, SOLE_PROPRIETOR or INTERNATIONAL_ORGANIZATION. Default all.
includeParentsFetch direct and ultimate parent. Default true. Adds up to two requests per entity.
includeIsinsFetch securities issued by each entity. Default false. Adds one request per entity.
maxItemsSafety cap on results. Default 200, 0 = unlimited.

Compliance sweep — every German entity whose LEI was not renewed:

{ "countries": ["DE"], "registrationStatus": "LAPSED" }

Enrich a counterparty list you already hold, with the ownership tree:

{ "leiList": ["969500H8I9NI5PPOKZ50"], "includeParents": true }

Every Swiss fund with a current LEI, no cap:

{ "countries": ["CH"], "category": "FUND", "registrationStatus": "ISSUED", "maxItems": 0 }

Run it on a schedule

GLEIF republishes the index daily, so a daily schedule is the right cadence — this is a daily register, not a real-time feed. Set the Actor to run each morning with registrationStatus: "LAPSED" for your countries, and it becomes a standing watch for renewal failures.

From the Apify console, connect the run to Google Sheets, Slack, e-mail, a webhook, Make or Zapier through the built-in integrations, and new rows land where your team already works. Deduplicate on lei — it is stable, unique and never reused — so you are alerted only about entities that newly appear in the lapsed set.

Use it from code or from an AI agent

Start runs and read the dataset over the Apify API or the Apify CLI, in any language, with the same input JSON shown above. The Actor is also exposed as an MCP tool through the Apify MCP server, so an AI agent can call it directly to resolve an LEI code or fetch parent company data mid-conversation.

Pricing

Pay-per-event: a small fee per entity exported, so a five-record lookup costs what five records cost. Platform usage on top of that is negligible — the Actor makes plain API calls and never launches a browser.

Where the data comes from

Every record comes from the GLEIF Global LEI Index, published by the Global Legal Entity Identifier Foundation and released into the public domain under CC0 — free to use, including commercially. Each row carries the source field so provenance travels with the data.

Honest limits, so you know what this is not:

  • Level 2 parent relationships are self-reported by the entities themselves. Where an entity has not reported a parent, the field is simply absent — that is a reporting gap, not evidence that no parent exists.
  • GLEIF records parent legal entities, not natural persons. This is not beneficial-ownership (UBO) data and will not tell you which individuals control a company. If you need UBO, you need a national beneficial-ownership register.
  • Coverage is limited to entities that have obtained an LEI; companies with no financial-market activity often have none. The index refreshes daily and is not a real-time feed.

This Actor is independent and not affiliated with GLEIF.

Same engine, same official-source approach: