{
  "openapi": "3.0.1",
  "info": {
    "title": "LEI Lookup & Changes — Legal Entity Identifier Data, No API Key",
    "description": "LEI company data from the Global LEI Index (GLEIF): look up LEI codes by number, name, UK company number or SIREN; list new, lapsed or renewed LEIs by country and date; ultimate parent groups. CC0 open data, no API key, no sole proprietors. Unofficial: not affiliated with or endorsed by GLEIF.",
    "version": "0.4",
    "x-build-id": "ISlqdXRdImJZaehPy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rein8~lei-legal-entity-lookup/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rein8-lei-legal-entity-lookup",
        "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/rein8~lei-legal-entity-lookup/runs": {
      "post": {
        "operationId": "runs-sync-rein8-lei-legal-entity-lookup",
        "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/rein8~lei-legal-entity-lookup/run-sync": {
      "post": {
        "operationId": "run-sync-rein8-lei-legal-entity-lookup",
        "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": {
          "leis": {
            "title": "LEI codes",
            "maxItems": 200,
            "type": "array",
            "description": "One LEI (20 characters) per line, up to 200 per run: the rows come back in one request. Leave empty to search by name, register number or filters instead.",
            "items": {
              "type": "string"
            }
          },
          "names": {
            "title": "Legal names",
            "maxItems": 50,
            "type": "array",
            "description": "One legal name per line (up to 50): an exact or partial legal-name match in the index (\"TESCO PLC\" also finds TESCO PLC PENSION SCHEME). A comma inside a name splits it in two (the API's list separator): leave commas out.",
            "items": {
              "type": "string"
            }
          },
          "registerIds": {
            "title": "Business-register numbers (UK company number, SIREN…)",
            "maxItems": 200,
            "type": "array",
            "description": "One business-register number per line (up to 200), as the register writes it: a UK company number with leading zeros (00445790 — a bare 445790 finds nothing, GB:445790 does), a French SIREN (552032534), a German HRB number (HRB 32768), a US state file number. A GB: / UK: or FR: prefix is removed and normalised (GB:445790 → 00445790, GB:sc12345 → SC012345; spaces ignored) and narrows the register filter below. Other countries: set the country or the register below.",
            "items": {
              "type": "string"
            }
          },
          "register": {
            "title": "Business register (GLEIF RA code)",
            "pattern": "^\\s*(RA\\d{6})(\\s*,\\s*RA\\d{6})*\\s*$",
            "type": "string",
            "description": "Keep only records registered in these registers, as GLEIF RA codes separated by commas: RA000585,RA000586,RA000587 = Companies House (England & Wales, Northern Ireland, Scotland), RA000189 = Sirene (France), RA000602 = Delaware Division of Corporations. Applied after reading (the API has no such filter): use it with register numbers or LEIs, not alone."
          },
          "country": {
            "title": "Legal-address country",
            "pattern": "^\\s*[A-Za-z]{2}(\\s*,\\s*[A-Za-z]{2})*\\s*$",
            "type": "string",
            "description": "ISO 3166-1 alpha-2 code of the legal address (GB, FR, DE, US…), or several separated by commas (GB,IE)."
          },
          "jurisdiction": {
            "title": "Legal jurisdiction",
            "pattern": "^\\s*[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?(\\s*,\\s*[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?)*\\s*$",
            "type": "string",
            "description": "Jurisdiction of formation as GLEIF codes it: a country code (GB, FR) or a country-subdivision code (US-DE for Delaware, CA-ON for Ontario), or several separated by commas."
          },
          "status": {
            "title": "LEI registration status",
            "pattern": "^\\s*(ISSUED|LAPSED|RETIRED|ANNULLED|MERGED|DUPLICATE|PENDING_TRANSFER|PENDING_ARCHIVAL)(\\s*,\\s*(ISSUED|LAPSED|RETIRED|ANNULLED|MERGED|DUPLICATE|PENDING_TRANSFER|PENDING_ARCHIVAL))*\\s*$",
            "type": "string",
            "description": "ISSUED (current), LAPSED (not renewed), RETIRED (entity ceased), ANNULLED, MERGED, DUPLICATE, PENDING_TRANSFER, PENDING_ARCHIVAL — one, or several separated by commas (LAPSED,RETIRED), in capitals as written here (the API refuses 'issued'). Leave empty for any status."
          },
          "entityStatus": {
            "title": "Entity status",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ],
            "type": "string",
            "description": "Whether the legal entity itself is ACTIVE or INACTIVE (dissolved, merged) as recorded in the index. Independent of the LEI registration status above."
          },
          "category": {
            "title": "Entity category",
            "enum": [
              "GENERAL",
              "FUND",
              "BRANCH",
              "INTERNATIONAL_ORGANIZATION",
              "RESIDENT_GOVERNMENT_ENTITY"
            ],
            "type": "string",
            "description": "GENERAL (companies and other legal entities), FUND, BRANCH (a branch of a foreign entity), INTERNATIONAL_ORGANIZATION, RESIDENT_GOVERNMENT_ENTITY. Leave empty for all five. Sole-proprietor LEIs (natural persons) are never returned."
          },
          "updatedSince": {
            "title": "Record updated on or after",
            "type": "string",
            "description": "YYYY-MM-DD: only LEI records whose last update (a new registration, a renewal, a status or parent change) is on or after this date. With a country and a daily schedule this is the feed of new and changed LEIs; with status LAPSED, the LEIs that lapsed recently."
          },
          "updatedUntil": {
            "title": "Record updated on or before",
            "type": "string",
            "description": "YYYY-MM-DD: the end of the last-update window (inclusive). Give 'updated on or after' too: on its own this filter is applied after reading each page, so a broad search reads pages up to Max rows."
          },
          "registeredSince": {
            "title": "LEI first issued on or after",
            "type": "string",
            "description": "YYYY-MM-DD: only LEIs first registered on or after this date (registration.initialRegistrationDate) — the list of NEW legal entities in the index. With a country and a daily schedule plus 'Only LEIs not delivered before', a feed of new LEIs."
          },
          "registeredUntil": {
            "title": "LEI first issued on or before",
            "type": "string",
            "description": "YYYY-MM-DD: the end of the first-registration window (inclusive). Give 'first issued on or after' too, or the filter is applied after reading each page."
          },
          "renewalDueFrom": {
            "title": "Renewal due on or after",
            "type": "string",
            "description": "YYYY-MM-DD: only LEIs whose next renewal date (registration.nextRenewalDate) is on or after this date. With 'Renewal due on or before' 30 days later and status ISSUED: the LEIs about to lapse — renewal-reminder and KYB refresh lists."
          },
          "renewalDueTo": {
            "title": "Renewal due on or before",
            "type": "string",
            "description": "YYYY-MM-DD: the end of the renewal-due window (inclusive). Give 'due on or after' too, or the filter is applied after reading each page."
          },
          "includeParents": {
            "title": "Fetch the ultimate parent's record",
            "type": "boolean",
            "description": "Every row already carries the direct and ultimate parent LEIs when a parent is reported (no extra charge). On, the ultimate parent's own record is fetched — name, country, jurisdiction, category, register number, status — one request per entity that reports a parent, charged as a 'parent' event ($0.004). Entities without a reported parent cost nothing extra.",
            "default": false
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of LEI records delivered in total; only delivered rows are charged. Each query reads at most 100,000 records (500 pages of 200).",
            "default": 50
          },
          "incremental": {
            "title": "Only LEIs not delivered before (the watch)",
            "type": "boolean",
            "description": "Remember which LEIs were delivered (per 'State key') and return only new ones or those whose WATCHED fields changed: registration status, entity status, legal name, next renewal date, successor, direct or ultimate parent. A changed row comes back with changes:[{field,from,to}] and is charged as a 'change' event ($0.01). Save the input as a Task and schedule it: the first run is the baseline, every later run only the changes.",
            "default": false
          },
          "watchFields": {
            "title": "Watched fields",
            "type": "array",
            "description": "Narrow what counts as a change for this run. Empty = all seven watched fields.",
            "items": {
              "type": "string",
              "enum": [
                "registrationStatus",
                "entityStatus",
                "legalName",
                "nextRenewalDate",
                "successorLei",
                "directParentLei",
                "ultimateParentLei"
              ],
              "enumTitles": [
                "LEI registration status (ISSUED, LAPSED, RETIRED…)",
                "Entity status (ACTIVE, INACTIVE)",
                "Legal name",
                "Next renewal date",
                "Successor LEI",
                "Direct parent LEI",
                "Ultimate parent LEI"
              ]
            }
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the memory used by 'Only LEIs not delivered before'. Left as 'default', every saved Task gets its own memory automatically (a run started by hand remembers per set of filters). Type a name to share one memory between schedules on purpose.",
            "default": "default"
          },
          "allowStateFallback": {
            "title": "Run without memory if the state store cannot be opened",
            "type": "boolean",
            "description": "Off (default): an incremental run whose memory cannot be opened stops before any charge. On: it runs as a one-off and delivers everything again.",
            "default": false
          },
          "preview": {
            "title": "Preview (10 rows, free)",
            "type": "boolean",
            "description": "Return 10 LEI records without any charge, to check the output format.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}