GLEIF LEI Lookup Scraper
Pricing
Pay per event
GLEIF LEI Lookup Scraper
Search official GLEIF Legal Entity Identifier records by company name or LEI for KYC, AML, onboarding, and counterparty enrichment.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract official Legal Entity Identifier (LEI) records from the Global Legal Entity Identifier Foundation (GLEIF) API by company name or exact LEI code.
Use this actor for KYC, AML screening support, vendor onboarding, counterparty enrichment, company master-data cleanup, and compliance evidence collection.
What does GLEIF LEI Lookup Scraper do?
GLEIF LEI Lookup Scraper searches the official GLEIF LEI database and returns structured records for legal entities.
It can:
- 🔎 Search legal entities by company or fund name
- 🆔 Fetch exact 20-character LEI records
- 🌍 Filter name searches by legal-address country
- ✅ Filter by GLEIF registration status such as
ISSUEDorLAPSED - 🏢 Return legal and headquarters addresses
- 📅 Return renewal, registration, and last-update dates
- 🔗 Optionally enrich each record with direct and ultimate parent LEI summaries
- 🧾 Include the raw official JSON record when you need audit trails
Who is it for?
This actor is designed for teams that need repeatable official LEI data without building their own pagination and normalization pipeline.
- 🏦 Compliance teams checking counterparties and vendors
- 🧮 Fintech operations teams enriching company master data
- 🛡️ AML and KYC analysts validating legal names and statuses
- 📊 Data teams joining LEI records into warehouses or CRMs
- ⚖️ Legal and risk teams reviewing entity registration evidence
- 🤝 Procurement teams onboarding suppliers and corporate customers
Why use this actor?
GLEIF publishes a strong public API, but production workflows still need input validation, pagination, normalized output, retry handling, and dataset exports.
This actor wraps that official API into an Apify workflow that can be scheduled, integrated, exported, and monitored.
Data source
The actor uses the official GLEIF JSON:API endpoint:
https://api.gleif.org/api/v1/lei-records
No browser, login, cookies, or proxy is required for the default workflow.
How much does it cost to look up GLEIF LEI records?
The actor uses pay-per-event pricing.
Typical costs are:
- A small run-start event
- A per-record event for each dataset item produced
The final Store price is visible on the Apify actor page before you start a run.
Input options
The most common inputs are company names and exact LEI codes.
{"queries": ["Apple", "Stripe"],"leiCodes": ["549300MGN03W4U2NK749"],"maxResultsPerQuery": 25,"registrationStatuses": ["ISSUED"],"includeRelationships": false}
Company name searches
Use queries when you know a company name but not its LEI.
The actor calls GLEIF name search and follows pagination until maxResultsPerQuery is reached.
Broad names can return many records, so keep the cap conservative for first runs.
Exact LEI lookups
Use leiCodes when you already have identifiers.
Exact LEI mode fetches /lei-records/{lei} for each supplied code.
Invalid or missing LEIs are skipped with a warning instead of stopping the whole run.
Filters
You can filter company-name searches with:
countryCodes— legal-address countries such asUS,GB,IE,DEregistrationStatuses— values such asISSUED,LAPSED,RETIRED, orMERGED
Filters apply to name searches. Exact LEI lookups fetch the requested identifiers directly.
Relationship enrichment
Set includeRelationships to true to fetch parent summaries.
The actor adds:
directParentLeidirectParentNameultimateParentLeiultimateParentName
This option makes extra GLEIF API requests, so it is disabled by default.
Output data
Each dataset item is one official GLEIF LEI record normalized for analysis.
| Field | Description |
|---|---|
input | Company name or LEI code that produced the record |
queryType | name or lei |
lei | Legal Entity Identifier |
legalName | Official legal name |
entityStatus | Entity status, for example ACTIVE |
registrationStatus | GLEIF registration status, for example ISSUED |
jurisdiction | Entity jurisdiction code |
country | Legal-address country |
legalAddress | Structured legal address |
headquartersAddress | Structured headquarters address |
registeredAs | Local registry identifier when available |
lastUpdateDate | Last GLEIF registration update |
nextRenewalDate | Next renewal date |
managingLou | Managing Local Operating Unit |
sourceUrl | Official GLEIF API record URL |
Example output
{"input": "Apple","queryType": "name","lei": "549300MGN03W4U2NK749","legalName": "APPLE OPERATIONS LIMITED","entityStatus": "ACTIVE","registrationStatus": "ISSUED","jurisdiction": "IE","country": "IE","nextRenewalDate": "2027-03-08T17:20:49Z","sourceUrl": "https://api.gleif.org/api/v1/lei-records/549300MGN03W4U2NK749"}
How to run
- Open the actor on Apify.
- Add company names to
queriesor LEI codes toleiCodes. - Set
maxResultsPerQueryfor name searches. - Add optional country/status filters.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or via API.
Tips for better results
- Use exact legal names when possible.
- Add country filters for common names.
- Use
ISSUEDto focus on active registration records. - Use exact
leiCodesfor deterministic enrichment jobs. - Keep
rawOutputoff unless you need full audit payloads. - Enable relationship enrichment only when parent LEI data is needed.
Integrations
The actor fits common data workflows:
- Enrich a CRM account list with LEI identifiers
- Validate vendor legal names before onboarding
- Join LEI status into a compliance warehouse
- Monitor renewal dates for counterparties
- Feed legal entity data into KYC review queues
- Append official source URLs to analyst workpapers
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/gleif-lei-lookup-scraper').call({queries: ['Apple'],maxResultsPerQuery: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/gleif-lei-lookup-scraper').call(run_input={'queries': ['Apple'],'maxResultsPerQuery': 10,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~gleif-lei-lookup-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"queries":["Apple"],"maxResultsPerQuery":10}'
MCP usage
Use the Apify MCP server with Claude tools:
https://mcp.apify.com/?tools=automation-lab/gleif-lei-lookup-scraper
Claude Code setup:
$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/gleif-lei-lookup-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/gleif-lei-lookup-scraper"}}}
Example prompts:
- "Look up the LEI records for Apple and summarize active entities."
- "Fetch this LEI and tell me the next renewal date."
- "Find issued LEI records for Stripe in the US and return legal names."
Scheduling
You can schedule recurring runs to monitor:
- Vendor LEI renewal dates
- Counterparty status changes
- New entities matching a legal-name pattern
- Compliance watchlist enrichment batches
Limits and reliability
The actor is intentionally polite to the official API.
It uses:
- Bounded pagination
- Conservative default result caps
- Bounded retries for 429 and 5xx responses
- Optional request delay controls
- No proxy by default
Legality
GLEIF LEI records are public official data.
Use the actor responsibly and comply with your organization’s privacy, compliance, and data-retention policies.
Do not treat LEI status as the only KYC or AML decision factor; it is one useful official data point.
FAQ
Is this official GLEIF data?
Yes. The actor requests the public official GLEIF JSON:API and normalizes each returned LEI record into an Apify dataset.
Troubleshooting
I got too many records for a company name
Lower maxResultsPerQuery, add a countryCodes filter, or use exact LEI codes.
I cannot find a company
Try the exact legal name, remove country filters, or search by known LEI code.
Relationship fields are empty
Some entities do not have reported parent records. Enable includeRelationships only when you need those fields.
Related scrapers
Other automation-lab actors that can complement this workflow:
https://apify.com/automation-lab/company-funding-trackerhttps://apify.com/automation-lab/financial-statements-scraperhttps://apify.com/automation-lab/sec-form-nport-mutual-fund-holdings-scraperhttps://apify.com/automation-lab/whois-lookuphttps://apify.com/automation-lab/website-contact-finder
Changelog
0.1.0— Initial GLEIF LEI lookup, filters, exact LEI mode, optional parent enrichment, and raw output support.