{
  "openapi": "3.0.1",
  "info": {
    "title": "Randstad.nl Vacatures Scraper",
    "description": "Extract job listings from Randstad.nl — the largest Dutch staffing agency. Thousands of temp, flex and permanent vacancies with salary, location and contract filters. Full descriptions in HTML, text and Markdown. Repost detection. No API key required.",
    "version": "2.5",
    "x-build-id": "toMj8DaBMJo0oltFm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unfenced-group~randstad-nl-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unfenced-group-randstad-nl-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/unfenced-group~randstad-nl-scraper/runs": {
      "post": {
        "operationId": "runs-sync-unfenced-group-randstad-nl-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/unfenced-group~randstad-nl-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-unfenced-group-randstad-nl-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": {
          "searchQuery": {
            "title": "Zoekterm",
            "type": "string",
            "description": "Zoekterm voor vacatures, bijv. 'developer', 'verpleegkundige'. Leeg = alle vacatures.",
            "default": ""
          },
          "city": {
            "title": "Stad / Locatie",
            "type": "string",
            "description": "Stad, bijv. 'Amsterdam', 'Rotterdam'. Leeg = heel Nederland.",
            "default": ""
          },
          "radius": {
            "title": "Zoekstraal (km)",
            "enum": [
              "5",
              "10",
              "20",
              "30",
              "40",
              "50",
              "75",
              "100"
            ],
            "type": "string",
            "description": "Zoekstraal rondom de opgegeven stad in kilometer.",
            "default": "40"
          },
          "employmentType": {
            "title": "Soort dienstverband",
            "enum": [
              "",
              "vast",
              "tijdelijk",
              "detachering",
              "uitzicht"
            ],
            "type": "string",
            "description": "Filter op type dienstverband.",
            "default": ""
          },
          "educationLevel": {
            "title": "Opleidingsniveau",
            "enum": [
              "",
              "basisonderwijs",
              "vmbo",
              "mbo",
              "hbo",
              "wo"
            ],
            "type": "string",
            "description": "Filter op vereist opleidingsniveau.",
            "default": ""
          },
          "sector": {
            "title": "Vakgebied",
            "enum": [
              "",
              "ict",
              "engineering",
              "financieel",
              "logistiek",
              "zorg",
              "overheid",
              "marketing",
              "hr",
              "juridisch",
              "techniek",
              "onderwijs",
              "horeca",
              "administratief",
              "commercieel",
              "management",
              "medisch",
              "bouw",
              "schoonmaak",
              "beveiliging",
              "secretarieel",
              "transport"
            ],
            "type": "string",
            "description": "Filter op vakgebied (26 opties).",
            "default": ""
          },
          "hoursPerWeek": {
            "title": "Uren per week",
            "enum": [
              "",
              "0 - 8 uur",
              "9 - 16 uur",
              "17 - 24 uur",
              "25 - 32 uur",
              "33 - 36 uur",
              "37 - 40+ uur"
            ],
            "type": "string",
            "description": "Filter op aantal uren per week, bijv. '33 - 40 uur'. Meerdere waarden scheiden met komma.",
            "default": ""
          },
          "maxResults": {
            "title": "Maximaal aantal vacatures",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum aantal vacatures (1–5000). Zonder fetchDetails zijn runs snel en goedkoop.",
            "default": 100
          },
          "fetchDetails": {
            "title": "Volledige details ophalen (recruiter, locatie, voordelen)",
            "type": "boolean",
            "description": "Haal de detailpagina op per vacature. Geeft: recruiter contactgegevens, volledig adres, voordelen-lijst, gestructureerde secties (wat bieden wij / wie ben jij / etc.), werkervaring, skills en meer. Verhoogt doorlooptijd en kosten.",
            "default": false
          },
          "skipReposts": {
            "title": "Herpublicaties overslaan",
            "type": "boolean",
            "description": "Sla vacatures over die eerder al verschenen zijn (zelfde titel + bedrijf + stad). Effectief na meerdere runs.",
            "default": false
          },
          "daysOld": {
            "title": "Max. leeftijd vacature (dagen)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Sla vacatures over die ouder zijn dan dit aantal dagen. Bijv. 7 = alleen vacatures van de afgelopen week."
          },
          "useProxy": {
            "title": "Proxy gebruiken",
            "type": "boolean",
            "description": "Gebruik Apify AUTO proxy. Normaal niet nodig.",
            "default": false
          },
          "debugMode": {
            "title": "Debug modus",
            "type": "boolean",
            "description": "Sla de ruwe API-response van pagina 1 op als 'debug-api-p1' in de key-value store.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}