{
  "openapi": "3.0.1",
  "info": {
    "title": "Randstad Jobs Scraper",
    "description": "[💰 $0.95 / 1K] Extract job listings from Randstad worldwide. Search by keyword, country, specialism, and job type, or paste Randstad URLs directly. Get structured data: titles, salaries, locations, employment type, hiring company, descriptions, and apply links.",
    "version": "1.0",
    "x-build-id": "uWpQcepzmfrg3Bkhj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~randstad-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-randstad-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~randstad-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-randstad-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~randstad-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-randstad-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": {
          "searchQueries": {
            "title": "Search Keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Job titles, roles, or keywords to search for, such as 'developer', 'nurse', or 'warehouse'. Each keyword runs its own search. Leave empty to collect the broadest result set for the chosen country and filters. Up to 50 keywords per run.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Direct Randstad URLs",
            "maxItems": 50,
            "type": "array",
            "description": "Paste full Randstad search-result or individual job URLs (e.g. https://www.randstad.com/jobs/united-kingdom/q-developer/) to scrape them directly. Useful when you already have a search dialed in on the website — any filters baked into the URL are respected. Up to 50 URLs per run.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "",
              "argentina",
              "australia",
              "austria",
              "belgium",
              "canada",
              "china",
              "denmark",
              "france",
              "germany",
              "greece",
              "hong-kong-sar",
              "hungary",
              "india",
              "italy",
              "japan",
              "malaysia",
              "the-netherlands",
              "new-zealand",
              "poland",
              "portugal",
              "romania",
              "singapore",
              "spain",
              "sweden",
              "switzerland",
              "turkey",
              "united-kingdom"
            ],
            "type": "string",
            "description": "Which country's jobs to search. Leave on 'Any country' to search worldwide.",
            "default": ""
          },
          "category": {
            "title": "Specialism / Category",
            "enum": [
              "",
              "accounting-auditing",
              "administrative-support-services",
              "advertising-marketing-public-relations",
              "banking",
              "biotechnology-pharmaceutical",
              "construction-trades-mining",
              "consulting-services",
              "design",
              "employment-recruitment-agency",
              "engineering",
              "finance-economics",
              "financial-services",
              "health-social-care-practitioner-technician",
              "human-resources",
              "information-technology",
              "installation-maintenance-repair",
              "insurance",
              "legal",
              "property",
              "retail-wholesale",
              "sales",
              "science-research",
              "warehousing-distribution",
              "other"
            ],
            "type": "string",
            "description": "Limit results to one job specialism (the field of work). Leave on 'Any' to include all categories.",
            "default": ""
          },
          "jobType": {
            "title": "Job Type",
            "enum": [
              "",
              "permanent",
              "contract",
              "temporary",
              "freelancer"
            ],
            "type": "string",
            "description": "Limit results to one employment type. Leave on 'Any' to include all types.",
            "default": ""
          },
          "language": {
            "title": "Listing Language",
            "enum": [
              "",
              "english",
              "chinese",
              "danish",
              "dutch",
              "french",
              "german",
              "hungarian",
              "italian",
              "japanese",
              "polish",
              "portuguese",
              "romanian",
              "spanish",
              "turkish"
            ],
            "type": "string",
            "description": "Only return listings in this language. Leave on 'Any' to include all languages.",
            "default": ""
          },
          "maxItems": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of job listings to collect across all searches and URLs. Set to 0 to collect all available results. Results are fetched in pages: the actor stops once your cap is reached but always keeps the whole final page, so a small cap can return a few more than you asked for.",
            "default": 100
          },
          "onlyUniqueJobs": {
            "title": "Only Unique Jobs",
            "type": "boolean",
            "description": "When on, each job is returned once even if it appears across several searches or pages. Deduplicates by the job's vacancy number / URL. Turn off to keep every copy.",
            "default": true
          },
          "includeDescription": {
            "title": "Fetch Full Job Descriptions",
            "type": "boolean",
            "description": "When on, each job page is opened to add the full job description plus requirement details (skills, qualifications, education, experience), the company website, the exact street address, and the ISO currency code. When off, runs are faster and lighter: you still get every result-list field — including a short description preview — but not the full description or the extra requirement details. Leave on for the most complete data.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}