Finance & Data

Legal Entity & LEI API API

The Legal Entity & LEI API returns verified company and legal-entity data from GLEIF as clean JSON.

7 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary lookup endpoint returns an entity's LEI, legal name, other names, status, jurisdiction, category, legal form and registered address, and you can search, autocomplete, map relationships, resolve mappings, pull reference data and batch. It is built for KYC, compliance and B2B-data workflows that need authoritative legal-entity identifiers without a licensed database. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/lei/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "name": "Apple Inc",
    "country": "US"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "lei",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1487,
    "record_count": 20,
    "bytes": 97298,
    "cache_hit": false,
    "source": "gleif",
    "license": "CC0",
    "upstream_total": 49,
    "typo_recovered": false
  },
  "data": {
    "query": "Apple Inc",
    "scope": "auto",
    "candidates": [
      {
        "lei": "HWUPKR0MPOU8FGXBT394",
        "legal_name": "Apple Inc.",
        "match_confidence": 1,
        "jurisdiction": "US-CA",
        "entity_status": "ACTIVE",
        "registration_status": "ISSUED",
        "status_note": "LEI is current and maintained.",
        "city": "Glendale",
        "country": "US",
        "legal_form_code": "H1UM",
        "other_names": [
          "Apple Computer, Inc."
        ]
      },
      {
        "lei": "254900KZR24L5GN8TE52",
        "legal_name": "Apple Ford, Inc.",
        "match_confidence": 0.92,
        "jurisdiction": "US-DE",
        "entity_status": "ACTIVE",
        "registration_status": "LAPSED",
        "status_note": "renewal is overdue — the entity may very well still exist and operate; lapsed means the LEI record stopped being re-certified, not that the company is gone.",
        "city": "WILMINGTON",
        "country": "US",
        "legal_form_code": "XTIQ",
        "other_names": []
      },
      {
        "lei": "5493005L9LZDI71S5Y95",
        "legal_name": "Apple Gold, Inc.",
        "match_confidence": 0.92,
        "jurisdiction": "US-NC",
        "entity_status": "ACTIVE",
        "registration_status": "LAPSED",
        "status_note": "renewal is overdue — the entity may very well still exist and operate; lapsed means the LEI record stopped being re-certified, not that the company is gone.",
        "city": "Raleigh",
        "country": "US",
        "legal_form_code": "8888",
        "other_names": [
          "M O R Restaurants, Inc."
        ]
      }
    ],
    "count": 20,
    "total": 49,
    "page": 1,
    "confidence_note": "match_confidence is a string-similarity heuristic computed by this API for ranking/disambiguation — it is not a GLEIF field."
  }
}
Actions

What the Legal Entity & LEI API API does

