LEI Lookup & GLEIF API Scraper: Legal Entity Search
Pricing
from $1.20 / 1,000 companies
LEI Lookup & GLEIF API Scraper: Legal Entity Search
Find legal entities in the GLEIF index by name, LEI code or country, with legal names, registration details, addresses and reported parent links.
Pricing
from $1.20 / 1,000 companies
Rating
0.0
(0)
Developer
MRSLM Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Security
Limited permissionsShare
Search 2.5M+ legal entities in the global LEI index by name, country or LEI: legal name, legal form, registry ID, addresses, parent and ultimate parent. $1.50 per 1,000 companies.
The Legal Entity Identifier (LEI) is the global ID that banks, regulators and trading venues use for companies. The GLEIF index covers more than 2.5 million entities in 200+ countries, with the official legal name, the company-registry ID and, for many, who owns them.
Quick start
- Press Start. The form is already filled with this example input, so the first run returns real rows in under a minute:
{"searchTerms": ["Siemens Energy"],"countries": ["DE"],"maxResults": 20}
- Swap in your own values, or call the Actor through the Apify API, Make, Zapier, n8n or the Python/JS clients with the same JSON.
- Download the results as JSON, CSV or Excel from the Output tab, or schedule the run to repeat.
Full guide: How to Look Up LEI Codes and Find Newly Registered Companies in the GLEIF Database (Real Runs: Ireland and Three Global Banks)
What the GLEIF LEI Company Search Actor does
The Actor reads GLEIF's public API, the same data behind search.gleif.org. You can find entities in three ways, and combine them in one run:
- By LEI code: paste exact 20-character codes, and the Actor looks them up in batches of 100.
- By name: full-text search on legal and other names, for example
SiemensorBrookfield, optionally limited to countries. - By country and date: every entity whose legal address is in a country, optionally only those that got their LEI in the last N days. This is how you build a "new entities" feed.
Each entity becomes one row with the LEI, legal name and other names, entity status and category, legal form (code and name), jurisdiction, the local registration number and the GLEIF code of the register it is in, the date the entity was created, legal and headquarters addresses, LEI status, issue, last update and next renewal dates, corroboration level, the managing LEI issuer, BIC codes, successor LEI and expiration reason, the direct and ultimate parent (when reported), and a link to the record on search.gleif.org.
The LEI database also holds sole proprietors, who are natural persons. The Actor skips those records and logs how many it skipped, so the output contains only companies, funds and other legal entities.
Who it is for
- KYC, onboarding and compliance teams who need to verify a counterparty's legal name, registration number, address and parent from an official source.
- Banks, brokers and fund administrators who check LEI status and renewal dates for regulatory reporting.
- Sales teams that sell to finance: a new LEI often means a new fund, SPV or company that is about to trade, borrow or issue.
- Data teams who enrich a CRM with LEIs, BICs and parent links, or match company names to a global ID.
- Researchers and journalists who map corporate groups or track new fund launches by country.
Real example 1: every Irish entity that got its LEI in the last 30 days
Ireland is home to many funds, aircraft leasing companies and securitisation vehicles, so its LEI feed shows a lot of financial activity. The goal: list Irish entities that received an LEI in the last 30 days, newest first, with parents.
Step 1: Enter the input
Open the GLEIF LEI Company Search in Apify Console, switch the input form to JSON and paste:
{"countries": ["IE"],"registeredWithinDays": 30,"activeOnly": true,"includeParents": true,"newestFirst": true,"maxResults": 25}
What each setting does:
countries: ISO 2-letter codes of the legal address country.IEis Ireland; you can list several, for example["IE", "LU"].registeredWithinDays:30keeps only entities whose LEI was first issued in the last 30 days. 0 means any date.activeOnly:true(the default) skips entities marked inactive, for example dissolved or merged ones.includeParents:true(the default) adds the direct and ultimate accounting parent (LEI, name and country). It costs two extra API calls per entity, so runs are slower.newestFirst:true(the default) sorts by LEI issue date, newest first.maxResults:25stops after 25 entities, which also caps the cost.
The other inputs:
searchTerms: names to search, one per line. Withcountries, each search is limited to those countries.leis: exact LEI codes to look up (example 2).maxResultsPerSearch: a cap per search term. 0 means no cap.
Step 2: Run it
Press Start. The run finished with status SUCCEEDED and saved 25 entities, charged as 25 company events plus the start event: $0.0376 on the Free/Bronze tier. It took about 230 seconds, most of it the parent lookups. With includeParents off, the same run needs far fewer API calls.
Step 3: Read the output
All 25 rows, cut to the most useful columns:
| legalName | legalForm | category | city | entityCreationDate | leiIssuedDate | corroborationLevel |
|---|---|---|---|---|---|---|
| Seven Horizons Limited Partnership | Limited Partnership | GENERAL | Dublin 6 | 2026-06-12 | 2026-10-30 | FULLY_CORROBORATED |
| STAR STONE PROPERTY INVESTMENT FUND 1 LIMITED PART | Limited Partnership | GENERAL | Dublin | 2021-09-15 | 2026-10-30 | FULLY_CORROBORATED |
| GREEN SPARROW 9 LIMITED | Private Company Limited by Shares | GENERAL | Dublin | 2026-09-21 | 2026-10-30 | FULLY_CORROBORATED |
| GOURYELLA LIMITED | Private Company Limited by Shares | GENERAL | DUBLIN | 2023-12-07 | 2026-10-30 | FULLY_CORROBORATED |
| MARSHALL CAPITAL HOLDINGS LIMITED | Private Company Limited by Shares | GENERAL | DUBLIN | 2025-08-27 | 2026-10-30 | FULLY_CORROBORATED |
| VANTAGE AVIATION FUNDING DESIGNATED ACTIVITY COMPA | Designated Activity Company | GENERAL | Dublin | 2026-09-02 | 2026-10-29 | FULLY_CORROBORATED |
| FILLMORE CORPORATION LIMITED | Private Company Limited by Shares | GENERAL | CORK | 2026-10-01 | 2026-10-29 | FULLY_CORROBORATED |
| NUVEEN GLOBAL EQUITY FUND | SUB-FUND | FUND | DUBLIN | 2026-10-23 | 2026-10-29 | ENTITY_SUPPLIED_ONLY |
| TEMGAR LIMITED | Private Company Limited by Shares | GENERAL | DUBLIN | 2020-08-07 | 2026-10-29 | FULLY_CORROBORATED |
| DONPAK PACKAGING LIMITED | Private Company Limited by Shares | GENERAL | BANDON, CORK, Ireland | 2012-09-18 | 2026-10-29 | FULLY_CORROBORATED |
| FINNAUN WINDFARM LIMITED | Private Company Limited by Shares | GENERAL | Cork | 2025-06-18 | 2026-10-29 | FULLY_CORROBORATED |
| EPONA AVIATION 1 LIMITED | Private Company Limited by Shares | GENERAL | Dublin | 2026-10-08 | 2026-10-29 | FULLY_CORROBORATED |
| KKR ROSELLA FUND I DESIGNATED ACTIVITY COMPANY | Designated Activity Company | GENERAL | Dublin | 2026-10-16 | 2026-10-28 | FULLY_CORROBORATED |
| MCMAHON & CARROLL CONSTRUCTION KILLARNEY LIMITED | Private Company Limited by Shares | GENERAL | Killarney | 2023-10-18 | 2026-10-28 | FULLY_CORROBORATED |
| APPLEWOOD FINANCIAL LIMITED | Private Company Limited by Shares | GENERAL | Celbridge | 2023-04-19 | 2026-10-28 | FULLY_CORROBORATED |
| OHA EURO CREDIT FUNDING WAREHOUSE A DESIGNATED ACT | Designated Activity Company | GENERAL | Dublin | 2026-10-08 | 2026-10-28 | FULLY_CORROBORATED |
| iShares Robotics & Physical AI Active UCITS ETF | Undertakings for Collective Investment i | FUND | Dublin | 2026-10-27 | 2026-10-28 | ENTITY_SUPPLIED_ONLY |
| DESINO LIMITED | Private Company Limited by Shares | GENERAL | BALBRIGGAN | 2016-03-03 | 2026-10-28 | FULLY_CORROBORATED |
| MARNS ADVISORY LIMITED | Private Company Limited by Shares | GENERAL | Fenor | 2025-11-26 | 2026-10-28 | FULLY_CORROBORATED |
| AMUNDI MSCI WORLD SMALL CAP UCITS ETF | SUB FUND | FUND | DUBLIN | 2026-10-23 | 2026-10-28 | ENTITY_SUPPLIED_ONLY |
| AMUNDI MSCI HARDWARE UCITS ETF | SUB FUND | FUND | DUBLIN | 2026-07-08 | 2026-10-28 | ENTITY_SUPPLIED_ONLY |
| SUNRISE STRATEGIES LIMITED | Private Company Limited by Shares | GENERAL | Dublin | 2025-08-28 | 2026-10-27 | FULLY_CORROBORATED |
| NQC IRELAND LIMITED | Private Company Limited by Shares | GENERAL | Dublin 17 | 2026-10-09 | 2026-10-27 | FULLY_CORROBORATED |
| Holtend Limited | Private Company Limited by Shares | GENERAL | Dublin | 2012-08-17 | 2026-10-27 | FULLY_CORROBORATED |
| SMOKE SIGNALS LIMITED | Private Company Limited by Shares | GENERAL | BLESSINGTON, WICKLOW, IRELAND | 2010-09-13 | 2026-10-27 | FULLY_CORROBORATED |
One full row as JSON:
{"lei": "984500F07BB3B3AEA587","legalName": "Seven Horizons Limited Partnership","otherNames": [],"entityStatus": "ACTIVE","category": "GENERAL","legalFormCode": "HNJK","legalForm": "Limited Partnership","jurisdiction": "IE","registeredAs": "LP4147","registrationAuthorityId": "RA000402","entityCreationDate": "2026-06-12","legalAddress": {"street": "Westmoreland House, Wesmoreland Park, Ranelagh","city": "Dublin 6","region": "IE-D","postalCode": "D06 RX46","country": "IE"},"headquartersAddress": {"street": "Westmoreland House, Wesmoreland Park, Ranelagh","city": "Dublin 6","region": "IE-D","postalCode": "D06 RX46","country": "IE"},"country": "IE","city": "Dublin 6","leiStatus": "ISSUED","leiIssuedDate": "2026-10-30","leiLastUpdate": "2026-10-30","leiNextRenewal": "2027-10-30","corroborationLevel": "FULLY_CORROBORATED","managingLou": "529900T8BM49AURSDO55","bic": [],"successorLei": null,"expirationReason": null,"directParent": null,"ultimateParent": null,"gleifUrl": "https://search.gleif.org/#/record/984500F07BB3B3AEA587"}
What the 25 rows show:
- All 25 LEIs were issued between 27 and 30 October 2026, the newest first. Irish entities receive LEIs every day, so 25 rows cover only the last four days of the 30-day window. Raise
maxResultsto get the whole month. - A new LEI is not always a new company. 12 of the 25 entities were created in 2026, such as Seven Horizons Limited Partnership (created 12 June 2026) and several funds and designated activity companies set up in October. But 9 were created before 2025, for example Smoke Signals Limited (2010) and Donpak Packaging Limited (2012): established companies that only now needed an LEI. Use
entityCreationDateto tell them apart. - The mix of legal forms:
- Private Company Limited by Shares: 16
- Designated Activity Company: 3
- SUB-FUND: 3
- Limited Partnership: 2
- Undertakings for Collective Investment in Transferable Securities (UCITS): 1
- Funds are a big share. The iShares Robotics & Physical AI Active UCITS ETF, two Amundi MSCI UCITS ETFs and the Nuveen Global Equity Fund are category
FUND, plus funding and warehouse vehicles such as KKR Rosella Fund I DAC and OHA Euro Credit Funding Warehouse A DAC. - Corroboration differs. 21 of 25 are
FULLY_CORROBORATED: the LEI issuer checked the data against the Companies Registration Office (registrationAuthorityIdRA000402). The 4 funds areENTITY_SUPPLIED_ONLY, with register RA999999 (no register available), which marks entities that are not in a company register, as is common for funds. - No parents were reported.
directParentandultimateParentare null in all 25 rows. GLEIF has parent data only when the entity reports a consolidating parent. New entities often report it later or report an exception instead, so do not read null as "independent". - Addresses are as filed. City spellings vary ("DUBLIN", "Dublin", "Dublin 6", "BANDON, CORK, Ireland"). Normalise
citybefore grouping.
Real example 2: look up LEI codes in bulk
If you already have LEI codes, for example from trade reports, a fund prospectus or a client list, paste them into leis. This run looked up three:
{"leis": ["HWUPKR0MPOU8FGXBT394","8I5DZWZKVSZI1NUHU748","7LTWFZYICNSX8D621K86"],"includeParents": true}
It finished in about 15 seconds and was charged 3 company events plus the start event: $0.0046.
| lei | legalName | legalForm | jurisdiction | city | hq city | BICs |
|---|---|---|---|---|---|---|
| HWUPKR0MPOU8FGXBT394 | Apple Inc. | For-Profit Corporation General Stock | US-CA | Glendale | Cupertino | 1 |
| 8I5DZWZKVSZI1NUHU748 | JPMORGAN CHASE & CO. | Corporation | US-DE | WILMINGTON | NEW YORK | 1 |
| 7LTWFZYICNSX8D621K86 | DEUTSCHE BANK AKTIENGESELLSCHAFT | Aktiengesellschaft | DE | Frankfurt am Main | Frankfurt am Main | 72 |
What these show:
- Legal and head office addresses can differ. Apple Inc.'s legal address is its registered agent, C/O C T Corporation System, 330 N. Brand Blvd, Glendale, while its headquarters address is One Apple Park Way, Cupertino. Use
headquartersAddressfor where a company operates andlegalAddressfor where it is registered. - Other names keep history. Apple's
otherNamesis "Apple Computer, Inc.", its name until 2007. - BIC codes come with the LEI. Apple has one BIC (APLEUS66XXX); Deutsche Bank has 72 mapped to its LEI. That makes the Actor useful for LEI-to-BIC matching.
- Big groups are top parents. Parents are null for all three: they are top-level entities with no consolidating parent above them. For a subsidiary, the direct and ultimate parent fields hold the parent's LEI, name and country when reported.
- The LEIs date from 2012, the year the global LEI system started, and all three are
ISSUEDwith a next renewal date in 2027. - Direct lookups ignore filters. When you ask for exact LEIs, the Actor returns them even if they are inactive or outside your date window.
Output fields
| Field | What it means | Example |
|---|---|---|
lei | The 20-character LEI. | 984500F07BB3B3AEA587 |
legalName / otherNames | Legal name and other or former names. | Apple Inc. / ["Apple Computer, Inc."] |
entityStatus | ACTIVE or INACTIVE. | ACTIVE |
category | GENERAL, FUND, BRANCH and so on. | GENERAL |
legalFormCode / legalForm | ISO 20275 legal form code and its name. | HNJK / Limited Partnership |
jurisdiction | Jurisdiction of the legal form. | IE, US-CA |
registeredAs / registrationAuthorityId | Number in the local register and the GLEIF code for that register. | LP4147 / RA000402 |
entityCreationDate | When the entity was created. | 2026-06-12 |
legalAddress / headquartersAddress | street, city, region, postalCode, country. | Dublin 6, IE |
country / city | Legal address country and city, for easy filtering. | IE / Dublin 6 |
leiStatus | ISSUED, LAPSED (not renewed), RETIRED and so on. | ISSUED |
leiIssuedDate / leiLastUpdate / leiNextRenewal | LEI dates. | 2026-10-30 / … / 2027-10-30 |
corroborationLevel | How the data was checked. | FULLY_CORROBORATED |
managingLou | LEI of the issuer that manages the record. | 529900T8BM49AURSDO55 |
bic | BIC codes mapped to the LEI. | ["APLEUS66XXX"] |
successorLei / expirationReason | For merged or dissolved entities. | null |
directParent / ultimateParent | LEI, name and country of the parent, when reported and includeParents is on. | null |
gleifUrl | The record on search.gleif.org. | https://search.gleif.org/#/record/… |
scrapedAt | When the row was read. | 2026-10-30T23:16:43.387Z |
A tip on leiStatus: LAPSED means the entity did not renew. Many lapsed LEIs belong to entities that still exist, but a lapsed LEI cannot be used for regulatory reporting, so it is worth flagging in a KYC check.
Export LEI records to CSV, Excel or Google Sheets
Every run saves its rows to a dataset, and a dataset can be downloaded in any common format without code.
From Apify Console. Open the run, go to the Output tab and click Export. Pick CSV, Excel (XLSX), JSON, XML, HTML or RSS, and tick only the columns you want. Nested values such as lists and objects are flattened into columns like name/0 or object/field in CSV and Excel.
From a URL. The same export is a plain HTTPS link. Replace <DATASET_ID> with the dataset ID shown on the run's Storage tab:
# CSV with just the columns you needcurl -H "Authorization: Bearer $APIFY_TOKEN" \"https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=1&fields=lei,legalName,legalForm,country,city,entityCreationDate,leiIssuedDate,leiStatus,leiNextRenewal,corroborationLevel,gleifUrl" -o gleif-lei.csv# Excelcurl -H "Authorization: Bearer $APIFY_TOKEN" \"https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=xlsx&clean=1" -o gleif-lei.xlsx
Into Google Sheets. Three options, from simplest to most automatic:
- One-off: download the CSV and use File > Import > Upload in Google Sheets. Choose "Replace current sheet" to refresh an existing tab.
- Automatic, no code: use Make, Zapier or n8n as described in the next section, ending in a Google Sheets "Add row" step.
- Formula:
=IMPORTDATA("https://api.apify.com/v2/actor-tasks/<USERNAME>~<TASK_NAME>/runs/last/dataset/items?status=SUCCEEDED&format=csv&token=<YOUR_TOKEN>")always pulls the latest successful run of a saved task. The token sits in the formula, so anyone who can open the sheet can see it. Only use this in a private sheet.
Use it from Make, Zapier or n8n
All three automation tools have an official Apify app, so you can run this Actor and pass its rows on without writing code.
- Trigger. Use a schedule in the automation tool, or Apify's "Watch Actor runs" / "Watch task runs" trigger if you already schedule the task in Apify.
- Run. Add the Apify "Run Actor" (or "Run task") action, choose
mrslm_data/gleif-lei-companiesand paste the JSON input from Step 1. Turn on "wait for finish" so the next step gets the data. - Get the rows. Add "Get dataset items" and map the run's default dataset ID from the previous step.
- Send them on. Add a Google Sheets "Add row" step for a new-funds tracker, a CRM step that writes the LEI, legal name and registration number onto an account, or a Slack message for every new LEI in your countries.
Each module only moves data; the Actor's pricing is the same as when you run it in Console.
Schedule a daily new-LEI feed
Set registeredWithinDays to 1 or 2 and the countries you care about, and run it each morning. Each run returns the entities that got an LEI in that window; remove repeats by lei if the windows overlap. Turn includeParents off for faster daily runs.
- In the Actor's input form, set up the input from Step 1 and click Save as new task. Give it a clear name such as
gleif-new-leis-daily. - Go to Schedules > Create new, set the cron expression to
0 7 * * *and pick your timezone, so it runs at 7 AM every day. - Add the task to the schedule and save. Each run gets its own fresh dataset.
- Optional: on the task's Integrations tab, add a webhook, Slack or email notification for "Run succeeded", or connect Make, Zapier or n8n, so the new rows go where you need them.
To fetch the newest results without looking up a run ID, use the task's last-run link: https://api.apify.com/v2/actor-tasks/<USERNAME>~gleif-new-leis-daily/runs/last/dataset/items?status=SUCCEEDED&format=json.
Call it from the API (Python, JavaScript or curl)
Start the Actor from your own code with the official Apify clients. Put your API token (Console > Settings > API & Integrations) in an environment variable called APIFY_TOKEN rather than in the code.
Python (pip install "apify-client>=3"):
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run_input = {"leis": ["HWUPKR0MPOU8FGXBT394","8I5DZWZKVSZI1NUHU748","7LTWFZYICNSX8D621K86"],"includeParents": true}run = client.actor("mrslm_data/gleif-lei-companies").call(run_input=run_input)# apify-client 3.x returns a Run object, so use run.default_dataset_idfor item in client.dataset(run.default_dataset_id).iterate_items():print(item["lei"], item["legalName"], item["leiStatus"], item["leiNextRenewal"])
In apify-client 3.x, call() returns a typed object. Older examples that use run["defaultDatasetId"] were written for 1.x and 2.x and fail in 3.x with TypeError: 'Run' object is not subscriptable.
JavaScript / Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const input = {"leis": ["HWUPKR0MPOU8FGXBT394","8I5DZWZKVSZI1NUHU748","7LTWFZYICNSX8D621K86"],"includeParents": true};const run = await client.actor('mrslm_data/gleif-lei-companies').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, items[0].legalName);
curl, one request that runs the Actor and returns the rows as CSV (it waits up to 5 minutes, so keep the input small):
curl -X POST "https://api.apify.com/v2/acts/mrslm_data~gleif-lei-companies/run-sync-get-dataset-items?format=csv" \-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \-d '{"leis": ["HWUPKR0MPOU8FGXBT394", "8I5DZWZKVSZI1NUHU748", "7LTWFZYICNSX8D621K86"], "includeParents": true}' -o gleif-lei.csv
Use it from AI agents and chat assistants (MCP)
Apify runs a hosted Model Context Protocol (MCP) server, so assistants such as Claude Desktop, Cursor, VS Code or any other MCP client can call this Actor as a tool. Add this server URL to your MCP client and sign in with your Apify account (or send your API token as a Bearer header):
https://mcp.apify.com/?tools=mrslm_data/gleif-lei-companies
The assistant then sees the Actor's input fields, can start a run with the input it builds from your request, and reads the dataset rows back. A prompt like this works well:
Using GLEIF, look up the LEI, legal form, headquarters address and ultimate parent of Deutsche Bank AG.
Runs started through MCP are billed exactly like any other run, per row saved, so it is worth asking the assistant to set maxResults.
What it costs
The Actor uses pay-per-event pricing: one company event per entity saved. Sole proprietors that are skipped, parent lookups and searches with no matches cost nothing beyond the start fee.
Price per event
| Event (per 1,000) | Free / Bronze | Silver | Gold / Platinum / Diamond |
|---|---|---|---|
Company saved (company) | $1.50 | $1.35 | $1.20 |
| Actor start (once per run at the default memory, not per 1,000) | $0.00005 | $0.00005 | $0.00005 |
You are charged only for the events in this table: nothing for compute, and nothing for searches that return no rows beyond the start fee.
| Scenario | Free / Bronze | Silver | Gold |
|---|---|---|---|
| Example 1: 25 new Irish LEIs | $0.0376 | $0.0338 | $0.0301 |
| Example 2: 3 LEI lookups | $0.0046 | $0.0041 | $0.0037 |
| Monthly KYC check of 2,000 counterparty LEIs | $3.00 | $2.70 | $2.40 |
| Daily new-LEI feed, ~40 entities a day (30 runs a month) | $1.80 | $1.62 | $1.44 |
The last two rows are estimates; your counts depend on the codes and countries you choose. To cap spending, set Maximum cost per run in the run options (or maxTotalChargeUsd in the API), or use maxResults.
Tips
- Turn
includeParentsoff when you do not need parents. Each entity then needs no extra calls, so large runs finish much faster. The price is the same either way. - Search by name with a country. A name like
Brookfieldmatches hundreds of entities worldwide;countries: ["CA"]narrows it. - Use
maxResultsPerSearchwhen you search many names, so one common name does not use upmaxResults. - Check
leiStatusandleiNextRenewalin KYC flows: a lapsed or soon-to-lapse LEI is a reporting risk. - Join on
registeredAsto link an LEI to a national register record, such as a Companies House or Irish CRO number. - For company details beyond the LEI, such as officers or financials, use a national register Actor, for example Norway Company Registry or Estonia Company Registry.
Limits
- Only entities that have an LEI. Most small companies never need one.
- A name or country search reads at most 50 pages of up to 200 records each, so very broad searches are cut off. Narrow them with a country or date window.
- Parent data is only as good as what entities report; many have none.
- Sole proprietors are skipped on purpose.
- The data is what GLEIF publishes; corrections must go through the entity's LEI issuer.
FAQ
Where does the data come from? From GLEIF's free public API, which publishes every LEI record and its reported parents.
Do I need a GLEIF account or API key? No. The data is open and needs no key.
Is this the official LEI data? Yes, it is GLEIF's own record, the global source the LEI issuers feed into.
Can I find newly registered companies with it?
You can find entities that newly received an LEI. Check entityCreationDate to see if the entity itself is new; in example 1, 9 of 25 were created years earlier.
Does it include people? No. Sole-proprietor records, which are natural persons, are skipped and counted in the log.
How many LEIs can I look up at once? As many as you like; they are looked up in batches of 100.
Why are the parent fields null?
Either the entity reported no parent (often with an exception reason), or includeParents was off. Top-level groups such as Apple have no parent.
Does it work with Make, Zapier or n8n? Yes. All three have an Apify app. Use "Run Actor" (or run a saved task), then "Get dataset items" to pass the rows on.
Can AI agents use it?
Yes, through Apify's MCP server at https://mcp.apify.com/?tools=mrslm_data/gleif-lei-companies, as shown above.
Is it legal?
This Actor only reads official open-data APIs that the publisher offers to everyone without a login or key. It obeys robots.txt, stays under the published rate limits, and never tries to get past logins, paywalls, captchas or bot checks. Sole proprietors (natural persons who hold an LEI) are skipped, so every row is a company, fund, government body or other legal entity. You are responsible for how you use the data: follow the source's licence and terms and the privacy and marketing laws that apply to you (GDPR, CAN-SPAM, PECR, etc.). This tool is independent and not affiliated with or endorsed by the data publisher.