{
  "openapi": "3.0.1",
  "info": {
    "title": "Arbeitsagentur Jobs Scraper",
    "description": "Scrape German job listings and get title, employer, occupation, location, postcode, contract type, working time, remote flag, start date and apply URL. Filter by city and radius, sector, employer or posting age. No login, no account.",
    "version": "1.0",
    "x-build-id": "jd4be7pu8hSHn5m7v"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zilicon~german-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zilicon-german-jobs-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/zilicon~german-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zilicon-german-jobs-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/zilicon~german-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zilicon-german-jobs-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": {
          "keywords": {
            "title": "Search keywords",
            "type": "string",
            "description": "Job title or free-text search, e.g. 'developer', 'projektmanager', 'pflegefachkraft'. Searched server-side across the whole German market. Leave blank to return everything matching your other filters."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs. Use it to cap cost - 500 results costs about $1.50. Set 0 for no cap (bounded only by Max pages).",
            "default": 100
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City or postcode to search around, e.g. 'Berlin', 'München', 'Hamburg', '10178'. Write umlauts as real characters or plain letters ('München' or 'Munchen'); the 'ue'/'oe' spelling ('Muenchen') matches no jobs and returns an empty result. Leave blank for all of Germany."
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "How far around the location to search, in kilometres, e.g. 25 for a city and its suburbs, 200 for a whole region. 200 km is the largest radius the job board accepts. Ignored when no location is set.",
            "default": 25
          },
          "occupationField": {
            "title": "Occupation field (Berufsfeld)",
            "type": "string",
            "description": "Restrict to one of the agency's occupational groups. This must match a Berufsfeld label EXACTLY, including capitals - it is a fixed vocabulary, not free text, and an invented value returns nothing. Working examples: 'Softwareentwicklung und Programmierung', 'Informatik', 'Altenpflege', 'Elektrotechnik', 'Kaufleute - Verkehr und Logistik'."
          },
          "employer": {
            "title": "Employer",
            "type": "string",
            "description": "Only jobs from this employer. Use the full registered name as the agency records it - 'Siemens AG' and 'Deutsche Bahn AG' both work, while the bare names 'Siemens' and 'Deutsche Bahn' match nothing and return an empty result."
          },
          "publishedWithinDays": {
            "title": "Published within",
            "enum": [
              "",
              "1",
              "7",
              "14",
              "28"
            ],
            "type": "string",
            "description": "Only jobs first published inside this window. The job board honours exactly four windows - 1, 7, 14 and 28 days - and silently ignores any other value, returning the unfiltered corpus, so only those four are offered here. Leave 'Any time' for no date limit.",
            "default": ""
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "",
              "job",
              "apprenticeship",
              "internship",
              "selfEmployment"
            ],
            "type": "string",
            "description": "What kind of position to return. 'Job' is ordinary employment; apprenticeships cover Ausbildung and dual study programmes.",
            "default": ""
          },
          "contractType": {
            "title": "Contract type",
            "enum": [
              "",
              "permanent",
              "fixedTerm"
            ],
            "type": "string",
            "description": "Permanent (unbefristet) or fixed-term (befristet) contracts only.",
            "default": ""
          },
          "workingTime": {
            "title": "Working time",
            "type": "array",
            "description": "Working-time models to include, e.g. full-time only, or part-time plus mini-job. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "partTime",
                "shiftNightWeekend",
                "miniJob"
              ],
              "enumTitles": [
                "Full-time (Vollzeit)",
                "Part-time (Teilzeit)",
                "Shift / night / weekend",
                "Mini-job (geringfügig)"
              ]
            },
            "default": []
          },
          "remoteOnly": {
            "title": "Remote-capable only",
            "type": "boolean",
            "description": "Keep only postings the employer flagged as home-office capable. Applied to the results after fetching, because the agency's own remote search filter covers only a narrow legacy teleworking category.",
            "default": false
          },
          "includeTempAgencies": {
            "title": "Include staffing agencies",
            "type": "boolean",
            "description": "Include postings from temporary-staffing firms (Zeitarbeit). Turn off to see only direct employers.",
            "default": true
          },
          "accessibleJobs": {
            "title": "Suitable for people with disabilities",
            "type": "boolean",
            "description": "Only postings the employer marked as suitable for applicants with a disability.",
            "default": false
          },
          "maxPages": {
            "title": "Max pages to scan",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many result pages (100 jobs each) to walk. Raise it only when Max results is high and you are not getting enough rows back. The job board stops paginating at page 100, so a single run can reach at most 10,000 jobs - narrow the search with a location, occupation field or date window to get past that.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy configuration. Datacenter proxies are fine for this source.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}