{
  "openapi": "3.0.1",
  "info": {
    "title": "Arbeitsagentur Jobs Scraper - Bundesagentur für Arbeit Jobbörse",
    "description": "Search Germany's Arbeitsagentur Jobbörse (Bundesagentur für Arbeit, 1M+ jobs). Input: keywords, city + radius (e.g. Lagerhelfer within 25 km of München), employer, home office, working time. Returns per job: title, employer, city, salary, posted date, URL. Only-new mode. Default: 20 jobs. $0.75/1K.",
    "version": "1.0",
    "x-build-id": "GIrrBIWGEZgatw3sv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kadi_bence~arbeitsagentur-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kadi_bence-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/kadi_bence~arbeitsagentur-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kadi_bence-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/kadi_bence~arbeitsagentur-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kadi_bence-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": {
          "keywords": {
            "title": "Keywords (job titles)",
            "type": "array",
            "description": "One search per line (job titles or skills), e.g. 'Elektroniker', 'Data Engineer', 'Pflegefachkraft'. German terms usually find more offers. Leave empty to search all jobs, but then set a location, employer or occupational field, or Max results, because all of Germany is 1M+ jobs.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location (city or postal code)",
            "type": "string",
            "description": "City or postal code, e.g. 'Berlin', 'München' or '80331'. Leave empty for all of Germany. Put only the place here, not job words."
          },
          "radiusKm": {
            "title": "Radius around location (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Radius around the location in km, e.g. 25. Only used together with a location."
          },
          "employer": {
            "title": "Employer name",
            "type": "string",
            "description": "Only jobs from this employer, written as shown on arbeitsagentur.de (e.g. 'Deutsche Bahn AG')."
          },
          "occupationalField": {
            "title": "Occupational field (Berufsfeld)",
            "type": "string",
            "description": "Optional Berufsfeld as used by the Jobbörse, e.g. 'Informatik'."
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "job",
              "apprenticeship",
              "internship",
              "self_employment"
            ],
            "type": "string",
            "description": "Kind of offer: a regular job, an apprenticeship or dual study (Ausbildung), an internship or trainee position (Praktikum), or self-employment.",
            "default": "job"
          },
          "workingTime": {
            "title": "Working time",
            "type": "array",
            "description": "Leave empty for any. With several values, offers matching any of them are kept. 'Home office / remote' keeps only offers that allow working from home.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "shift_night_weekend",
                "home_office",
                "minijob"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Shift / night / weekend",
                "Home office / remote",
                "Minijob"
              ]
            }
          },
          "contractType": {
            "title": "Contract",
            "enum": [
              "any",
              "permanent",
              "temporary"
            ],
            "type": "string",
            "description": "Permanent or fixed-term.",
            "default": "any"
          },
          "publishedWithinDays": {
            "title": "Published within (days)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only offers published in the last N days (0-100), e.g. 7. Leave empty for any date."
          },
          "includeTemporaryAgencies": {
            "title": "Include temporary-work agencies (Zeitarbeit)",
            "type": "boolean",
            "description": "Turn off to hide offers from temporary-work agencies (Zeitarbeit / Arbeitnehmerüberlassung).",
            "default": true
          },
          "includePrivateAgencies": {
            "title": "Include private recruitment agencies",
            "type": "boolean",
            "description": "Turn off to hide offers posted by private job placement agencies.",
            "default": true
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs in total (all keywords together). 0 = no limit. The Console prefill is 50 for a quick test. The default without input (API, MCP and AI-agent calls) is 20. The Jobbörse pages through at most about 10,000 results per search, so split very large searches by keyword or location.",
            "default": 20
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Fetch the description, all work locations, contract details and salary for each job (one extra request per job). Turn off for a faster list without descriptions.",
            "default": true
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "Most Jobbörse descriptions are plain text with line breaks. 'HTML' is filled only when the employer's description is HTML.",
            "default": "text"
          },
          "stripContactInfo": {
            "title": "Remove e-mails and phone numbers from descriptions",
            "type": "boolean",
            "description": "Removes e-mail addresses and phone numbers from descriptions. Recommended (GDPR).",
            "default": true
          },
          "onlyNewJobs": {
            "title": "Only new jobs (monitoring mode)",
            "type": "boolean",
            "description": "Remember returned jobs and output only NEW ones on the next runs with the same input. Ideal for daily schedules; you pay only for new jobs. Only jobs that were actually output (and charged) are remembered, so jobs cut off by Max results or the charge limit come in the next run.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Separate 'already seen' lists for different schedules. Use a new name to start over.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Usually not needed. Only if the log says the API refused every endpoint (HTTP 401/403): enable Apify Proxy with the RESIDENTIAL group and country Germany (DE).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}