ActionDescriptionConcrete use caseKey params
lookupOne LEI → the full verified legal-entity record (Level-1 who-is-who): legal name, addresses, jurisdiction, legal form, registration status + honesty note, authority ids, renewal dates, BIC/ISIN-adjacent identifiers.Fintech apps call lookup to get one LEI → the full verified legal-entity record (Level-1 who-is-who).lei, resolve_codes, history
searchCompany name → ranked candidate entities with match_confidence for disambiguation (same-name entities across countries/legal-forms). Filters: country, status, jurisdiction, entity_status.Portfolio dashboards call search to get company name → ranked candidate entities with match_confidence for disambiguation (same-name….name, scope, country, status, entity_status, ...
autocompleteType-ahead suggestions for a partial company name (GLEIF autocompletions surface) — each suggestion carries its LEI for direct lookup.Analysts call autocomplete to get type-ahead suggestions for a partial company name (GLEIF autocompletions surface).name
relationshipsOne LEI → Level-2 corporate hierarchy: direct & ultimate parent (entity OR the entity's declared reporting-exception with reason+meaning OR no_data), children list + total counts. detail=true adds the auditable relationship provenance.Data teams call relationships to get one LEI → Level-2 corporate hierarchy.lei, children_limit, detail
mapIdentifier mapping: ISIN / BIC / MIC / QCC / S&P-Global-ID → LEI record(s), or reverse LEI → all its ISINs.Fintech apps call map to get identifier mapping.type, value, limit
referenceGLEIF reference collections: ISO-20275 legal forms, registration authorities, LEI issuers (LOUs), jurisdictions, countries, regions, field catalog — list or fetch one by code.Portfolio dashboards call reference to get gLEIF reference collections.kind, code, limit, page
batchUp to 50 mixed lookup/search items in one call. Lookups are collapsed into one upstream request per 50 LEIs (GLEIF rate-friendly); searches are spaced.Analysts call batch to get up to 50 mixed lookup/search items in one call.items
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/lei/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"name":"Apple Inc","country":"US"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.lei.search with {"name":"Apple Inc","country":"US"}.
Use cases

Who uses this API and why

  • KYC and onboarding tools call lookup to verify a counterparty's legal name and jurisdiction from an LEI.
  • Compliance teams use relationships to map a company's parent and subsidiary structure.
  • B2B-data products use search and autocomplete to resolve a company name to a verified entity.
FAQ

Questions developers ask before integrating

What is the Legal Entity & LEI API API?

Legal Entity & LEI API API is a ReefAPI endpoint group for legal entity & lei api It returns live JSON through POST requests under /lei/v1.

Is the Legal Entity & LEI API API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Legal Entity & LEI API calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Legal Entity & LEI API login or account?

No login to Legal Entity & LEI API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Legal Entity & LEI API data?

The page example is captured from a live lookup call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Legal Entity & LEI API API use?

Legal Entity & LEI API actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Legal Entity & LEI API from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call lei actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Legal Entity & LEI API API a Legal Entity & LEI API scraper?

It is the managed alternative to a DIY Legal Entity & LEI API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same legal entity & lei api back as clean JSON.

Why does my Legal Entity & LEI API scraper keep getting blocked?

Most Legal Entity & LEI API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / lei

Legal Entity & LEI API

Legal Entity & LEI API

base /lei/v17 endpoints
post/lei/v1/lookup1 credit

One LEI → the full verified legal-entity record (Level-1 who-is-who): legal name, addresses, jurisdiction, legal form, registration status + honesty note, authority ids, renewal dates, BIC/ISIN-adjacent identifiers.

ParameterAllowed / rangeDescription
leirequiredThe 20-character Legal Entity Identifier (ISO 17442). Spaces/dashes are ignored; case-insensitive. Format + MOD-97-10 checksum are validated offline first — a malformed LEI returns a clean error with the reason, never an upstream call.
resolve_codes = falseoptionalIf true, also resolve the legal-form ELF code and registration-authority code to their human-readable names (2 extra cached GLEIF calls; silently skipped if unavailable).
history = falseoptionalIf true, append the record's field-modification audit trail (what changed, when, old/new value) — GLEIF Level-1 history.
Try in playground →
post/lei/v1/autocomplete1 credit

Type-ahead suggestions for a partial company name (GLEIF autocompletions surface) — each suggestion carries its LEI for direct lookup.

ParameterAllowed / rangeDescription
namerequiredPartial name (min 2 chars) to complete.
Try in playground →
post/lei/v1/relationships2 credits

One LEI → Level-2 corporate hierarchy: direct & ultimate parent (entity OR the entity's declared reporting-exception with reason+meaning OR no_data), children list + total counts. detail=true adds the auditable relationship provenance.

ParameterAllowed / rangeDescription
leirequiredThe 20-character Legal Entity Identifier (ISO 17442). Spaces/dashes are ignored; case-insensitive. Format + MOD-97-10 checksum are validated offline first — a malformed LEI returns a clean error with the reason, never an upstream call.
children_limit = 50optional0–200Max direct/ultimate children to list (0-200). The TOTAL count is always returned in children_total regardless of this cap.
detail = falseoptionalIf true, include the raw relationship-record provenance for each parent link (valid_from, accounting periods, corroboration level/documents) — the auditable Level-2 trail.
Try in playground →
post/lei/v1/map1 credit

Identifier mapping: ISIN / BIC / MIC / QCC / S&P-Global-ID → LEI record(s), or reverse LEI → all its ISINs.

ParameterAllowed / rangeDescription
typerequiredisin · bic · mic · qcc · spglobal · lei_to_isinWhich identifier system to map. isin/bic/mic/qcc/spglobal map TO LEI records; lei_to_isin maps an LEI to its issued ISINs.
valuerequiredThe identifier to map: an ISIN (e.g. US0378331005), BIC (e.g. DEUTDEFFXXX), MIC, QCC, S&P Global ID — or the LEI itself for type=lei_to_isin.
limit = 10optional1–200Max results to return (1-200; GLEIF page cap is 200).
Try in playground →
post/lei/v1/reference1 credit

GLEIF reference collections: ISO-20275 legal forms, registration authorities, LEI issuers (LOUs), jurisdictions, countries, regions, field catalog — list or fetch one by code.

ParameterAllowed / rangeDescription
kindrequiredlegal-forms · registration-authorities · lei-issuers · jurisdictions · countries · regions · fields · micWhich reference list to query. All are GLEIF live except 'mic', which is served from the embedded ISO 10383 registry snapshot.
codeoptionalOptional: fetch ONE reference item by its code/id (e.g. ELF code '8888', RA code 'RA000602', LOU LEI). Omit to list.
limit = 50optional1–200Max results to return (1-200; GLEIF page cap is 200).
page = 1optional1–10000Result page number (1-based).
Try in playground →
post/lei/v1/batch2 credits

Up to 50 mixed lookup/search items in one call. Lookups are collapsed into one upstream request per 50 LEIs (GLEIF rate-friendly); searches are spaced.

ParameterAllowed / rangeDescription
itemsrequiredUp to 50 items. Each is {type: lookup|search, ...}: lookup items carry `lei`; search items carry `name` (+ optional `country`). Lookups are collapsed into ONE upstream call per 50 LEIs (rate-friendly); searches run sequentially, spaced. A bad item yields its own error entry — it never fails the batch.
Try in playground →