BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple%20Inc.&page%5Bsize%5D=1'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
filter[entity.legalName]queryOptionalSearch by legal name. Brackets must be URL-encoded as %5B and %5D. Apple Inc.
filter[entity.legalAddress.country]queryOptionalTwo-letter country filter, combinable with other filters. US
page[size] / page[number]queryOptionalPagination controls, capped at 200 records per page. 1
/lei-records/{lei}pathOptionalFetch one record directly by its 20-character LEI code. HWUPKR0MPOU8FGXBT394
/lei-records/{lei}/direct-parentpathOptionalFollow 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

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.