{
  "openapi": "3.0.1",
  "info": {
    "title": "Nationale Vacaturebank Scraper (Netherlands Jobs)",
    "description": "Scrape job listings from Nationale Vacaturebank, the largest Dutch job board. Search by keyword, city, category, contract type and education level. Salary, working hours, location, employer and full description. No login, no API key.",
    "version": "0.0",
    "x-build-id": "lcbzRFmhKjZ5he7a3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/studio-amba~nationalevacaturebank-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-studio-amba-nationalevacaturebank-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/studio-amba~nationalevacaturebank-scraper/runs": {
      "post": {
        "operationId": "runs-sync-studio-amba-nationalevacaturebank-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/studio-amba~nationalevacaturebank-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-studio-amba-nationalevacaturebank-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": "Search query",
            "type": "string",
            "description": "Job title or keyword in Dutch or English, for example 'developer', 'monteur' or 'verpleegkundige'. Leave empty to list the newest vacancies."
          },
          "location": {
            "title": "City",
            "type": "string",
            "description": "Dutch city to filter on, for example 'Utrecht' or 'Den Haag'. Leave empty for the whole Netherlands."
          },
          "categories": {
            "title": "Categories",
            "maxItems": 21,
            "type": "array",
            "description": "Only return vacancies in these categories, for example 'Techniek' or 'Medisch/Zorg'. Leave empty for all categories.",
            "items": {
              "type": "string",
              "enum": [
                "Administratief/Secretarieel",
                "Automatisering/Internet",
                "Beleid/Bestuur/Staf",
                "Beveiliging/Defensie/Politie",
                "Commercieel/Verkoop",
                "Consultancy/Advies",
                "Design/Creatie/Journalistiek",
                "Directie/Management algemeen",
                "Financiele dienstverlening",
                "Financieel/Accounting",
                "Horeca/Detailhandel",
                "HR/Training/Opleiding",
                "Inkoop/Logistiek/Transport",
                "Juridisch",
                "Klantenservice/Callcenter/Receptie",
                "Marketing/PR/Communicatie",
                "Medisch/Zorg",
                "Onderwijs/Onderzoek/Wetenschap",
                "Productie/Uitvoerend",
                "Techniek",
                "Overig"
              ]
            }
          },
          "contractType": {
            "title": "Contract type",
            "enum": [
              "",
              "Vast",
              "Tijdelijk",
              "Freelance",
              "Interim",
              "ZZP",
              "Stage",
              "Bijbaan",
              "Vrijwilliger",
              "Vakantiewerk",
              "Leer-werk overeenkomst",
              "Thuiswerk",
              "Zelfstandig/Franchise"
            ],
            "type": "string",
            "description": "Only return vacancies with this contract type. Leave empty for all."
          },
          "educationLevel": {
            "title": "Education level",
            "enum": [
              "",
              "Lagere school",
              "LBO",
              "VMBO/MAVO",
              "HAVO",
              "VWO",
              "MBO",
              "HBO",
              "WO",
              "Postdoctoraal"
            ],
            "type": "string",
            "description": "Only return vacancies asking for this education level. Leave empty for all."
          },
          "careerLevel": {
            "title": "Career level",
            "enum": [
              "",
              "Starter",
              "Ervaren"
            ],
            "type": "string",
            "description": "Only return vacancies for this career level. Leave empty for all."
          },
          "hybridOnly": {
            "title": "Hybrid only",
            "type": "boolean",
            "description": "Only return vacancies marked as hybrid work. Off by default: when off, every vacancy is returned.",
            "default": false
          },
          "includeDescription": {
            "title": "Include description",
            "type": "boolean",
            "description": "Add the full vacancy text as plain text. Turn off for a smaller dataset.",
            "default": true
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of vacancies to return. The site holds about 90,000 active vacancies. Above 10,000 the actor splits the search by category, contract type and education level so nothing is cut off.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not required. The site's vacancy API answers plain requests. The field is accepted so that saved inputs from other actors keep working."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}