{
  "openapi": "3.0.1",
  "info": {
    "title": "Belgium KBO Company Registry (New Companies, NACE, Addresses)",
    "description": "Look up Belgian companies from the official KBO/BCE public search by enterprise number, or discover new companies by start date, NACE code and postcode. Returns legal form, status, address and activities. Delta mode returns only companies not seen before.",
    "version": "0.0",
    "x-build-id": "nHkRaM8queYcOyU8e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/goobertje~belgium-kbo-company-registry/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-goobertje-belgium-kbo-company-registry",
        "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/goobertje~belgium-kbo-company-registry/runs": {
      "post": {
        "operationId": "runs-sync-goobertje-belgium-kbo-company-registry",
        "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/goobertje~belgium-kbo-company-registry/run-sync": {
      "post": {
        "operationId": "run-sync-goobertje-belgium-kbo-company-registry",
        "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": {
          "enterpriseNumbers": {
            "title": "Enterprise numbers",
            "type": "array",
            "description": "Belgian enterprise numbers (ondernemingsnummer / numero d'entreprise) to look up, with or without dots or the BE prefix. Numbers with a wrong check digit are ignored. Example: [\"0403.199.702\", \"BE0202239951\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "naceCodes": {
            "title": "NACE-BEL activity codes (discovery)",
            "type": "array",
            "description": "Find companies that have one of these NACE-BEL 2025 activity codes (3 to 7 digits, dots allowed, up to 10 codes). Needs at least one postal code. A search returns at most 200 hits, so combine specific codes with a few postal codes. Example: [\"62.100\", \"62.200\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes (discovery)",
            "type": "array",
            "description": "4-digit Belgian postal codes where an establishment or the registered seat must be. Required together with NACE codes; every group of 4 postal codes is one search. Example: [\"9000\", \"9050\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerm": {
            "title": "Name search (discovery)",
            "type": "string",
            "description": "Phonetic search on company, establishment and trade names (also finds old names). Returns at most 200 hits; add a postal code to narrow it. Example: \"delhaize\"."
          },
          "searchPostalCode": {
            "title": "Postal code for name search",
            "pattern": "^$|^[0-9]{4}$",
            "type": "string",
            "description": "Optional 4-digit postal code that narrows the name search. Example: \"1000\"."
          },
          "legalForms": {
            "title": "Legal form filter",
            "type": "array",
            "description": "Keep only companies whose legal form contains one of these texts, in English as shown by KBO (case-insensitive). Applies to discovery only. Example: [\"private limited company\", \"public limited company\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startedSince": {
            "title": "Started on or after",
            "type": "string",
            "description": "Discovery only: keep companies whose enterprise start date is on or after this date (YYYY-MM-DD). Leave empty for no limit. Can be combined with Started within last days; the later date wins. Example: \"2026-09-01\"."
          },
          "startedWithinDays": {
            "title": "Started within last days",
            "minimum": 0,
            "maximum": 36500,
            "type": "integer",
            "description": "Discovery only: keep companies that started in the last N days, which suits scheduled runs. 0 means no limit. Example: 14.",
            "default": 0
          },
          "onlyActive": {
            "title": "Only active companies (discovery)",
            "type": "boolean",
            "description": "Discovery only: skip stopped or otherwise not-active entities. Explicit enterprise numbers are always returned, whatever their status.",
            "default": true
          },
          "includeNaturalPersons": {
            "title": "Include natural persons (sole traders)",
            "type": "boolean",
            "description": "By default only legal entities (companies, associations) are returned. Enable to also return one-person businesses registered under a private person's name; this is personal data, see the README before enabling it.",
            "default": false
          },
          "includeFunctions": {
            "title": "Include functions (directors etc.)",
            "type": "boolean",
            "description": "Add the persons holding a legal function (director, manager, auditor ...) with their start date. These are names of private persons; GDPR applies and they may not be used for direct marketing. See the README.",
            "default": false
          },
          "includeEstablishments": {
            "title": "Include establishment units",
            "type": "boolean",
            "description": "Add the establishment units (branches, shops) of each company with number, name, start date and address. Costs one extra request per 20 units.",
            "default": false
          },
          "maxEstablishments": {
            "title": "Max establishments per company",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Upper limit of establishment units listed per company when Include establishment units is on; establishmentsTruncated tells if more exist. Range 1 to 200. Example: 20.",
            "default": 20
          },
          "naceVersions": {
            "title": "NACE-BEL versions to output",
            "type": "array",
            "description": "Which NACE-BEL versions of the activity list to include. 2025 is the current one; 2008 and 2003 are the older registrations kept by KBO.",
            "items": {
              "type": "string",
              "enum": [
                "2025",
                "2008",
                "2003"
              ],
              "enumTitles": [
                "NACE-BEL 2025 (current)",
                "NACE-BEL 2008",
                "NACE-BEL 2003"
              ]
            },
            "default": [
              "2025"
            ]
          },
          "onlyNewCompanies": {
            "title": "Only new companies (delta mode)",
            "type": "boolean",
            "description": "Remember every delivered enterprise in a named key-value store and skip them on later runs, so a weekly schedule only returns companies not delivered before. Delivered companies are not billed again. The first run returns everything that matches.",
            "default": false
          },
          "stateStoreName": {
            "title": "State store name",
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "minLength": 3,
            "maxLength": 63,
            "type": "string",
            "description": "Name of the persistent key-value store that holds the delta state. Use a different name per feed (for example per NACE/postal-code set). Only lowercase letters, digits and hyphens are allowed (not at the start or end). Example: \"kbo-company-state\".",
            "default": "kbo-company-state"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of companies (dataset items, each one billed) a run outputs; the run stops once reached. Example: 100.",
            "default": 50
          },
          "maxCandidates": {
            "title": "Max candidates to check",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Upper limit of enterprises whose detail page is read in one run (discovery results that fail the date or legal-form filter still cost a request, but are not billed). Protects run time: about 1.5 seconds per candidate. Example: 500.",
            "default": 500
          },
          "requestDelaySecs": {
            "title": "Delay between requests (seconds)",
            "minimum": 1,
            "maximum": 30,
            "type": "number",
            "description": "Pause between requests to the KBO server, to stay polite and avoid its CAPTCHA throttle. Minimum 1, maximum 30. Example: 1.5.",
            "default": 1.5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}