# LEI API — $0.0004 per entity

> LEI API: LEI records from GLEIF — the global id for legal entities in finance. $0.0004 per delivered entity, nothing delivered means nothing charged.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*LEI API*

# LEI API

An LEI API searches GLEIF, the public register of Legal Entity Identifiers, by legal name — or looks up an exact LEI — and returns one row per entity: the LEI itself, the legal name, the entity and registration status, the legal and headquarters country and city, the legal form and the registration dates. The LEI is the global identifier that joins a company across financial datasets, and here it comes back keyless.

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/lei-api/#integration)

$0.0004 per delivered entity · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/gleif_lei/run

```
$ curl $QD/gleif_lei/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"query": "Apple Inc", "max_results": 10}'
{ "status": "done", "count": 10,
  "results": [
    {
      "lei": "…",
      "legal_name": "…",
      "status": "…",
      "registration_status": "…" } ],
  "cost": 0.004 }
# 10 entitys × $0.0004 · nothing delivered, nothing charged
```

**$0.0004 / entity**5,000 entitys on the free $2 every month

**Semantic input**query, max_results — no URL lists

**Up to 100**entitys per run, pagination handled for you

**No browser**read over HTTP/TLS — cheaper and faster than rendering

On this page: [What it is](/collectors/lei-api/#what) [Output fields](/collectors/lei-api/#output) [Inputs](/collectors/lei-api/#input) [Pricing](/collectors/lei-api/#pricing) [Integration](/collectors/lei-api/#integration) [Use cases](/collectors/lei-api/#use-cases) [Versus the alternatives](/collectors/lei-api/#compare) [FAQ](/collectors/lei-api/#faq)

## What a LEI API does

A company appears under a slightly different name in every dataset, which is exactly what makes cross-source joins fail. The LEI is the fix: a single twenty-character code every regulated entity is issued, stable where names are not. Search a name here to resolve it to that code, and you hold the key that lines the same firm up across filings, ownership and price data.

Pass a legal name to search GLEIF's register, or pass a twenty-character LEI to pull that exact entity. Either way the row carries both the entity status and the LEI registration status — active versus lapsed, issued versus retired — so a reference table can tell a live identifier from a stale one at a glance.

Input is meaning, not a URL *query* *max_results*

## What one entity looks like

Every delivered entity carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

| Field | Type | What it holds |
| --- | --- | --- |
| `rank` | integer | 1-based position. |
| `lei` | string | Legal Entity Identifier. |
| `legal_name` | string · nullable | Legal name. |
| `status` | string · nullable | Entity status (ACTIVE…). |
| `registration_status` | string · nullable | LEI registration status (ISSUED, LAPSED…). |
| `legal_country` | string · nullable | Legal address country. |
| `legal_city` | string · nullable | Legal address city. |
| `hq_country` | string · nullable | Headquarters country. |
| `legal_form` | string · nullable | Legal form code. |
| `initial_registration` | string · nullable | First LEI registration date. |
| `last_update` | string · nullable | Last update date. |
| `url` | string | GLEIF record URL. |

## Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `query` | string | yes | Legal name to search, or an exact 20-char LEI. |
| `max_results` | integer | no | How many entities to deliver at most (1–100). You pay only for delivered entities. |

Pricing

## LEI API pricing

$0.0004 per delivered entity. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 5,000 entitys before you spend anything.

**$0.0004**per delivered entity*$0.4 per 1,000 delivered entitys*

**5,000 entitys**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/gleif_lei/run`.

```
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/gleif_lei/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Apple Inc","max_results":10}'
```

```
import requests

r = requests.post(
    "https://api.quanticdata.io/v1/scraper/collectors/gleif_lei/run",
    headers={"Authorization": f"Bearer {QD_API_KEY}"},
    json={
        "query": "Apple Inc",
        "max_results": 10
    },
    timeout=120,
)
for row in r.json()["payload"]["results"]:
    print(row)
```

```
const res = await fetch(
  "https://api.quanticdata.io/v1/scraper/collectors/gleif_lei/run",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.QD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"query":"Apple Inc","max_results":10}),
  },
);
const { payload } = await res.json();
console.table(payload.results);
```

```
claude mcp add quantumproxies \
  -e QUANTUMPROXIES_API_KEY=qd_live_your_key_here \
  -- npx -y quantumproxies-mcp

# then, in the chat:
> run the gleif_lei collector with query="Apple Inc" and max_results=10
```

## What people build with the LEI API

Three shapes of work this endpoint was designed around.

### Entity resolution

Search a messy company name and resolve it to its LEI, the stable key that deduplicates the same firm across every source you hold.

### Counterparty reference data

Look up an LEI and get the legal name, country and legal form as a row — the reference record a KYC or onboarding table is built around.

### Registration monitoring

The registration status field flags LEIs that have lapsed, so a portfolio of identifiers can be checked for the ones due to be renewed.

## LEI API versus rolling your own

The differences that actually cost time when you build this in-house.

|  | DIY scraper | This collector |
| --- | --- | --- |
| Cross-dataset join | Match companies by fuzzy name | Resolve to the LEI, a stable global key |
| Query | One lookup style only | Search by name or look up an exact LEI |
| Currency | Assume the identifier is still valid | Entity and registration status on every row |

## FAQ

Questions we get about the LEI API.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### What is an LEI and why join on it?

The Legal Entity Identifier is a twenty-character code issued to a legal entity and recognised across financial datasets. Because it is stable where company names are not, resolving a name to its LEI gives you a reliable key to join the same firm across sources.

### Can I look up a company by name, not just by LEI code?

Yes. Pass a legal name and GLEIF is searched for matching entities; pass a twenty-character LEI and that exact record is returned. Both modes come back in the same row shape.

### How do I tell an active LEI from a lapsed one?

Every row carries `status` for the entity and `registration_status` for the LEI — ISSUED, LAPSED and so on — so a set of identifiers can be filtered down to the ones still current.

### Is there a free LEI API?

Every account gets $2 of credit every month with no card, which is about 5,000 delivered entitys on this endpoint at $0.0004 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

### How much does one run cost?

Multiply the rows you actually receive by $0.0004. A run capped at 100 entitys — the maximum for this collector — costs $0.04 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and `GET /v1/scraper/collectors` returns the price your key actually pays.

## Run the LEI API now

$2 of free credit every month, no card. Your key returns its own prices from `GET /v1/scraper/collectors`.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 65 collectors](https://quanticdata.io/collectors/) [SEC EDGAR API](https://quanticdata.io/collectors/sec-edgar-api/) [Company Data API](https://quanticdata.io/collectors/company-data-api/) [Stock Data API](https://quanticdata.io/collectors/stock-data-api/) [Documentation](https://quanticdata.io/docs/)

---

Source: https://quanticdata.io/collectors/lei-api/ · Site index for AI: https://quanticdata.io/llms.txt
