{
  "openapi": "3.0.1",
  "info": {
    "title": "Jobbird Jobs Scraper — Netherlands Jobs, Salary & Company Data",
    "description": "Scrape Dutch job vacancies from Jobbird.com: title, company, company website, city, province, salary range, hours, contract type, education level, category, apply link and full description.",
    "version": "0.1",
    "x-build-id": "I6lWNymzgzfxO4C86"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zapticx~jobbird-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zapticx-jobbird-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/zapticx~jobbird-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zapticx-jobbird-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/zapticx~jobbird-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zapticx-jobbird-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": {
          "query": {
            "title": "Search keywords",
            "type": "string",
            "description": "Job title, skill or company, as you would type it on Jobbird (Dutch or English), e.g. 'verpleegkundige' or 'software engineer'. Leave empty to get all jobs that match your other filters. If Jobbird has no job for your keywords, the run saves nothing and says so. It never returns unrelated jobs."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Dutch city, town or postcode, e.g. 'Amsterdam', 'Den Haag' or '1012AB'. Leave empty for the whole Netherlands. Provinces are not supported as a location. If Jobbird does not recognise the place, the run stops and tells you instead of returning jobs from everywhere."
          },
          "radiusKm": {
            "title": "Distance from location (km)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Search radius around the location. Only used when a location is set.",
            "default": 30
          },
          "maxResults": {
            "title": "Maximum number of jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The run stops once this many unique jobs are saved. Duplicates are not counted. Jobbird shows at most 7,500 jobs per search, so to collect more, split them across several searches (e.g. by category or location) with Start URLs.",
            "default": 50
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Opens each job page to add the full description, company website, province, category, languages, apply link, address and more. Turn off for a faster, lighter list built from search results only. Many of those fields will then be empty.",
            "default": true
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "markdown",
              "html",
              "all"
            ],
            "type": "string",
            "description": "How to save the job description (only when full job details are included). 'All' fills all three description columns.",
            "default": "text"
          },
          "categories": {
            "title": "Job category",
            "type": "array",
            "description": "Only jobs in these Jobbird categories (beroepsgroepen).",
            "items": {
              "type": "string",
              "enum": [
                "administratief-secretarieel",
                "agrarisch-natuur",
                "beauty-wellness",
                "bouw",
                "communicatie-journalistiek",
                "cultureel-creatief",
                "detailhandel",
                "dieren",
                "entertainment-toerisme",
                "facilitair",
                "financieel-accountancy",
                "handhaving-beveiliging",
                "horeca-catering",
                "hr",
                "ict",
                "juridisch",
                "klantenservice-callcenter",
                "laboratorium-wetenschap",
                "logistiek",
                "maatschappelijk-werk",
                "management",
                "marketing",
                "onderwijs",
                "online-marketing",
                "overheid",
                "overige",
                "productie",
                "sales",
                "schoonmaak",
                "sport-recreatie",
                "techniek",
                "vastgoed",
                "zorg-medisch"
              ],
              "enumTitles": [
                "Administrative & secretarial",
                "Agriculture & nature",
                "Beauty & wellness",
                "Construction",
                "Communication & journalism",
                "Culture & creative",
                "Retail",
                "Animals",
                "Entertainment & tourism",
                "Facility services",
                "Finance & accountancy",
                "Security & enforcement",
                "Hospitality & catering",
                "HR",
                "ICT",
                "Legal",
                "Customer service & call centre",
                "Laboratory & science",
                "Logistics",
                "Social work",
                "Management",
                "Marketing",
                "Education",
                "Online marketing",
                "Government",
                "Other",
                "Production",
                "Sales",
                "Cleaning",
                "Sport & recreation",
                "Engineering & technical",
                "Real estate",
                "Healthcare & medical"
              ]
            }
          },
          "contractTypes": {
            "title": "Contract type",
            "type": "array",
            "description": "Only jobs with these contract types. Many Jobbird jobs do not state one ('Not stated').",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "tijdelijk-werk",
                "stage",
                "freelance-zzp",
                "bijbaan",
                "vrijwilligerswerk",
                "niet-vermeld",
                "onbekend"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Temporary",
                "Internship",
                "Freelance (ZZP)",
                "Side job",
                "Volunteer",
                "Not stated",
                "Unknown"
              ]
            }
          },
          "workingHours": {
            "title": "Hours per week",
            "type": "array",
            "description": "Only jobs in these weekly-hours ranges.",
            "items": {
              "type": "string",
              "enum": [
                "0-8",
                "9-16",
                "17-24",
                "25-32",
                "33-36",
                "37-*",
                "missing"
              ],
              "enumTitles": [
                "0–8 hours",
                "9–16 hours",
                "17–24 hours",
                "25–32 hours",
                "33–36 hours",
                "37+ hours",
                "Hours not stated"
              ]
            }
          },
          "educationLevels": {
            "title": "Education level",
            "type": "array",
            "description": "Only jobs asking for these education levels.",
            "items": {
              "type": "string",
              "enum": [
                "basisonderwijs",
                "middelbare-school",
                "lbo",
                "mbo",
                "hbo",
                "wo",
                "phd",
                "overig"
              ],
              "enumTitles": [
                "Primary school",
                "Secondary school",
                "LBO",
                "MBO",
                "HBO (applied university)",
                "WO (university)",
                "PhD",
                "Not stated"
              ]
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "2days",
              "7days",
              "30days"
            ],
            "type": "string",
            "description": "Only jobs posted or refreshed on Jobbird within this period.",
            "default": "any"
          },
          "employerTypes": {
            "title": "Posted by",
            "type": "array",
            "description": "Only jobs posted directly by the employer, or only by a given type of agency. Jobbird does not label every job, so this filter narrows results substantially.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "uitzendwerk",
                "detachering",
                "werving-selectie"
              ],
              "enumTitles": [
                "Directly by the employer",
                "Temp agency",
                "Secondment agency",
                "Recruitment agency"
              ]
            }
          },
          "applicationMethods": {
            "title": "How to apply",
            "type": "array",
            "description": "Only jobs with these application options.",
            "items": {
              "type": "string",
              "enum": [
                "on_site",
                "off_site",
                "whatsapp",
                "is_motivation_mandatory"
              ],
              "enumTitles": [
                "Apply on Jobbird",
                "Apply on the employer's website",
                "Apply via WhatsApp",
                "No cover letter required"
              ]
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "relevance"
            ],
            "type": "string",
            "description": "Order in which Jobbird returns jobs. 'Newest first' is best for monitoring new vacancies.",
            "default": "newest"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Optional. Paste Jobbird Netherlands URLs instead of using the search fields: a search results page (jobbird.com/nl/vacature?...), a listing page (e.g. jobbird.com/nl/vacatures/amsterdam/ict or /nl/beroepsgroep/ict), or single job pages. When Start URLs are given, the search fields and filters above are ignored.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxConcurrency": {
            "title": "Parallel job-page requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many job pages to load at the same time. The default is fast and gentle on Jobbird. Raising it rarely helps.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Jobbird works with Apify's standard datacenter proxy (the default). Residential proxies are not needed.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}