{
  "openapi": "3.0.1",
  "info": {
    "title": "Handelsregister Firm Scraper",
    "description": "Find company entries on the German Handelsregister portal and return structured records with register type and number, court, federal state, seat, status and legal form. Search by company keywords or register number, and optionally include closed register sheets and earlier company names.",
    "version": "0.1",
    "x-build-id": "CMwSS77FT1ONW5ueo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~handelsregister-company-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-handelsregister-company-scraper",
        "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/axiomworks~handelsregister-company-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-handelsregister-company-scraper",
        "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/axiomworks~handelsregister-company-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-handelsregister-company-scraper",
        "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": {
          "keyword": {
            "title": "Company name keyword",
            "type": "string",
            "description": "Words from the company name to search for, e.g. 'Siemens' or 'Bäckerei'. German umlauts work. Leave empty only when you give registerNumber (with registerCourt), registerCourt, city or seat instead. A name that matches nothing ends the run with 0 results and a message."
          },
          "keywordMatch": {
            "title": "Keyword match",
            "enum": [
              "all",
              "any",
              "exact"
            ],
            "type": "string",
            "description": "How the keyword words are matched: 'all' (default) finds names containing every word, 'any' names containing at least one word, 'exact' the exact company name.",
            "default": "all"
          },
          "similarSounding": {
            "title": "Include similar-sounding names",
            "type": "boolean",
            "description": "Also match names that sound like the keyword (the portal's phonetic search). Default false.",
            "default": false
          },
          "registerCourt": {
            "title": "Register court",
            "type": "string",
            "description": "Local court (Amtsgericht) that keeps the register, as the portal names it, e.g. 'München', 'Berlin (Charlottenburg)', 'Hamburg'. Case and umlauts don't matter ('Muenchen' works). Combine with registerType and registerNumber to look up one company. An unknown court fails the run with a list of close matches.",
            "default": ""
          },
          "registerType": {
            "title": "Register type",
            "enum": [
              "",
              "HRA",
              "HRB",
              "GnR",
              "PR",
              "VR",
              "GsR"
            ],
            "type": "string",
            "description": "Register section: HRB (corporations: GmbH, AG), HRA (partnerships, sole traders), GnR (cooperatives), PR (partnerships of professionals), VR (associations), GsR (civil-law partnerships). Empty = all.",
            "default": ""
          },
          "registerNumber": {
            "title": "Register number",
            "type": "string",
            "description": "Register number without court or type, e.g. '6684' (Siemens AG at München HRB 6684). Up to 10 characters. Works best together with registerCourt and registerType.",
            "default": ""
          },
          "federalStates": {
            "title": "Federal states",
            "type": "array",
            "description": "German federal states (Bundesländer) to search in, e.g. 'Sachsen', 'Bayern', 'Nordrhein-Westfalen'. English names ('Bavaria', 'Saxony') also work. Empty = all of Germany.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "legalForm": {
            "title": "Legal form",
            "type": "string",
            "description": "Legal form as the portal lists it, e.g. 'Gesellschaft mit beschränkter Haftung', 'Aktiengesellschaft', 'eingetragener Verein'. Abbreviations work too: GmbH, AG, SE, KG, OHG, e.V., eG, e.K. Empty = all. An unknown legal form fails the run with close matches.",
            "default": ""
          },
          "city": {
            "title": "City (address)",
            "type": "string",
            "description": "City of the business address, e.g. 'Regensburg'. Up to 30 characters. The portal's postcode search is broken (it answers with an error page), so filter by city instead.",
            "default": ""
          },
          "seat": {
            "title": "Registered seat or branch",
            "type": "string",
            "description": "Registered seat (Sitz) or branch location (Niederlassung), e.g. 'Hamburg'. Up to 30 characters.",
            "default": ""
          },
          "includeDeleted": {
            "title": "Include closed register sheets",
            "type": "boolean",
            "description": "Also return companies whose register sheet is closed (status 'Geschlossenes Registerblatt', e.g. dissolved or merged companies) and deleted branches. Default false: active entries only.",
            "default": false
          },
          "onlyBranches": {
            "title": "Only branches",
            "type": "boolean",
            "description": "Return only branch establishments (Zweigniederlassungen) registered under the new law. Default false.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of companies to return, 1-100, default 50. The portal itself returns at most 100 hits per search; you are charged only for results returned.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy for requests to the register portal. Default: no proxy, which works for normal use. If runs get blocked (the portal limits each IP to about 60 searches an hour), turn on Apify Proxy; a blocked search is retried on a new IP.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}