{
  "openapi": "3.0.1",
  "info": {
    "title": "Ausbildung.de Scraper",
    "description": "[💰 $1.3 / 1K] Scrape apprenticeship & vocational-training listings from Ausbildung.de. Get title, company, location, profession, training type & start date. Search by keyword & location, filter by training type & radius, with optional full descriptions.",
    "version": "1.0",
    "x-build-id": "kL6jedCISRstPDNyf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~ausbildung-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-ausbildung-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/solidcode~ausbildung-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-ausbildung-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/solidcode~ausbildung-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-ausbildung-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": "Profession or Keyword",
            "type": "string",
            "description": "Profession, job title, or keyword to search for on Ausbildung.de (e.g. 'Fachinformatiker', 'Kaufmann', 'Pflege'). Matches the 'Was suchst du?' search box on the site. Leave blank to collect all listings matching the location and filters below."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, town, or postal code to search around (e.g. 'Berlin', 'München', '10115'). Matches the 'Wo suchst du?' box on the site. Leave blank to search all of Germany."
          },
          "radius": {
            "title": "Search Radius",
            "enum": [
              "5",
              "10",
              "25",
              "50",
              "200",
              "500",
              "1000"
            ],
            "type": "string",
            "description": "How far around the location to search, in kilometers. Ignored when no location is set."
          },
          "trainingType": {
            "title": "Training Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only listings of these training types. Leave empty to include all. 'Ausbildung' is classic dual vocational training, 'Duales Studium' combines study with work, and the rest cover school-based, in-company, and continuing-education programs.",
            "items": {
              "type": "string",
              "enum": [
                "Ausbildung",
                "Duales Studium",
                "Schulische Ausbildung",
                "Schulische und duale Ausbildung",
                "Betriebsinterne Ausbildung",
                "Abiturientenprogramm",
                "Weiterbildung"
              ],
              "enumTitles": [
                "Ausbildung (dual vocational training)",
                "Duales Studium (dual study)",
                "Schulische Ausbildung (school-based training)",
                "Schulische und duale Ausbildung (school-based & dual)",
                "Betriebsinterne Ausbildung (in-company training)",
                "Abiturientenprogramm (high-school-graduate program)",
                "Weiterbildung (continuing education)"
              ]
            }
          },
          "startUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Advanced: paste full Ausbildung.de search URLs built in the site's own search page (e.g. https://www.ausbildung.de/suche/?search=Fachinformatiker%7CBerlin&radius=25). Any filters already applied on the site are respected. When provided, the keyword, location, and filters above are ignored for these URLs. You can mix URLs with the keyword search.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Fetch Full Listing Details",
            "type": "boolean",
            "description": "Off by default for faster results. Each listing card already includes the title, company, location, profession, and training type. Turn this on to also visit every listing's own page and pull the full description (formatted HTML and plain text), start date, employment type, and structured address — this is slower because every listing needs an extra page visit, so expect longer runs on large searches.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on the total number of listings returned across all searches and URLs. Default 100 — increase for bigger runs, or set to 0 for no cap (the site holds tens of thousands of active listings, and each result is billed at the per-result rate). The actor stops requesting new pages once this number is hit but keeps the full last page even if it slightly overshoots — it never trims a page mid-collection.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}