{
  "openapi": "3.0.1",
  "info": {
    "title": "StepStone Jobs Scraper",
    "description": "StepStone Jobs Scraper SD - StepStone Jobs Scraper is a job data tool that extracts StepStone.de, .at and .be job listings by keyword, location or URL: title, company, salary, home office, date, skills, full description and company profile. No login.",
    "version": "1.0",
    "x-build-id": "yGFSNfukJj3EF9qR3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neuro-scraper~stepstone-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neuro-scraper-stepstone-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/neuro-scraper~stepstone-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neuro-scraper-stepstone-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/neuro-scraper~stepstone-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neuro-scraper-stepstone-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": "Search keywords",
            "type": "array",
            "description": "One StepStone search per line: job title, skill or company, e.g. \"software engineer\", \"Buchhalter\". Leave empty to search all jobs in the location.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City or region on the chosen country site, e.g. \"Berlin\", \"München\", \"Wien\", \"Antwerpen\". Empty = the whole country."
          },
          "radius": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around the location in km (StepStone's own Umkreis), e.g. 10, 30, 50, 100. 0 = StepStone's default (30 km). Used only with a location.",
            "default": 0
          },
          "country": {
            "title": "Country site",
            "enum": [
              "de",
              "at",
              "be"
            ],
            "type": "string",
            "description": "Which StepStone site to search. Start URLs keep their own site.",
            "default": "de"
          },
          "startUrls": {
            "title": "StepStone URLs (optional)",
            "type": "array",
            "description": "StepStone search URLs (filters in the URL are kept, e.g. https://www.stepstone.de/jobs/software-engineer/in-berlin?ag=age_7), company job pages (https://www.stepstone.de/cmp/de/<company>-<id>/jobs.html) or single job pages (https://www.stepstone.de/stellenangebote--...--14590427-inline.html).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "",
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "StepStone's own sort options (read from the result page on every run).",
            "default": ""
          },
          "postedWithin": {
            "title": "Date posted",
            "enum": [
              "all",
              "1",
              "7"
            ],
            "type": "string",
            "description": "StepStone's 'Erscheinungsdatum' filter (the site offers 24 hours and 7 days).",
            "default": "all"
          },
          "employmentType": {
            "title": "Working hours",
            "enum": [
              "",
              "80001",
              "80002"
            ],
            "type": "string",
            "description": "StepStone's 'Arbeitszeit' filter. The option is looked up in the result page's own filter menu.",
            "default": ""
          },
          "contractType": {
            "title": "Contract type",
            "enum": [
              "",
              "222",
              "223",
              "224",
              "225",
              "226",
              "228",
              "229",
              "220"
            ],
            "type": "string",
            "description": "StepStone's 'Anstellungsart' filter, looked up in the result page's filter menu.",
            "default": ""
          },
          "experience": {
            "title": "Experience",
            "enum": [
              "",
              "90001",
              "90002",
              "90003"
            ],
            "type": "string",
            "description": "StepStone's 'Berufserfahrung' filter, looked up in the result page's filter menu.",
            "default": ""
          },
          "workFromHome": {
            "title": "Home office",
            "enum": [
              "",
              "2",
              "1"
            ],
            "type": "string",
            "description": "StepStone's home-office filter, looked up in the result page's filter menu.",
            "default": ""
          },
          "applicationMethod": {
            "title": "Application method",
            "enum": [
              "",
              "INTERNAL",
              "EXTERNAL"
            ],
            "type": "string",
            "description": "StepStone's 'Bewerbungsart' filter.",
            "default": ""
          },
          "language": {
            "title": "Job ad language",
            "type": "string",
            "description": "Language code from StepStone's 'Sprache' filter, e.g. \"de\" or \"en\" (stepstone.be also nl, fr). Empty = all.",
            "default": ""
          },
          "minSalary": {
            "title": "Minimum salary (EUR per year)",
            "minimum": 0,
            "type": "integer",
            "description": "StepStone's salary filter: jobs with a (stated or estimated) salary from this amount, e.g. 50000. The nearest step the site offers at or below the value is used. 0 = off.",
            "default": 0
          },
          "includeRelatedJobs": {
            "title": "Include related jobs",
            "type": "boolean",
            "description": "Also keep the jobs StepStone appends after the exact matches (regional and similar jobs, section 'regional' / 'semantic'). Off = exact matches only.",
            "default": false
          },
          "includeDetails": {
            "title": "Open each job page (full details)",
            "type": "boolean",
            "description": "Read each job page for the full description and its sections, employment and contract type, industry, and the company profile (address, size, founded, industries, sectors, rating, benefits, images, videos, links to the employer's own pages). One extra request per job.",
            "default": false
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many jobs in total (all searches together). The scraper follows StepStone's next-page link (25 jobs per page) until this number or the last page.",
            "default": 50
          },
          "maxPages": {
            "title": "Max result pages per search",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop each search after this many result pages (25 jobs each). 0 = no page limit.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "StepStone blocks many non-European IPs (Akamai 403). A German residential proxy is the default and works for .de, .at and .be.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "DE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}