{
  "openapi": "3.0.1",
  "info": {
    "title": "SmartRecruiters Jobs Scraper: Company Career Pages",
    "description": "Scrape open jobs from SmartRecruiters company career pages (jobs.smartrecruiters.com): title, company, location, workplace type, department, employment type, salary where stated, posting date, apply URL and full description. Filter by keyword, location and date. Pay per result.",
    "version": "0.1",
    "x-build-id": "L4wrPGHAyQgNqiIa9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/santamaria-automations~smartrecruiters-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-santamaria-automations-smartrecruiters-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/santamaria-automations~smartrecruiters-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-santamaria-automations-smartrecruiters-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/santamaria-automations~smartrecruiters-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-santamaria-automations-smartrecruiters-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": {
          "companies": {
            "title": "SmartRecruiters company boards",
            "type": "array",
            "description": "SmartRecruiters board URLs such as https://jobs.smartrecruiters.com/CERN, or bare company identifiers such as CERN (the part after jobs.smartrecruiters.com/). Strings or {\"url\": \"...\"} objects; a single string, or several separated by commas or new lines, also works. A URL of one job posting is reduced to its board; tracking parameters such as utm_source are ignored. URLs of other job systems are skipped with a log line that names the right actor, and are never charged. With no companies (an empty input does this too) the actor runs one sample board (CERN)."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Return only jobs whose TITLE matches at least one of these words or phrases (OR). Case and accents are ignored. A keyword of 4 or more characters matches anywhere inside the title; a keyword of 3 or fewer characters (for example QA, PM) must match as a whole word. Example: [\"engineer\", \"manager\"]. The keywords filter the jobs of the boards you list; they do not search other companies.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional. Return only jobs in this city, region or country, for example \"London\", \"Germany\" or \"DE\". Country names and ISO codes match in both directions."
          },
          "includeRemoteWithoutRegion": {
            "title": "Include remote jobs without a stated region",
            "type": "boolean",
            "description": "Only matters when you filter by country (the Location input is a country, or a query carries a country). Off (default): a remote job counts for the country only when it names it (\"Remote - Germany\"), names a region that contains it (EMEA, Europe, EU, DACH, Americas, APAC) or is open worldwide. Remote jobs that say only \"Remote\" are left out and are not charged. On: those jobs are kept too, but they may not be open to applicants in the chosen country.",
            "default": false
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Optional. ISO 3166-1 alpha-2 codes such as [\"DE\", \"CH\"]. Returns only jobs located in these countries (jobs whose country cannot be determined are left out).",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted Within Days",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Drop jobs posted more than this many days ago. Jobs without a posting date are kept."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "newest",
              "relevance"
            ],
            "type": "string",
            "description": "\"newest\" returns the most recently posted jobs of each board first, so maxJobsPerCompany keeps the newest ones. \"relevance\" keeps the portal's own order. Boards are read in the order you list them.",
            "default": "newest"
          },
          "maxJobsPerCompany": {
            "title": "Max Jobs Per Company",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of jobs returned per board, counted after the filters (filtered-out jobs are never returned or charged). 0 = all jobs.",
            "default": 50
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of jobs returned in total across all companies. The run stops cleanly once it is reached. 0 = no limit.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include Job Description",
            "type": "boolean",
            "description": "Include the job description (HTML) and the stated salary, when the posting has one. Switch off for a smaller, faster run (salary fields are then empty).",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}