{
  "openapi": "3.0.1",
  "info": {
    "title": "StepStone Scraper — German Job Listings, Full Ads, No Phones",
    "description": "German jobs from StepStone.de: title, company, location, contract type, full/part time, home office, posted date, the full job ad and StepStone's salary estimate. No recruiter names or phones.",
    "version": "0.1",
    "x-build-id": "x6Z6NI1nmNWOrcYjr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/highbrow_fame~stepstone-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-highbrow_fame-stepstone-jobs",
        "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/highbrow_fame~stepstone-jobs/runs": {
      "post": {
        "operationId": "runs-sync-highbrow_fame-stepstone-jobs",
        "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/highbrow_fame~stepstone-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-highbrow_fame-stepstone-jobs",
        "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": {
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Set up a search on stepstone.de with all the filters you want and paste the address of the results page. One per line.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Or search here without a link: job titles or keywords (Pflegefachkraft, Python Developer, Buchhalter). One search per line; the place and filters below apply to each.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Place",
            "type": "string",
            "description": "A city, postcode or region (Hamburg, 80331, Bayern). Empty: all of Germany. With a place and no keywords, you get every job there."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Optional: jobs this far around the place — 5, 10, 20, 30, 40, 50, 75 or 100 km; other numbers round up. StepStone's default is 30."
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Optional: only jobs from the last 1, 3, 7, 14 or 30 days; other numbers round up. 0: any date.",
            "default": 0
          },
          "workType": {
            "title": "Full or part time",
            "enum": [
              "any",
              "full-time",
              "part-time"
            ],
            "type": "string",
            "description": "Optional.",
            "default": "any"
          },
          "contractTypes": {
            "title": "Contract types",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: any of these.",
            "items": {
              "type": "string",
              "enum": [
                "permanent",
                "fixed-term",
                "temporary-agency",
                "freelance",
                "trainee",
                "apprenticeship",
                "internship",
                "working-student",
                "thesis"
              ],
              "enumTitles": [
                "Permanent (Feste Anstellung)",
                "Fixed-term (Befristeter Vertrag)",
                "Temporary agency work (Arbeitnehmerüberlassung)",
                "Freelance / project (Freie Mitarbeit)",
                "Graduate / trainee (Berufseinstieg/Trainee)",
                "Apprenticeship / dual study (Ausbildung, Studium)",
                "Internship (Praktikum)",
                "Working student (Werkstudent)",
                "Thesis (Abschlussarbeit)"
              ]
            }
          },
          "homeOffice": {
            "title": "Home office",
            "enum": [
              "any",
              "partly",
              "only"
            ],
            "type": "string",
            "description": "Optional.",
            "default": "any"
          },
          "applyMethod": {
            "title": "How to apply",
            "enum": [
              "any",
              "stepstone",
              "company-site"
            ],
            "type": "string",
            "description": "Optional: only jobs you apply for on StepStone (quick apply), or only jobs you apply for on the company's own site.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "For the keywords above.",
            "default": "relevance"
          },
          "includeRelatedJobs": {
            "title": "Include related jobs",
            "type": "boolean",
            "description": "StepStone adds related jobs after the ones that match the keyword (for \"Python Developer\" also backend and data jobs) and counts them in its result number. Untick to keep only the jobs that match the keyword; the field match says which is which.",
            "default": true
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stops each search after this many jobs.",
            "default": 200
          },
          "includeDetails": {
            "title": "Open every job ad",
            "type": "boolean",
            "description": "Adds the full job ad as plain text, the contract type, full or part time, industry, postcode, the date the ad runs until and StepStone's salary estimate when it has one. One more page per job, so slower.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches to work on at the same time.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Used only when StepStone turns a request down: the first try goes out directly.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}