{
  "openapi": "3.0.1",
  "info": {
    "title": "Hiring Companies Germany – Employers with Contact Data",
    "description": "Job and place in, one row per company that is hiring for it out: open positions, job titles and locations from the Jobbörse of the Bundesagentur für Arbeit, plus the company's own website and the contact data of its legal notice (Impressum), confirmed by the company's name on that page.",
    "version": "0.2",
    "x-build-id": "DbLJG9Xij6TVsPY8x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/perceptr0n~hiring-companies-germany/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-perceptr0n-hiring-companies-germany",
        "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/perceptr0n~hiring-companies-germany/runs": {
      "post": {
        "operationId": "runs-sync-perceptr0n-hiring-companies-germany",
        "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/perceptr0n~hiring-companies-germany/run-sync": {
      "post": {
        "operationId": "run-sync-perceptr0n-hiring-companies-germany",
        "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": "Job or keyword",
            "type": "string",
            "description": "What the companies are hiring for, as you would type it into the Jobbörse, e.g. `Elektriker`, `Pflegefachkraft`, `SAP Berater`. Leave it empty to find all companies hiring in the place. With neither a keyword nor a place, the run is the example search Elektriker in Berlin."
          },
          "location": {
            "title": "Place",
            "type": "string",
            "description": "Town, postal code or federal state, e.g. `Berlin`, `80331` or `Bayern`. Leave empty for all of Germany."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Distance around the place. Default 25.",
            "default": 25
          },
          "publishedSince": {
            "title": "Ads published within the last N days",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only companies with an ad published in this many days (0–100), e.g. `7` for a weekly list. Leave empty for all ads."
          },
          "excludeAgencies": {
            "title": "Leave out temp and recruitment agencies",
            "type": "boolean",
            "description": "Default on: ads of temporary work agencies (Zeitarbeit) and private recruiters are left out, so only companies that hire for themselves remain.",
            "default": true
          },
          "maxCompanies": {
            "title": "Maximum companies",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Default 10. Stop after this many company rows. The companies with the most open positions come first.",
            "default": 10
          },
          "maxJobs": {
            "title": "Maximum job ads read",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Default 200. How many job ads are read to find the companies (at most 10,000 per run). More ads find more companies; set it to at least ten times `maxCompanies`.",
            "default": 200
          },
          "onlyWithContact": {
            "title": "Only companies with contact data",
            "type": "boolean",
            "description": "Default off. When on, only companies with contact data get a row: those whose own website was confirmed, and those for which the website of their group was found (status `group`). The others produce no row and cost nothing.",
            "default": false
          },
          "validateVat": {
            "title": "Check VAT IDs in VIES",
            "type": "boolean",
            "description": "Default on: a VAT ID found in the legal notice is checked in the EU's VIES register.",
            "default": true
          },
          "includePersonNames": {
            "title": "Include person names",
            "type": "boolean",
            "description": "Default off. When on, managing directors from the legal notice, and personal e-mail addresses and mobile numbers from the ads, are included. These are personal data under GDPR — you need a lawful basis to process them.",
            "default": false
          },
          "webFetch": {
            "title": "Read refusing sites through Apify's Web Fetch",
            "type": "boolean",
            "description": "Default on. A company site this actor cannot read itself — it refuses automated requests, does not answer, or draws its legal notice with JavaScript — is read once more through Apify's Web Fetch actor: only after every other candidate site was tried, only sites the ads, Wikidata or the company's name point to, and at most 2 sites per company. Apify bills it on your account ($0.0015 per delivered page, at most 6 pages per site).",
            "default": true
          },
          "listId": {
            "title": "List name for \"only new companies\"",
            "type": "string",
            "description": "Optional. With a list name, each run remembers the companies it delivered under that name, and the next run with the same name delivers only companies that were not in the list before — set it for weekly schedules."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}