{
  "openapi": "3.0.1",
  "info": {
    "title": "Arbeitsagentur Jobs API - German Job Search with Salary",
    "description": "Search 1M+ jobs from the Bundesagentur für Arbeit (arbeitsagentur.de) via its JSON API. Multiple keywords and cities per run, salary ranges, remote flag, GPS, full descriptions with contact data redacted, and an only-new mode for scheduled runs. No proxies needed.",
    "version": "1.0",
    "x-build-id": "sNETJWq8yHhHCWXbW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/paperlinenstudio~arbeitsagentur-jobs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-paperlinenstudio-arbeitsagentur-jobs-api",
        "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/paperlinenstudio~arbeitsagentur-jobs-api/runs": {
      "post": {
        "operationId": "runs-sync-paperlinenstudio-arbeitsagentur-jobs-api",
        "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/paperlinenstudio~arbeitsagentur-jobs-api/run-sync": {
      "post": {
        "operationId": "run-sync-paperlinenstudio-arbeitsagentur-jobs-api",
        "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 (was)",
            "type": "array",
            "description": "Job titles or keywords, e.g. 'Python', 'Pflegefachkraft', 'Elektriker'. Every keyword is combined with every location. Leave empty to search all jobs.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (wo)",
            "type": "array",
            "description": "Cities, postal codes or German states, e.g. 'Berlin', '80331', 'Bayern'. Leave empty for all of Germany.",
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around each location in km (0–200). Leave empty for the API default."
          },
          "publishedWithinDays": {
            "title": "Published within last N days",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only jobs published in the last N days (0–100). Great for daily/weekly scheduled runs."
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "any",
              "job",
              "self_employment",
              "apprenticeship",
              "internship"
            ],
            "type": "string",
            "description": "Kind of offer.",
            "default": "any"
          },
          "workingTime": {
            "title": "Working time",
            "type": "array",
            "description": "Filter by working time. Allowed values: full_time, part_time, shift_night_weekend, remote, minijob.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "shift_night_weekend",
                "remote",
                "minijob"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Shift / night / weekend",
                "Remote / home office",
                "Minijob"
              ]
            },
            "default": []
          },
          "contractType": {
            "title": "Contract type",
            "enum": [
              "any",
              "fixed_term",
              "permanent"
            ],
            "type": "string",
            "description": "Fixed-term or permanent.",
            "default": "any"
          },
          "occupationalField": {
            "title": "Occupational field (berufsfeld)",
            "type": "string",
            "description": "Optional occupational field, e.g. 'Informatik'."
          },
          "employer": {
            "title": "Employer",
            "type": "string",
            "description": "Optional exact employer name, e.g. 'Deutsche Bahn AG'."
          },
          "includeTemporaryAgencies": {
            "title": "Include temporary work agencies (Zeitarbeit)",
            "type": "boolean",
            "description": "Uncheck to exclude jobs from temporary staffing agencies.",
            "default": true
          },
          "includePrivateAgencies": {
            "title": "Include private recruitment agencies",
            "type": "boolean",
            "description": "Uncheck to exclude jobs posted by private recruitment agencies (PAV).",
            "default": true
          },
          "maxItems": {
            "title": "Max jobs (total)",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of jobs saved in this run (across all searches).",
            "default": 100
          },
          "maxItemsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum jobs per keyword×location combination. The API itself returns at most 10,000 per search.",
            "default": 10000
          },
          "autoSplitByState": {
            "title": "Auto-split big nationwide searches by federal state",
            "type": "boolean",
            "description": "The API returns max. 10,000 jobs per search. If a search without location has more results (and you asked for more than 10,000), it is automatically split into 16 federal-state searches to get past the cap.",
            "default": true
          },
          "fixStateNames": {
            "title": "Treat 'Sachsen', 'Hessen', 'Brandenburg' as federal states",
            "type": "boolean",
            "description": "Without this, the API interprets these names as small towns (radius search). Turned on, they are searched state-wide.",
            "default": true
          },
          "includeDetails": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Fetch the full description for every job (one extra request per job, charged as an extra event).",
            "default": false
          },
          "redactContactData": {
            "title": "Redact e-mails and phone numbers in descriptions",
            "type": "boolean",
            "description": "Recommended for GDPR: replaces e-mail addresses and phone numbers in descriptions with placeholders.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new or changed jobs (incremental mode)",
            "type": "boolean",
            "description": "Remembers jobs from previous runs (per state key) and only outputs new or changed ones. Ideal with Apify Schedules.",
            "default": false
          },
          "stateKey": {
            "title": "State key for incremental mode",
            "type": "string",
            "description": "Use a different key for each monitoring use case. Letters, numbers and dashes only.",
            "default": "default"
          },
          "detailConcurrency": {
            "title": "Detail request concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel detail requests (1–10). Keep low to be polite to the public API.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}