{
  "openapi": "3.0.1",
  "info": {
    "title": "Stepstone Scraper",
    "description": "💫 Scrape Stepstone.de and similar websites.",
    "version": "0.2",
    "x-build-id": "bpK5IqLJnUFEXneZs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jupri~stepstone-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jupri-stepstone-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/jupri~stepstone-scraper/runs": {
      "post": {
        "operationId": "runs-sync-jupri-stepstone-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/jupri~stepstone-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-jupri-stepstone-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": {
          "query": {
            "title": "❓ Query",
            "type": "string",
            "description": "Search Keywords"
          },
          "portal": {
            "title": "🌐 Portal",
            "enum": [
              "250",
              "255",
              "260",
              "270",
              "280",
              "2",
              "4",
              "7",
              "9",
              "10",
              "40",
              "50",
              "60",
              "76",
              "77",
              "80",
              "300",
              "301",
              "302"
            ],
            "type": "string",
            "description": ""
          },
          "limit": {
            "title": "♾️ Limit",
            "type": "integer",
            "description": "Limit number of results."
          },
          "filters.sort": {
            "title": "🔀 Sorting",
            "enum": [
              "relevance",
              "date",
              "salary_low",
              "salary_high"
            ],
            "type": "string",
            "description": ""
          },
          "filters.include_listing": {
            "title": "Include Listing",
            "type": "array",
            "description": "💡 Includes additional jobs listing.",
            "items": {
              "type": "string",
              "enum": [
                "regional",
                "recommended",
                "family"
              ],
              "enumTitles": [
                "Regional",
                "Recommended",
                "Family"
              ]
            }
          },
          "filters.include_details": {
            "title": "Job Details",
            "enum": [
              "md",
              "text",
              "html",
              "orig"
            ],
            "type": "string",
            "description": "💡 Include additional job-related information such as job description, salary, etc."
          },
          "filters.company": {
            "title": "Company",
            "type": "string",
            "description": "💡 Company-ID (digits)"
          },
          "filters.location": {
            "title": "Location",
            "type": "string",
            "description": ""
          },
          "filters.radius": {
            "title": "Radius",
            "enum": [
              "5",
              "10",
              "20",
              "30",
              "40",
              "50",
              "75",
              "100"
            ],
            "type": "string",
            "description": "💡 Radius in km. <code>(default=30 km)</code>"
          },
          "filters.salary": {
            "title": "Salary",
            "type": "integer",
            "description": "💡 Minimum salary (per year)"
          },
          "filters.age": {
            "title": "Date posted",
            "enum": [
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": ""
          },
          "filters.remote": {
            "title": "Work from home",
            "type": "array",
            "description": "",
            "items": {
              "type": "string",
              "enum": [
                "partial",
                "remote"
              ],
              "enumTitles": [
                "Partially remote",
                "Fully remote"
              ]
            }
          },
          "filters.apply": {
            "title": "Application method",
            "type": "array",
            "description": "",
            "items": {
              "type": "string",
              "enum": [
                "INTERNAL",
                "EXTERNAL"
              ],
              "enumTitles": [
                "Easy apply",
                "On company website"
              ]
            }
          },
          "filters.experience": {
            "title": "Experience",
            "enum": [
              "no",
              "required",
              "executive"
            ],
            "type": "string",
            "description": ""
          },
          "filters.contract": {
            "title": "Contract Type",
            "type": "array",
            "description": "",
            "items": {
              "type": "string",
              "enum": [
                "222",
                "226",
                "223",
                "229",
                "228",
                "220",
                "224",
                "225",
                "232",
                "227",
                "221",
                "231",
                "230"
              ],
              "enumTitles": [
                "Permanent contract",
                "Apprenticeship, Studies",
                "Temporary contract",
                "Student job, Industrial placement student",
                "Internship",
                "Temporary",
                "Entry level / trainee",
                "Freelance/Permanent contract",
                "Trade representative",
                "Bachelor dissertation / Master thesis",
                "Franchise",
                "Professional traineeship",
                "Doctoral thesis/State doctorate"
              ]
            }
          },
          "filters.worktype": {
            "title": "Work type",
            "type": "array",
            "description": "",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime"
              ],
              "enumTitles": [
                "Full Time",
                "Part Time"
              ]
            }
          },
          "filters.language": {
            "title": "Job language",
            "type": "array",
            "description": "💡 Example: \"de\"",
            "items": {
              "type": "string"
            }
          },
          "dev_custom_headers": {
            "title": "📜 HTTP HEADERS",
            "type": "array",
            "description": "💡 Additional HTTP Headers",
            "items": {
              "type": "object",
              "required": [
                "key",
                "value"
              ],
              "properties": {
                "key": {
                  "type": "string",
                  "title": "Key"
                },
                "value": {
                  "type": "string",
                  "title": "Value"
                }
              }
            }
          },
          "dev_custom_cookies": {
            "title": "🍰 HTTP COOKIES",
            "type": "array",
            "description": "💡 Additional HTTP Cookies",
            "items": {
              "type": "object",
              "required": [
                "key",
                "value"
              ],
              "properties": {
                "key": {
                  "type": "string",
                  "title": "Key"
                },
                "value": {
                  "type": "string",
                  "title": "Value"
                }
              }
            }
          },
          "dev_transform_fields": {
            "title": "♻️ CUSTOM FIELD",
            "type": "array",
            "description": "💡 <b>Transform the resulting output. Select only needed fields.</b><br><br>For nested object use <b>DOT</b>. For example: <pre>address.streetAddress</pre><br>For nested array use <b>NUMBER</b> <i>(index of array element starting from index=0)</i>. For example: <pre>images.0.url</pre>",
            "items": {
              "type": "object",
              "required": [
                "key",
                "value"
              ],
              "properties": {
                "key": {
                  "type": "string",
                  "title": "Key"
                },
                "value": {
                  "type": "string",
                  "title": "Value"
                }
              }
            }
          },
          "dev_dataset_name": {
            "title": "📁 CUSTOM STORAGE",
            "type": "string",
            "description": "💡 <b>Save results into custom named Dataset, use mask to customize dataset name</b><br><br><code>{ACTOR} = actor name<br>{DATE} = date (YYYYMMDD)<br>{TIME} = time (HHMMSS)</code><br><br>This masks can be used to autogenerate Dataset Name.<br><br>example: <i><code>data-{DATE}</code></i><br>Depending on today date the dataset name will be: <code>data-20230603</code><i><br><br>default: <code>data-{ACTOR}-{DATE}-{TIME}</code></i>"
          },
          "dev_dataset_clear": {
            "title": "Clear Storage",
            "type": "boolean",
            "description": "Clear Dataset before insert/update."
          },
          "dev_no_strip": {
            "title": "Disable data cleansing",
            "type": "boolean",
            "description": "💡 Keep/Save empty values <i><code>(NULL, FALSE, empty ARRAY, empty OBJECT, empty STRING)</code></i>"
          },
          "dev_dedup_index": {
            "title": "🔑 DEDUP INDEX",
            "type": "string",
            "description": "💡 <b>Avoid duplicates accross multiple runs.</b><li>Specify the same <code>DEDUP INDEX</code> and <code>DEDUP KEY</code> on every run.</li><li>Index Name. <b>example:</b> <code>\"Main Index\"</code>"
          },
          "dev_dedup_key": {
            "title": "🔑 DEDUP KEY",
            "type": "string",
            "description": "💡 Attribute (unique/primary KEY). This key must be unique across all datasets. <b>example:<b> <code>\"zpid\"</code> or <code>\"item_id\"</code>"
          },
          "dev_fileupload": {
            "title": "📁 FILE UPLOADER",
            "type": "string",
            "description": "💡 Upload your file and copy & paste the URL somewhere."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}