{
  "openapi": "3.0.1",
  "info": {
    "title": "Jobbird Jobs Scraper",
    "description": "Scrape Jobbird job listings (jobbird.com, Netherlands and UK) by job title and place: title, employer, town, salary, hours, education level, posted date, full description, contract type and apply link. Only-new-jobs mode for daily feeds. Export to JSON, CSV or Excel, or via API.",
    "version": "1.0",
    "x-build-id": "M4yhlBXl6nDaM84SR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steadyscrape~jobbird-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steadyscrape-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/steadyscrape~jobbird-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-steadyscrape-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/steadyscrape~jobbird-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-steadyscrape-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": {
          "country": {
            "title": "Jobbird site",
            "enum": [
              "nl",
              "uk"
            ],
            "type": "string",
            "description": "Jobbird's Dutch site (jobbird.com/nl, the big one) or its British one (jobbird.com/uk).",
            "default": "nl"
          },
          "jobTitles": {
            "title": "Job titles or occupation groups",
            "type": "array",
            "description": "As Jobbird names them, e.g. <code>developer</code>, <code>verpleegkundige</code>, <code>accountant</code>, <code>chauffeur</code>, or a group such as <code>ICT</code> or <code>Zorg en medisch</code>. Each is read through Jobbird's own list for it; a title Jobbird has no list for is read through the nearest one it has (\"senior java developer\" → java developer, named in the search), or gives a free row naming close ones. The UK site has industries only (<code>IT, Software, Technology</code>): use places with the title filter there. Leave empty to read the places' whole lists.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "places": {
            "title": "Places",
            "type": "array",
            "description": "Towns as Jobbird writes them (<code>Utrecht</code>, <code>Den Haag</code>, <code>London</code>), a Dutch province (<code>Noord-Holland</code>, <code>provincie Utrecht</code>), <code>Nederland</code>, or a UK country (<code>Scotland</code>, <code>UK</code>). Jobbird's place lists take in jobs up to about 30 km away; each job carries its distance. Leave empty to search the job titles across the country. Jobbird has no job-title lists for provinces, and only for the larger towns: those give a free row saying so.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Jobbird list links",
            "type": "array",
            "description": "Lists copied from Jobbird, e.g. <code>https://www.jobbird.com/nl/vacatures/utrecht/developer</code> or <code>https://www.jobbird.com/nl/beroepsgroep/ict</code>, each read from its first page. Jobbird's free-text search (<code>/nl/vacature?s=…</code>) is closed to crawlers by its robots.txt and is not taken, nor are job pages.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "titleFilter": {
            "title": "Title must contain",
            "type": "array",
            "description": "Keep only jobs whose title contains one of these words or phrases (case, accents and hyphens ignored), e.g. <code>senior</code>, <code>java</code>, <code>front-end</code>. Applied by the Actor to every list it reads.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxDistanceKm": {
            "title": "Maximum distance from the place (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave out jobs Jobbird lists farther than this from the place searched. 0 keeps the town itself only."
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted or refreshed in the last days. Combine with a schedule and Only new jobs for a daily feed.",
            "default": "any"
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Leave out jobs whose ad gives no salary.",
            "default": false
          },
          "includeDetails": {
            "title": "Include job details",
            "type": "boolean",
            "description": "Open each job's page for the full description, occupation group, contract type, employment type, education asked, languages, whether the employer recruits itself, the employer's website, the apply link and the address. Charged as job-with-details instead of job.",
            "default": true
          },
          "maxJobsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop each search (each job title in each place, and each link) after this many jobs. 0 means every job the list shows (Jobbird lets a list be browsed 7,500 jobs deep).",
            "default": 100
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "Deliver, and charge, only jobs that an earlier run with the same searches and filters has not delivered. Made for scheduled runs.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}