{
  "openapi": "3.0.1",
  "info": {
    "title": "LEI Company Lookup (GLEIF) – Legal Entities, Parents & Groups",
    "description": "Search and look up companies in the GLEIF LEI register: legal name, legal form, address country and city, status, renewal dates, direct and ultimate parent, subsidiaries. Legal entities only (GDPR by design: sole proprietors removed). Unofficial, built on CC0 data.",
    "version": "0.1",
    "x-build-id": "lGsOQ5xqTArETKHX9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shadow-tools~lei-company-lookup-gleif/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shadow-tools-lei-company-lookup-gleif",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/shadow-tools~lei-company-lookup-gleif/runs": {
      "post": {
        "operationId": "runs-sync-shadow-tools-lei-company-lookup-gleif",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/shadow-tools~lei-company-lookup-gleif/run-sync": {
      "post": {
        "operationId": "run-sync-shadow-tools-lei-company-lookup-gleif",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "lookup",
              "subsidiaries"
            ],
            "type": "string",
            "description": "Pick one. \"search\" = use when you look for companies by name, country, legal form, status or dates (you do not have their LEI yet): returns matching LEI records. \"lookup\" = use when you already have one or more LEIs (20 characters) and want the full record, optionally with parents: returns one record per LEI. \"subsidiaries\" = use when you have a parent LEI and want the group entities that report it as their parent (direct or ultimate). Allowed values: search, lookup, subsidiaries. Default: search.",
            "default": "search"
          },
          "legalName": {
            "title": "Legal name",
            "type": "string",
            "description": "Search mode: company legal name to search, e.g. \"TotalEnergies\" or \"Airbus SE\". By default it matches the START of the legal name (see nameMatch), case-insensitive. Empty = no name filter."
          },
          "leis": {
            "title": "LEIs",
            "type": "array",
            "description": "Lookup and subsidiaries modes: list of LEIs, 20 characters each (18 letters or digits then 2 digits), e.g. [\"529900FCMZ4LKXFD0R69\"]. Up to 2000 per run; invalid check digits are reported in the run SUMMARY note, not charged.",
            "items": {
              "type": "string"
            }
          },
          "nameMatch": {
            "title": "Name matching",
            "enum": [
              "prefix",
              "fulltext",
              "fuzzy"
            ],
            "type": "string",
            "description": "Search mode: how legalName is matched. \"prefix\" = the legal name starts with your text (default, precise); \"fulltext\" = your words may appear anywhere in the record (names, other names, addresses; broader and noisier); \"fuzzy\" = tolerates typos and spelling variants (returns the closest names, at most about 20). Allowed values: prefix, fulltext, fuzzy. Default: prefix."
          },
          "countries": {
            "title": "Countries (legal address)",
            "type": "array",
            "description": "Search mode: ISO 3166-1 alpha-2 country codes of the legal address, as a list, e.g. [\"FR\", \"DE\"]. ANY of them matches. Empty = all countries.",
            "items": {
              "type": "string"
            }
          },
          "legalForms": {
            "title": "Legal form codes (ELF)",
            "type": "array",
            "description": "Search mode: GLEIF Entity Legal Form codes (4 characters), as a list, e.g. [\"6CHY\"] = French SAS, [\"2HBR\"] = German GmbH. The code and its label are returned in legalFormCode and legalFormLabel of every record. ANY of them matches.",
            "items": {
              "type": "string"
            }
          },
          "entityStatuses": {
            "title": "Entity status",
            "type": "array",
            "description": "Search mode: keep only entities with these statuses. ACTIVE = the entity is operating, INACTIVE = it ceased to exist. Empty = both.",
            "items": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "INACTIVE"
              ],
              "enumTitles": [
                "Active",
                "Inactive"
              ]
            }
          },
          "registrationStatuses": {
            "title": "LEI registration status",
            "type": "array",
            "description": "Search mode: keep only LEIs with these registration statuses. ISSUED = valid and renewed, LAPSED = not renewed in time, plus ANNULLED, PENDING_TRANSFER, PENDING_ARCHIVAL, DUPLICATE, RETIRED, MERGED. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "ISSUED",
                "LAPSED",
                "ANNULLED",
                "PENDING_TRANSFER",
                "PENDING_ARCHIVAL",
                "DUPLICATE",
                "RETIRED",
                "MERGED"
              ],
              "enumTitles": [
                "Issued (valid)",
                "Lapsed (not renewed)",
                "Annulled",
                "Pending transfer",
                "Pending archival",
                "Duplicate",
                "Retired",
                "Merged"
              ]
            }
          },
          "categories": {
            "title": "Entity categories",
            "type": "array",
            "description": "Search mode: restrict to these GLEIF entity categories. GENERAL = companies and other legal entities, FUND = funds, BRANCH = branches of a legal entity, RESIDENT_GOVERNMENT_ENTITY = public bodies, INTERNATIONAL_ORGANIZATION. Sole proprietors (natural persons) are never offered and never returned (GDPR by design). Empty = all five.",
            "items": {
              "type": "string",
              "enum": [
                "GENERAL",
                "FUND",
                "BRANCH",
                "RESIDENT_GOVERNMENT_ENTITY",
                "INTERNATIONAL_ORGANIZATION"
              ],
              "enumTitles": [
                "General (companies)",
                "Fund",
                "Branch",
                "Government entity",
                "International organization"
              ]
            }
          },
          "jurisdictions": {
            "title": "Jurisdictions of registration",
            "type": "array",
            "description": "Search mode: legal jurisdiction where the entity is registered, as a list of ISO 3166 codes with optional subdivision, e.g. [\"FR\", \"US-DE\"] (US-DE = Delaware). Differs from the address country for foreign-registered companies.",
            "items": {
              "type": "string"
            }
          },
          "registrationNumber": {
            "title": "Business registry number",
            "type": "string",
            "description": "Search mode: the entity's number in its national business registry, written exactly as the registry shows it (spaces included), e.g. \"383 474 814\" for a French SIREN. Returns the matching LEI record, if any."
          },
          "lastUpdatedFrom": {
            "title": "Last updated from (date)",
            "type": "string",
            "description": "Search mode: only LEI records updated on or after this date. Format YYYY-MM-DD, example 2026-10-01. Use it to watch recent changes."
          },
          "lastUpdatedTo": {
            "title": "Last updated to (date)",
            "type": "string",
            "description": "Search mode: only LEI records updated on or before this date. Format YYYY-MM-DD, example 2026-10-31."
          },
          "renewalFrom": {
            "title": "Renewal due from (date)",
            "type": "string",
            "description": "Search mode: only LEIs whose next renewal is due on or after this date. Format YYYY-MM-DD, example 2026-11-01. Useful to find LEIs about to lapse (lead generation, compliance)."
          },
          "renewalTo": {
            "title": "Renewal due to (date)",
            "type": "string",
            "description": "Search mode: only LEIs whose next renewal is due on or before this date. Format YYYY-MM-DD, example 2026-12-31."
          },
          "registeredFrom": {
            "title": "Initially registered from (date)",
            "type": "string",
            "description": "Search mode: only LEIs first issued on or after this date. Format YYYY-MM-DD, example 2026-01-01. Use it to find newly registered entities."
          },
          "registeredTo": {
            "title": "Initially registered to (date)",
            "type": "string",
            "description": "Search mode: only LEIs first issued on or before this date. Format YYYY-MM-DD, example 2026-06-30."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "default",
              "lastUpdatedDesc",
              "lastUpdatedAsc",
              "registeredDesc",
              "renewalAsc"
            ],
            "type": "string",
            "description": "Search mode: order of the results. \"default\" = GLEIF's own order (empty input then lists the most recently updated records). Allowed values: default, lastUpdatedDesc, lastUpdatedAsc, registeredDesc, renewalAsc. Default: default."
          },
          "subsidiaryLevel": {
            "title": "Subsidiary level",
            "enum": [
              "direct",
              "ultimate"
            ],
            "type": "string",
            "description": "Subsidiaries mode: \"direct\" = entities whose direct parent is the LEI you give; \"ultimate\" = entities whose ultimate parent (top of the group) is that LEI. Allowed values: direct, ultimate. Default: direct."
          },
          "includeParents": {
            "title": "Include parents",
            "type": "boolean",
            "description": "true = add the direct and ultimate parent (LEI, name, country) of every record, or the reason GLEIF gives when none is reported. Costs 1 to 2 extra GLEIF calls per record (GLEIF allows 60 requests per minute), so keep maxResults small. Parents that are not legal entities are never shown. Default: false."
          },
          "parentChain": {
            "title": "Full parent chain",
            "type": "boolean",
            "description": "true = also return parentChain, the list of parents from the direct parent up to the top of the group (max 10 levels). Implies includeParents. Slower: one GLEIF call per level. Default: false."
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of LEI records returned, integer 1-10000, default 20 (keep it small, e.g. 20; raise it only if the run SUMMARY says capped: true). Your run cost limit also applies.",
            "default": 20
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}