GLEIF LEI Records API
Free GLEIF API with no key: look up any Legal Entity Identifier worldwide, with legal name, registered address, parent relationships and registration status. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the GLEIF LEI Records API?
The Global Legal Entity Identifier Foundation publishes the full LEI database as a free JSON:API with no key. You can search by legal name, address, country or LEI code and receive the entity record with its registration and relationship data.
The LEI is a twenty-character code that identifies a legal entity in financial transactions, mandated across a large part of global derivatives and securities reporting. GLEIF is the body that maintains the register, which makes this the source of record rather than a copy of one — and unusually for reference data of this importance, the entire database is free and open.
The two fields that carry the most weight are `registrationStatus` and `entityStatus`. An LEI can be `ISSUED`, `LAPSED` or `RETIRED`, and a lapsed LEI means the entity stopped renewing, not that the code is invalid. `ACTIVE` versus `INACTIVE` on the entity is separate again. Query syntax uses bracketed filter parameters (`filter[entity.legalName]`) which must be URL-encoded, and results are paginated with `page[size]` and `page[number]` in the same style.
Quick facts
- Base URL
https://api.gleif.org/api/v1- Authentication
- No key or registration. GLEIF publishes the LEI database under a free and open licence.
- Rate limit
- 60 requests per minute per IP on the public API.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the GLEIF LEI Records API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. LEI record for Apple Inc.
GET https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple%20Inc.&page%5Bsize%5D=1
curl 'https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple%20Inc.&page%5Bsize%5D=1'const res = await fetch("https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple%20Inc.&page%5Bsize%5D=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple%20Inc.&page%5Bsize%5D=1", timeout=20)
res.raise_for_status()
print(res.json()){
"meta": {
"goldenCopy": {
"publishDate": "2026-08-20T16:00:00Z"
},
"pagination": {
"currentPage": 1,
"perPage": 1,
"from": 1,
"to": 1,
"total": 24,
"lastPage": 24
}
},
"links": {
"first": "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple+Inc.&page%5Bnumber%5D=1&page%5Bsize%5D=1",
"next": "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple+Inc.&page%5Bnumber%5D=2&page%5Bsize%5D=1",
"last": "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple+Inc.&page%5Bnumber%5D=24&page%5Bsize%5D=1"
},
"data": [
{
"type": "lei-records",
"id": "HWUPKR0MPOU8FGXBT394",
"attributes": {
"lei": "HWUPKR0MPOU8FGXBT394",
"entity": {
"legalName": {
"name": "Apple Inc.",
"language": "en"
},
"otherNames": [
{
"name": "Apple Computer, Inc.",
"language": "en",
"type": "PREVIOUS_LEGAL_NAME"
}
],
"transliteratedOtherNames": [],
"legalAddress": {
"language": "en",
"addressLines": [
"C/O C T Corporation System",
"330 N. Brand Blvd",
"Suite 700"
],
"addressNumber": null,
"addressNumberWithinBuilding": null,
"mailRouting": null,
"city": "Glendale",
"region": "US-CA",
"country": "US",
"postalCode": "91203"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
filter[entity.legalName] | query | Optional | Search by legal name. Brackets must be URL-encoded as %5B and %5D. Apple Inc. |
filter[entity.legalAddress.country] | query | Optional | Two-letter country filter, combinable with other filters. US |
page[size] / page[number] | query | Optional | Pagination controls, capped at 200 records per page. 1 |
/lei-records/{lei} | path | Optional | Fetch one record directly by its 20-character LEI code. HWUPKR0MPOU8FGXBT394 |
/lei-records/{lei}/direct-parent | path | Optional | Follow the ownership hierarchy to the immediate parent entity. |
Response fields
meta.goldenCopy.publishDatestring- When the underlying golden copy of the register was published.
meta.paginationobject- `total`, `currentPage`, `perPage` and `lastPage` for the result set.
data[].idstring- The 20-character LEI code — also the record's JSON:API id.
data[].attributes.entity.legalName.namestring- Registered legal name, with its language tag.
data[].attributes.entity.otherNamesarray- Previous and alternative names, each typed — `PREVIOUS_LEGAL_NAME` is how you trace a rename.
data[].attributes.entity.legalAddressobject- Registered address, structured into lines, city, region and country.
data[].attributes.entity.statusstring- `ACTIVE` or `INACTIVE` for the entity itself.
data[].attributes.registration.statusstring- `ISSUED`, `LAPSED` or `RETIRED` for the LEI registration. Lapsed means renewal stopped, not that the code is wrong.
data[].attributes.registration.nextRenewalDatestring- When the registration must next be renewed.
links.next / laststring- JSON:API pagination links, safer to follow than constructing page numbers.
What you can build with the GLEIF LEI Records API
- Validate an LEI supplied in a trade or KYC record
- Resolve a counterparty's registered legal name and address
- Trace a company rename through the `otherNames` history
- Walk ownership hierarchies via the parent and child relationship endpoints
Common errors and how to fix them
400 on the filter parameter
The square brackets were not URL-encoded.
Fix: Encode `[` as `%5B` and `]` as `%5D`. Many HTTP clients do this automatically; some do not.
429
The 60-per-minute per-IP limit was hit.
Fix: Batch by fetching larger pages, and cache — LEI records change rarely.
Record found but registration LAPSED
The entity stopped renewing its LEI.
Fix: Distinguish `registration.status` from `entity.status`. A lapsed LEI still identifies the entity but may not satisfy a reporting requirement.
GLEIF LEI Records API — frequently asked questions
Is the GLEIF LEI API free?
Yes. GLEIF publishes the entire LEI database free and openly with no key or registration, subject to a 60-request-per-minute limit per IP.
What is an LEI?
A Legal Entity Identifier is a twenty-character code identifying a legal entity that participates in financial transactions. It is mandated for reporting in many jurisdictions and is issued by accredited local operating units under GLEIF.
What does a lapsed LEI mean?
The entity did not renew its registration within the required period. The code still identifies the entity and its data is still published, but the record is no longer being actively confirmed, which may fail a reporting requirement.
Can I find a company's parent through this API?
Yes. Relationship endpoints expose direct and ultimate parents and children where the entity has reported them, letting you walk an ownership hierarchy without a commercial data provider.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
JSON Path Finder
Evaluate a dot/bracket path against your JSON and list every leaf path for discovery. Free online JSON path finder that runs 100% in your browser.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
GLEIF LEI Records is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.