{
  "openapi": "3.0.1",
  "info": {
    "title": "Arbeitsagentur Jobs Scraper: Germany's Federal Job Board",
    "description": "Scrape jobs, apprenticeships and internships from the Bundesagentur für Arbeit job board (Jobsuche) by keyword, city and radius: title, employer, address with coordinates, pay when published, working time, contract, dates, link and optional full description. No login.",
    "version": "0.1",
    "x-build-id": "XaJT4e3N10fYCIigI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~arbeitsagentur-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-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/themineworks~arbeitsagentur-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-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/themineworks~arbeitsagentur-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-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 or skills)",
            "type": "array",
            "description": "One search per line, in German or English as you would type it on the job board, for example Pflegefachkraft, Softwareentwickler, Elektriker, Buchhaltung. Each keyword is searched in each location. An empty list returns every job that matches the other filters.",
            "default": [
              "Softwareentwickler"
            ],
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, postcodes or regions, one per line, for example Berlin, 80331, Köln, Hamburg. Each location is its own search, within the radius below. Leave empty for all of Germany (the board also lists some jobs in Austria and other countries).",
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius around each location (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Distance from each location, 0 to 200 km. 0 means the place itself. Ignored when no location is given.",
            "default": 25
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "job",
              "apprenticeship",
              "internship",
              "self_employment",
              "any"
            ],
            "type": "string",
            "description": "Which kind of offer to return. The job board separates jobs, apprenticeships, internships and self employment.",
            "default": "job"
          },
          "workingTime": {
            "title": "Working time",
            "type": "array",
            "description": "Keep only offers with one of these working times. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "shift_night_weekend",
                "minijob"
              ],
              "enumTitles": [
                "Full time (Vollzeit)",
                "Part time (Teilzeit)",
                "Shifts, nights, weekends",
                "Minijob"
              ]
            }
          },
          "contractType": {
            "title": "Contract",
            "enum": [
              "any",
              "permanent",
              "fixed_term"
            ],
            "type": "string",
            "description": "Permanent or fixed term contracts only. Many ads do not say; those are left out by either choice.",
            "default": "any"
          },
          "postedWithinDays": {
            "title": "Published within (days)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only offers published in the last N days, 0 to 100 (0 is today). Leave empty for any date."
          },
          "employer": {
            "title": "Employer",
            "type": "string",
            "description": "Only offers from this employer, written as the job board shows it, for example Deutsche Bahn AG."
          },
          "excludeTempAgencies": {
            "title": "No temporary staffing agencies (Zeitarbeit)",
            "type": "boolean",
            "description": "Leave out offers from temporary staffing agencies.",
            "default": false
          },
          "excludePrivateRecruiters": {
            "title": "No private recruitment agencies",
            "type": "boolean",
            "description": "Leave out offers placed by private recruitment agencies (private Arbeitsvermittlung).",
            "default": false
          },
          "maxJobs": {
            "title": "Max jobs per search",
            "minimum": 20,
            "maximum": 10000,
            "type": "integer",
            "description": "Upper limit per search (one keyword in one location), 20 to 10,000. The job board serves the first 10,000 results of a search, 100 a page. Also the most you pay for per search.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Adds the full job description text, email addresses and links the ad publishes for applications, the temp agency and private recruiter flags and the partner site. One extra request per job.",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only jobs not delivered before",
            "type": "boolean",
            "description": "For schedules: skip jobs an earlier run of this actor in your account already delivered, so each run returns and charges only new jobs. Works best with Published within (days). The list of delivered jobs is kept in a named key value store in your account.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}