{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Vacancy Feed — Search 50 European Job Boards at Once",
    "description": "Search up to 50 European job boards in one run: general boards, national and regional public employment services, and eFinancialCareers. Deduplicates the same vacancy across boards, flags multi-board postings as a hiring-intensity signal, and parses language and location on every row.",
    "version": "0.2",
    "x-build-id": "EYgu0CXdU6C6wBDVt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/studio-amba~eu-vacancy-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-studio-amba-eu-vacancy-feed",
        "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~eu-vacancy-feed/runs": {
      "post": {
        "operationId": "runs-sync-studio-amba-eu-vacancy-feed",
        "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~eu-vacancy-feed/run-sync": {
      "post": {
        "operationId": "run-sync-studio-amba-eu-vacancy-feed",
        "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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Job title or keyword to search for across all selected boards (e.g. 'developer', 'accountant', 'nurse'). Use a common role name for the broadest match.",
            "default": "developer"
          },
          "countries": {
            "title": "Countries",
            "maxItems": 19,
            "type": "array",
            "description": "Filter which country boards to query — matches ALL boards for the given country (general boards, PES, sector boards). Leave empty (and leave Boards empty) to run the default set: the original 13 general boards, every public employment service, and eFinancialCareers UK.",
            "items": {
              "type": "string",
              "enum": [
                "DE",
                "AT",
                "NL",
                "GB",
                "FR",
                "CH",
                "PL",
                "DK",
                "ES",
                "BE",
                "IE",
                "EU",
                "LU",
                "CZ",
                "BG",
                "PT",
                "RO",
                "SE",
                "NO"
              ],
              "enumTitles": [
                "Germany",
                "Austria",
                "Netherlands",
                "United Kingdom",
                "France",
                "Switzerland",
                "Poland",
                "Denmark",
                "Spain",
                "Belgium",
                "Ireland",
                "EU-wide (EURES)",
                "Luxembourg",
                "Czech Republic",
                "Bulgaria",
                "Portugal",
                "Romania",
                "Sweden",
                "Norway"
              ]
            }
          },
          "boards": {
            "title": "Boards",
            "maxItems": 50,
            "type": "array",
            "description": "Pick exact boards to query by key, overriding Countries. Leave empty (with Countries also empty) to run the default set of 26 boards (general boards + every PES + eFinancialCareers UK). Selecting boards here lets you reach the other ~24 general/sector boards in the full 50-board roster — see README for the full list and what each key covers.",
            "items": {
              "type": "string",
              "enum": [
                "stepstone-de",
                "stepstone-at",
                "stepstone-nl",
                "reed",
                "hellowork",
                "jobs-ch",
                "jobup-ch",
                "pracuj",
                "jobindex",
                "infojobs",
                "jobat",
                "irishjobs",
                "eures",
                "stepstone-be",
                "totaljobs",
                "jobsite",
                "nhs-jobs",
                "charityjob",
                "jobs-ac-uk",
                "cadremploi",
                "jobteaser",
                "moovijob",
                "jobs-lu",
                "jobs-cz",
                "jobs-bg",
                "rocketjobs-pl",
                "nofluffjobs",
                "jobware",
                "xing-jobs",
                "willhaben-jobs",
                "jobscout24-ch",
                "werkzoeken",
                "jobbird",
                "itjobs-pt",
                "ejobs",
                "actiris",
                "vdab",
                "arbeitsagentur",
                "ams",
                "werk-nl",
                "arbetsformedlingen",
                "nav",
                "sepe",
                "francetravail",
                "job-room-ch",
                "jobnet",
                "jobsireland",
                "efinancialcareers-gb",
                "efinancialcareers-ch",
                "efinancialcareers-de"
              ],
              "enumTitles": [
                "StepStone Germany (DE)",
                "StepStone Austria (AT)",
                "StepStone Netherlands (NL)",
                "Reed (GB)",
                "HelloWork (FR)",
                "Jobs.ch (CH)",
                "JobUp.ch (CH)",
                "Pracuj.pl (PL)",
                "Jobindex (DK)",
                "InfoJobs (ES)",
                "Jobat (BE)",
                "IrishJobs (IE)",
                "EURES (EU-wide)",
                "StepStone Belgium (BE)",
                "Totaljobs (GB)",
                "Jobsite (GB)",
                "NHS Jobs (GB)",
                "CharityJob (GB)",
                "jobs.ac.uk (GB)",
                "Cadremploi (FR)",
                "JobTeaser (FR)",
                "Moovijob (LU)",
                "Jobs.lu (LU)",
                "Jobs.cz (CZ)",
                "Jobs.bg (BG)",
                "RocketJobs.pl (PL)",
                "No Fluff Jobs (PL)",
                "Jobware (DE)",
                "XING Jobs (DE)",
                "Willhaben Jobs (AT)",
                "JobScout24.ch (CH)",
                "Werkzoeken.nl (NL)",
                "Jobbird (NL)",
                "ITJobs.pt (PT)",
                "eJobs.ro (RO)",
                "Actiris — Brussels PES (BE)",
                "VDAB — Flanders PES (BE)",
                "Bundesagentur für Arbeit — Germany PES (DE)",
                "AMS — Austria PES (AT)",
                "Werk.nl — Netherlands PES (NL)",
                "Arbetsförmedlingen — Sweden PES (SE)",
                "NAV — Norway PES (NO)",
                "SEPE — Spain PES (ES)",
                "France Travail — France PES (FR)",
                "Job-Room — Switzerland PES (CH)",
                "Jobnet — Denmark PES (DK)",
                "JobsIreland — Ireland PES (IE)",
                "eFinancialCareers UK (GB)",
                "eFinancialCareers Switzerland (CH)",
                "eFinancialCareers Germany (DE)"
              ]
            }
          },
          "maxPerBoard": {
            "title": "Max Per Board",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of vacancies to fetch from each board before deduplication. Higher values give more coverage but take longer and cost more. Each additional board queried adds roughly one child-actor run's worth of compute to the total run cost — keep this in mind when selecting a large number of boards.",
            "default": 20
          },
          "timeoutPerBoardSecs": {
            "title": "Timeout Per Board (seconds)",
            "minimum": 30,
            "maximum": 600,
            "type": "integer",
            "description": "Maximum time to wait for each underlying board scraper to finish. A slow board is skipped after this and reported as failed rather than blocking the whole run.",
            "default": 120
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings passed to the underlying board scrapers. Leave default (Apify Residential) for reliable results — each board otherwise uses its own known-good country-pinned residential proxy."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}