# GLEIF Direct Subsidiaries — one level down, no login (`pappy-dev/gleif-direct-children`) Actor

Lists a company's direct (first-tier) subsidiaries via GLEIF's official Direct Children endpoint: legal name, status, jurisdiction, HQ country/city, legal form. Returns only immediate children, not the full family tree — the layer investors usually mean by "subsidiaries." CC0, no login.

- **URL**: https://apify.com/pappy-dev/gleif-direct-children.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 direct 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 Direct Subsidiaries — one level down, no login

Give this actor a company's **Legal Entity Identifier (LEI)** and it returns only that
company's **direct (first-tier) subsidiaries** — the layer investors, researchers and KYB
teams usually mean by "subsidiaries," not the full multi-generation tree. It calls GLEIF's
own official `direct-children` endpoint (the same public Access Service behind gleif.org's
search), so the parent/child link 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.

### Direct vs. full tree

Need the entire corporate family tree, grandchildren included? Use the companion actor
**GLEIF Corporate Family Tree** (`ultimate-children`). This actor is the lighter, one-level
version for when you only need the direct reporting line.

### Tested (2026-09-02)

| Parent LEI | Company | Direct children found |
|---|---|---:|
| `HWUPKR0MPOU8FGXBT394` | Apple Inc. | 8 |

A LEI with no direct 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 direct 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
consolidated-reporting subsidiary lists, KYB checks, or competitive intelligence that needs
just the direct reporting line in a dataset.

### Use Cases

- **Org-chart building** — get a company's immediate reporting-line subsidiaries without the noise of a full multi-generation tree
- **Consolidated financial reporting** — identify the direct subsidiaries that must be rolled into group accounts
- **KYB first-pass** — a quick one-hop check before deciding whether the full family tree (companion actor) is needed
- **Jurisdiction mapping** — see which countries a company's direct subsidiaries are incorporated in

### Pricing

Pay per event: **$2.00 per 1,000 direct-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-direct-children").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-direct-children").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-direct-children --silent --output-dataset

```

## MCP server setup

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

```

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/UCPV3Fla5V1YQbLFC/builds/qrnA5hB58uahVb4sj/openapi.json
