{
  "openapi": "3.0.1",
  "info": {
    "title": "Arbeitsagentur Jobs – German Jobs, Bundesagentur Jobbörse",
    "description": "Keyword and place in, one row per job listing out from the Jobbörse of the Bundesagentur für Arbeit (Arbeitsagentur): title, employer, salary, home office, location, publish date, full text. Up to 100 searches per run; with a list name, only new or changed jobs. Schedule it to see who is hiring.",
    "version": "0.2",
    "x-build-id": "jcUPPCwLdha2Ob5i0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/perceptr0n~arbeitsagentur-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-perceptr0n-arbeitsagentur-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/perceptr0n~arbeitsagentur-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-perceptr0n-arbeitsagentur-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/perceptr0n~arbeitsagentur-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-perceptr0n-arbeitsagentur-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": {
          "keyword": {
            "title": "Search keyword",
            "type": "string",
            "description": "What to search for: job title, skill or profession — e.g. `Elektriker`, `Data Analyst`, `Pflege`. German terms find more jobs. At least one of keyword, location or employer is required. Leave empty to search all professions."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, postcode, federal state or country — e.g. `München`, `10115`, `Bayern (Bundesland)`, `Österreich`. Leave empty (or use `Deutschland`) for a nationwide search. Write states with `(Bundesland)`: plain `Hessen` or `Sachsen` are searched as villages of that name. Use umlauts: `Muenchen` is not recognised. Common English names (`Munich`, `Cologne`, `Bavaria`, `Austria`) are searched under their German name. The run reports how the job search understood the place."
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Radius around the location in kilometers (0–200; ignored without a location).",
            "default": 25
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "1",
              "2",
              "4",
              "34"
            ],
            "type": "string",
            "description": "Type of position: `1` = jobs (Arbeit, default), `2` = self-employment (Selbstständigkeit), `4` = apprenticeship / dual study (Ausbildung), `34` = internship / trainee (Praktikum).",
            "default": "1"
          },
          "publishedSince": {
            "title": "Published within last N days",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only return jobs published within the last N days (0–100, e.g. `7` for weekly monitoring). Leave empty for all."
          },
          "employer": {
            "title": "Employer name filter",
            "type": "string",
            "description": "Only jobs from this employer. The job search needs the **exact name as listed** — `Deutsche Bahn AG`, not `Deutsche Bahn` (that finds 0). If nothing matches, the run lists the matching spellings it found. Works on its own, without keyword or location."
          },
          "workingTime": {
            "title": "Working time",
            "enum": [
              "vz",
              "tz",
              "snw",
              "mj"
            ],
            "type": "string",
            "description": "Working-time model: `vz` = full-time (Vollzeit), `tz` = part-time (Teilzeit), `snw` = shift / night / weekend, `mj` = mini job. Leave empty for all. Home office is a separate filter below."
          },
          "homeOffice": {
            "title": "Home office",
            "enum": [
              "possible",
              "min50",
              "remote"
            ],
            "type": "string",
            "description": "Only jobs with home office: `possible` = the employer offers home office, by arrangement or with a share in percent; `min50` = at least 50 %; `remote` = fully remote (100 %). `min50` and `remote` use the share the employer states (jobs with home office only \"by arrangement\" have none and are left out). Leave empty for all."
          },
          "excludeTemporaryEmployment": {
            "title": "Exclude temp agencies (Zeitarbeit)",
            "type": "boolean",
            "description": "Filter out listings from temporary-employment agencies.",
            "default": false
          },
          "includeDetails": {
            "title": "Fetch full job descriptions",
            "type": "boolean",
            "description": "Fetch the complete job description text for every result — one extra request per job. Measured: about 19 jobs per second with descriptions, about 140 per second without.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Default 200. Stop after this many distinct jobs — per search, when `searches` holds several. One search at the job board returns at most 10,000 hits; above 9,000 the run splits a larger search into federal states (and further, if needed) and puts the result together without duplicates. How complete the run was is written to the `COVERAGE` record of the run's key-value store.",
            "default": 200
          },
          "searches": {
            "title": "Several searches in one run",
            "type": "array",
            "description": "Optional. A list of searches, each with its own `keyword`, `location`, `radiusKm`, `employer`, `publishedSince`, `offerType`, `workingTime`, `homeOffice`, `excludeTemporaryEmployment`, `includeDetails` or `maxItems`. Fields an entry leaves out come from the fields above, so `[{\"location\": \"Berlin\"}, {\"location\": \"Hamburg\"}]` searches the keyword above in both cities. An entry can also be just a keyword: `[\"Elektriker\", \"Mechatroniker\"]`. A job that two searches find is stored and charged once. One run starts (and charges the start) once; at most 100 searches per run. Every row says in `query` which search found it."
          },
          "listId": {
            "title": "List name for \"only new or changed jobs\"",
            "type": "string",
            "description": "Optional. With a list name, each run remembers the jobs it delivered under that name, and the next run with the same name delivers only jobs that are new or whose posting changed since (`change`: `new` or `changed`). Unchanged jobs are skipped — not stored, not charged. Set it for daily or weekly schedules. The list stays in your own Apify account (key-value store `arbeitsagentur-jobs-lists`) and keeps the last 100,000 jobs; do not run two runs with the same list name at the same time."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}