# GLEIF API

> GLEIF returns legal entity records and corporate parent data as a workflow and API.

GLEIF, or Global Legal Entity Identifier Foundation, returns LEI records from a company name or LEI, optionally narrowed by registered country. Get corporate parents returns reported parents and direct children from a company name or LEI, optionally narrowed by country and child count.

- Page: https://fous.com/tools/gleif
- Handle: `@gleif`
- Category: [Government](https://fous.com/tools/category/government)
- Source website: https://search.gleif.org
- Last verified: Sep 29, 2026

## Methods

### Get corporate parents

Operation `get_corporate_parents`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find a company’s reported direct and ultimate accounting-consolidation parents, parent-reporting reasons, and direct children in the LEI system. Children are limited to the requested number; only entities with LEIs are shown.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"5493001KJTIIGC8Y1R12"` | Legal company name or 20-character LEI, such as Unilever PLC. |
| `country` | string | no | `"United Kingdom"` | Country name or two-letter code to distinguish namesakes, such as United Kingdom or GB. |
| `max_children` | integer | no | `3` | Most direct children to show, such as 50 (up to 200). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "minLength": 1,
      "description": "Legal company name or 20-character LEI, such as Unilever PLC.",
      "examples": [
        "5493001KJTIIGC8Y1R12",
        "Unilever PLC"
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Country name or two-letter code to distinguish namesakes, such as United Kingdom or GB.",
      "examples": [
        "United Kingdom"
      ]
    },
    "max_children": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Most direct children to show, such as 50 (up to 200).",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "5493001KJTIIGC8Y1R12"
    },
    {
      "company": "Unilever PLC"
    },
    {
      "company": "Unilever PLC",
      "country": "United Kingdom",
      "max_children": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `lei` | string | `"5493001KJTIIGC8Y1R12"` |  |
| `country` | string or null | `"United States of America"` |  |
| `children` | array |  |  |
| `children[].lei` | string | `"213800HCGYEJXD99N110"` |  |
| `children[].status` | string or null | `"Active"` |  |
| `children[].country` | string or null | `"Canada"` |  |
| `children[].page_url` | string or null | `"https://search.gleif.org/#/record/213800HCGYEJXD99N110"` |  |
| `children[].legal_name` | string or null | `"UNILEVER CANADA INC."` |  |
| `page_url` | string or null | `"https://search.gleif.org/#/record/5493001KJTIIGC8Y1R12"` |  |
| `legal_name` | string or null | `"Bloomberg Finance L.P."` |  |
| `direct_parent` | any |  |  |
| `ultimate_parent` | any |  |  |
| `direct_parent_reason` | string or null | `"The accounting consolidation definition for parent relationships does not apply to the entity"` |  |
| `direct_children_total` | integer | `0` |  |
| `ultimate_parent_reason` | string or null | `"The accounting consolidation definition for parent relationships does not apply to the entity"` |  |
| `ultimate_children_total` | integer | `0` |  |

**Example input**

```json
{
  "company": "5493001KJTIIGC8Y1R12"
}
```

**Example output**

```json
{
  "lei": "5493001KJTIIGC8Y1R12",
  "country": "United States of America",
  "children": [],
  "page_url": "https://search.gleif.org/#/record/5493001KJTIIGC8Y1R12",
  "legal_name": "Bloomberg Finance L.P.",
  "direct_parent": {
    "lei": "549300B56MD0ZC402L06",
    "country": "United States of America",
    "page_url": "https://search.gleif.org/#/record/549300B56MD0ZC402L06",
    "legal_name": "Bloomberg L.P.",
    "relationship_start_date": "2007-06-05"
  },
  "ultimate_parent": {
    "lei": "549300RMUDWPHCUQNE66",
    "country": "United States of America",
    "page_url": "https://search.gleif.org/#/record/549300RMUDWPHCUQNE66",
    "legal_name": "Bloomberg Inc.",
    "relationship_start_date": "2007-06-05"
  },
  "direct_parent_reason": null,
  "direct_children_total": 0,
  "ultimate_parent_reason": null,
  "ultimate_children_total": 0
}
```

### Get legal entity

Operation `get_legal_entity`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the official LEI record for a company name or LEI, optionally narrowing namesakes by registered country. Prefers active records with the closest name. GLEIF does not publish a distinct last-renewal date; its last-update date is not a renewal date.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"Apple Inc."` | Company legal name or 20-character LEI, for example Siemens AG or HWUPKR0MPOU8FGXBT394. |
| `country` | string | no | `"Germany"` | Registered country name or two-letter code, for example Germany or DE. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company legal name or 20-character LEI, for example Siemens AG or HWUPKR0MPOU8FGXBT394.",
      "examples": [
        "Apple Inc.",
        "Siemens AG",
        "529900QBVWXMWANH7H45"
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Registered country name or two-letter code, for example Germany or DE.",
      "examples": [
        "Germany"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Apple Inc."
    },
    {
      "company": "Siemens AG",
      "country": "Germany"
    },
    {
      "company": "529900QBVWXMWANH7H45"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `lei` | string | `"HWUPKR0MPOU8FGXBT394"` | Legal Entity Identifier. |
| `link` | string | `"https://search.gleif.org/#/record/HWUPKR0MPOU8FGXBT394"` | Record on GLEIF public search. |
| `country` | string or null | `"United States of America"` | Registered country name. |
| `legal_form` | string or null | `"For-Profit Corporation General Stock"` | Legal form name. |
| `legal_name` | string | `"Apple Inc."` | Official registered name. |
| `other_names` | array |  | Other reported names. |
| `direct_parent` | object or null |  | Reported direct parent; null if none reported. |
| `direct_parent.lei` | string or null | `"W38RGI023J3WT1HWRP32"` | Parent LEI. |
| `direct_parent.name` | string or null | `"Siemens Aktiengesellschaft"` | Parent legal name. |
| `entity_status` | string or null | `"Active"` | Legal entity status in words. |
| `legal_address` | string or null | `"C/O C T Corporation System, 330 N. Brand Blvd, Suite 700, Glendale, CA, 91203, United States of America"` | Single-line registered legal address. |
| `ultimate_parent` | object or null |  | Reported ultimate parent; null if none reported. |
| `ultimate_parent.lei` | string or null | `"W38RGI023J3WT1HWRP32"` | Parent LEI. |
| `ultimate_parent.name` | string or null | `"Siemens Aktiengesellschaft"` | Parent legal name. |
| `next_renewal_date` | string or null | `"2027-03-08"` | Next LEI renewal date (YYYY-MM-DD). |
| `headquarters_address` | string or null | `"One Apple Park Way, Cupertino, CA, 95014, United States of America"` | Single-line headquarters address. |
| `registration_authority` | string or null | `"Secretary of State — Business Entity Records"` | Name of the registering authority. |
| `lei_registration_status` | string or null | `"Issued"` | LEI registration status in words. |
| `initial_registration_date` | string or null | `"2012-06-06"` | Date the LEI was first registered (YYYY-MM-DD). |
| `local_registration_number` | string or null | `"806592"` | Local business registration number. |

**Example input**

```json
{
  "company": "Apple Inc."
}
```

**Example output**

```json
{
  "lei": "HWUPKR0MPOU8FGXBT394",
  "link": "https://search.gleif.org/#/record/HWUPKR0MPOU8FGXBT394",
  "country": "United States of America",
  "legal_form": "For-Profit Corporation General Stock",
  "legal_name": "Apple Inc.",
  "other_names": [
    "Apple Computer, Inc."
  ],
  "direct_parent": null,
  "entity_status": "Active",
  "legal_address": "C/O C T Corporation System, 330 N. Brand Blvd, Suite 700, Glendale, CA, 91203, United States of America",
  "ultimate_parent": null,
  "next_renewal_date": "2027-03-08",
  "headquarters_address": "One Apple Park Way, Cupertino, CA, 95014, United States of America",
  "registration_authority": "Secretary of State — Business Entity Records",
  "lei_registration_status": "Issued",
  "initial_registration_date": "2012-06-06",
  "local_registration_number": "806592"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@gleif",
  "visibility": "public",
  "operation": "get_corporate_parents",
  "version": 1,
  "input": {
    "company": "5493001KJTIIGC8Y1R12"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@gleif\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_corporate_parents\",\n  \"version\": 1,\n  \"input\": {\n    \"company\": \"5493001KJTIIGC8Y1R12\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@gleif",
  "visibility": "public",
  "operation": "get_corporate_parents",
  "version": 1,
  "input": {
    "company": "5493001KJTIIGC8Y1R12"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/gleif`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_corporate_parents`: Get corporate parents. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_legal_entity`: Get legal entity. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-gleif https://api.fous.com/mcp/tools/gleif --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Verify a company’s registered name and LEI.
- Review an entity’s legal and headquarters addresses.
- Identify reported direct and ultimate corporate parents.
- Explore reported direct children of a company.
- Distinguish companies with similar names by country.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this GLEIF tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a GLEIF account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from search.gleif.org when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What is a company’s LEI and registered name?

Get legal entity returns the LEI and official registered name from a company name or LEI, optionally narrowed by registered country.

### Who are a company’s reported corporate parents?

Get corporate parents returns reported direct and ultimate parents and their reporting reasons, using a company name or LEI and optionally a country.

### Which direct children are reported for a company?

Get corporate parents returns direct children with LEIs; you can specify the maximum number to show.

## Related

- [Companies House API](https://fous.com/tools/companies-house.md): Companies House returns UK public-register company details, officers, people with significant control and recent filings; records may be incomplete, and ceased entries are optional.
- [Annuaire des Entreprises API](https://fous.com/tools/annuaire-des-entreprises.md): French government directory of public company registrations.
- [EUR-Lex API](https://fous.com/tools/eur-lex.md): EUR-Lex provides official EU legislation, relevance-ranked filtered searches, and article text from the latest consolidation when available, with stated general application dates.
- [SEC EDGAR API](https://fous.com/tools/sec-edgar.md): SEC EDGAR provides filings, annual and quarterly financials, exact-phrase matches, up to 200 insider trades, and quarterly 13F manager holdings; older filings appear when available.
- [ABN Lookup API](https://fous.com/tools/abn-lookup.md): Search Australian businesses by name or ABN and check public registration details.
- [Forbes API](https://fous.com/tools/forbes.md): Forbes provides business news, real-time billionaire rankings and wealth that can change during the trading day, plus ranked Global 2000 companies with financial figures and company profiles.
- [Glassdoor API](https://fous.com/tools/glassdoor.md): Employee reviews and company ratings.
- [Google Patents API](https://fous.com/tools/google-patents.md): Google Patents searches public records and provides patent details and company summaries; legal status is estimated, and citations, claims, and company breakdowns have record limits.
- [All Government tools](https://fous.com/tools/category/government)
