getregdata
Free agent skillgleif-lei-lookup

GLEIF API

The GLEIF API is the official keyless interface to the global LEI system. It turns an inconsistent company name into a canonical 20-character LEI, exposes the entity’s local registry identifier and country, and maps its parent and child structure at the accounting-consolidation level.

Free and keyless. Data is CC0 1.0, effectively public domain, and free for any use including commercial. The one rule: do not imply GLEIF endorsement. Official docs: GLEIF API v1.

Install the skill
npx skills add Nolpak14/getregdata -g -y

Teaches your agent the endpoints, the auth pattern and the failure modes below - so it runs the check correctly rather than guessing. Read SKILL.md

What the API returns

What you get, for free

LEI record
The 20-character LEI, official legal name, legal form, legal address and entity status of ACTIVE or INACTIVE.
Local registry ID
entity.registeredAs - the entity’s identifier in its home registry, such as a Companies House number, an HRB or a KRS. This is the join key into national sources and the real payoff of the API.
Registration health
registration.status of ISSUED, LAPSED or RETIRED plus the next renewal date. A LAPSED LEI signals the entity stopped maintaining it.
Corporate structure
Direct parent, ultimate parent, direct and ultimate children, and managed funds - at the accounting-consolidation level.
Authentication

Getting an API key

  1. None. No key and no registration.
  2. Send a descriptive User-Agent as a courtesy.
  3. Stay under roughly 60 requests per minute; above that the API returns 429.
# name -> candidate LEIs (bracket params are URL-encoded: %5B = [ , %5D = ])
curl -H 'User-Agent: getregdata-skill' \
  "https://api.gleif.org/api/v1/lei-records?filter%5Bentity.legalName%5D=Apple&page%5Bsize%5D=5"

# LEI -> full record
curl -H 'User-Agent: getregdata-skill' \
  "https://api.gleif.org/api/v1/lei-records/HWUPKR0MPOU8FGXBT394"

Responses are JSON:API (application/vnd.api+json), so payloads are nested under data and attributes.

Reference

Endpoints

Purpose Call
Fuzzy name autocomplete GET /api/v1/fuzzycompletions?field=entity.legalName&q={name}
Filtered search GET /api/v1/lei-records?filter[entity.legalName]={name}
Look up by LEI GET /api/v1/lei-records/{lei}
Direct parent GET /api/v1/lei-records/{lei}/direct-parent
Ultimate parent GET /api/v1/lei-records/{lei}/ultimate-parent
Children and managed funds GET /api/v1/lei-records/{lei}/direct-children
Workflow

Running a KYB check end to end

  1. 1
    Resolve the name

    Use fuzzy autocomplete or a filtered search, confirm country and legal form, and take the LEI.

  2. 2
    Read the canonical record

    Check entity.status is ACTIVE and registration.status is ISSUED rather than LAPSED or RETIRED. Capture entity.registeredAs and the legal address country.

  3. 3
    Place it in its group

    Fetch ultimate-parent and direct-children. A 404 on a parent endpoint is normal and means no parent was reported.

  4. 4
    Hand off to the national source

    Use registeredAs plus country to query the right registry directly, instead of re-searching by name.

Failure modes

What bites people

A 404 on a parent endpoint is not an error

It means the entity reported no parent - either it is the top of its group, or it filed a reporting exception. Handle 404 as "no parent" rather than as a failed call.

Parent and child are consolidation, not control

GLEIF relationships reflect accounting consolidation, not economic control or beneficial ownership. Presenting an ultimate parent as the beneficial owner is wrong - a UBO can sit entirely outside the consolidation tree.

LEI coverage is partial by design

Many entities, especially small or private ones, have never been issued an LEI. Absence from GLEIF is not evidence a company does not exist; fall back to the national registry.

A LAPSED LEI does not mean a dead company

It means the entity stopped renewing. The company may be trading normally. Verify against the live national registry before relying on a lapsed record’s name or address.

registeredAs is the field worth the call

It is the entity’s number in its home registry, which lets you go straight to the right national record instead of name-matching again. If it is empty, fall back to legal name plus country.

Where the free API stops

The jurisdictions with no free equivalent

The UK is the outlier. Most European registers publish through portals built for people, not a general-purpose API - so the next jurisdiction you need probably has no free option. These read the official source live and return the same shape of structured record.

Poland · Beneficial owners (UBO)Slovakia · Verified beneficial owners with PEP flagsGermany · Company, officers and capitalFrance · Directors, financials, shareholdersCzechia · Insolvency and debtor proceedingsItaly · Full profile, P.IVA and certified PEC
FAQ

Is the GLEIF API free?

Yes, entirely. No key, no registration, and the data is CC0 1.0 - effectively public domain and free for commercial use. The only condition is not implying GLEIF endorses you.

What is an LEI?

A Legal Entity Identifier: a 20-character code that identifies a legal entity globally. It is the cleanest way to resolve an inconsistently spelled name to one authoritative entity across borders.

Does GLEIF show beneficial owners?

No. Its parent and child relationships are accounting-consolidation level, which is a different question from control or beneficial ownership. A UBO can sit outside the consolidation tree entirely.

Why does my company have no LEI?

LEIs are issued on request, largely driven by financial-market reporting obligations. Small and private entities frequently have none. That says nothing about whether the company exists.

All agent skills Paid registry coverage