# GLEIF Corporate Family Tree — subsidiaries by parent LEI, no lo (`pappy-dev/gleif-corporate-family`) Actor

List every subsidiary in a company's corporate family tree via GLEIF's official Ultimate Children endpoint (api.gleif.org): legal name, status, jurisdiction, HQ country/city, legal form. Give a parent LEI, get every entity GLEIF has resolved beneath it. CC0 licensed, no login.

- **URL**: https://apify.com/pappy-dev/gleif-corporate-family.md
- **Developed by:** [Backyard Tools](https://apify.com/pappy-dev) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 subsidiary record scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## GLEIF Corporate Family Tree — subsidiaries by parent LEI, no login

Give this actor a company's **Legal Entity Identifier (LEI)** and it returns every subsidiary
GLEIF has resolved beneath it — the full corporate family tree, not just direct children.
It calls GLEIF's own official `ultimate-children` endpoint (the same public Access Service
behind gleif.org's search), so the parent/child resolution is GLEIF's, not a scrape of a web page.

Open data, CC0 1.0 licensed: free to use commercially, no permission or attribution required
(source: GLEIF LEI Data Terms of Use). This actor is not affiliated with or endorsed by GLEIF —
it's an independent client of their public API.

### Tested (2026-09-02)

| Parent LEI | Company | Subsidiaries found |
|---|---|---:|
| `HWUPKR0MPOU8FGXBT394` | Apple Inc. | 20 (India, China, Chile, ...) |
| `254900TWD71M3MX9I453` | Apple Management Inc. (no children) | 0 |

A LEI with no registered subsidiaries simply returns 0 items (no charge) — it's not an error.

### Don't have the LEI yet?

Use the companion actor **GLEIF LEI Company Registry Lookup** to search a company by name and
get its LEI first, then feed that LEI into this actor.

### Input

```json
{
  "targets": ["HWUPKR0MPOU8FGXBT394"],
  "maxItems": 2000
}
```

Each target is a 20-character parent LEI code.

### Output

One dataset item per subsidiary:

| Field | |
|---|---|
| `lei` | the subsidiary's own 20-character LEI |
| `legal_name` | subsidiary's registered legal name |
| `entity_status` | `ACTIVE` / `INACTIVE` |
| `category` | e.g. `FUND`, `GENERAL` |
| `jurisdiction` | ISO country/region code of incorporation |
| `legal_form_id` | ISO 20275 legal form code |
| `hq_country` / `hq_city` | headquarters country and city (no street address — company-identifying fields only, no personal data) |
| `registration_status` | `ISSUED` / `LAPSED` / `RETIRED` / etc. |
| `managing_lou` | the Local Operating Unit (issuer) managing this LEI |
| `initial_registration_date` / `last_update_date` / `next_renewal_date` | LEI lifecycle dates |

No personal data: LEI records identify companies and funds, not individuals.

### Why this over GLEIF's own website

gleif.org shows one entity's relationships at a time, in a UI built for eyeballs, not pipelines.
This actor batches multiple parent LEIs in one run and hands back structured rows — for KYB
(know-your-business) ultimate-beneficial-owner checks, M\&A research, or competitive intelligence
that needs the whole family tree in a dataset.

### Use Cases

- **KYB ultimate-beneficial-owner checks** — resolve a company's full subsidiary tree in one call instead of walking gleif.org page by page
- **M\&A due diligence** — see every entity under a parent LEI, across jurisdictions, before acquisition research
- **Competitive intelligence** — map a competitor's corporate structure and where it operates
- **Compliance screening** — cross-reference subsidiary LEIs and `hq_country` against sanctions or watch lists

### Pricing

Pay per event: **$2.00 per 1,000 subsidiary records** collected. Nothing else.

# Actor input Schema

## `targets` (type: `array`):

調べたい親会社の LEI コード（20桁の Legal Entity Identifier）を指定（例: HWUPKR0MPOU8FGXBT394 = Apple Inc.）。LEI が不明な場合は gleif-lei-registry（会社名検索）で先に調べる。子会社が無い LEI は 0 件を返す

## `maxItems` (type: `integer`):

1 run で取得する最大件数

## Actor input object example

```json
{
  "targets": [
    "HWUPKR0MPOU8FGXBT394"
  ],
  "maxItems": 2000
}
```

# Actor output Schema

## `items` (type: `string`):

取得した各件（type=item）と、選択した分析の結果（type=analysis）

## `overview` (type: `string`):

件数・平均評点・期間・ネガティブ比率（下側信頼限界つき）

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "targets": [
        "HWUPKR0MPOU8FGXBT394"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pappy-dev/gleif-corporate-family").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "targets": ["HWUPKR0MPOU8FGXBT394"] }

# Run the Actor and wait for it to finish
run = client.actor("pappy-dev/gleif-corporate-family").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "targets": [
    "HWUPKR0MPOU8FGXBT394"
  ]
}' |
apify call pappy-dev/gleif-corporate-family --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pappy-dev/gleif-corporate-family"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/H2hejy2nRPTtIpVFu/builds/dQ3uVAle5uwXX5bYb/openapi.json
