{
  "openapi": "3.0.1",
  "info": {
    "title": "EURES Jobs Scraper",
    "description": "Search the European Commission's EURES job portal by words, countries, occupation and posting date. One row per job, with plain field names.",
    "version": "0.1",
    "x-build-id": "V9dQ545mvyO3K6p2h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sampon~eures-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sampon-eures-jobs",
        "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/sampon~eures-jobs/runs": {
      "post": {
        "operationId": "runs-sync-sampon-eures-jobs",
        "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/sampon~eures-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-sampon-eures-jobs",
        "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": {
          "keywords": {
            "title": "Search words",
            "type": "string",
            "description": "Words to look for, for example software developer or nurse. Leave empty to get every job that matches the other filters."
          },
          "searchIn": {
            "title": "Look for the words in",
            "enum": [
              "everywhere",
              "title"
            ],
            "type": "string",
            "description": "Everywhere works like the EURES website and also finds related jobs. Title only is stricter and returns fewer, closer matches.",
            "default": "everywhere"
          },
          "countries": {
            "title": "Countries or regions",
            "type": "array",
            "description": "Two-letter country codes such as IE, DE, NL or GR. All of them are searched together in one run. You can also use a region code as EURES lists it, such as IE061 (Dublin) or DE2 (Bavaria). If a region code gives no results, try a shorter one. Leave empty to search all EURES countries.",
            "items": {
              "type": "string"
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "day",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only jobs published or updated on EURES in this period.",
            "default": "any"
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many jobs. EURES returns at most 10,000 jobs for one search; split large runs by country or region.",
            "default": 100
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Best match first, or most recently published or updated first.",
            "default": "relevance"
          },
          "onlyNewJobs": {
            "title": "Only jobs not returned before",
            "type": "boolean",
            "description": "Remembers the jobs this exact search returned in earlier runs and skips them, so a scheduled run gives you only what is new. The first run returns everything and starts the list.",
            "default": false
          },
          "includeDetails": {
            "title": "Add city, closing date, start date, salary and how to apply",
            "type": "boolean",
            "description": "Opens each job's own page on EURES. EURES asks for a 10 second gap between requests, so this adds about 10 seconds per job (100 jobs take roughly 17 minutes).",
            "default": false
          },
          "includeDescription": {
            "title": "Include the job description",
            "type": "boolean",
            "description": "Turn off if you only need titles, places and links. E-mail addresses and phone numbers in descriptions are always removed.",
            "default": true
          },
          "occupations": {
            "title": "Occupations (ESCO)",
            "type": "array",
            "description": "Optional. ESCO occupation URIs or IDs, for example http://data.europa.eu/esco/occupation/f2b15a0e-e65a-438a-affb-29b9d50b77d1 (software developer). Jobs on EURES are tagged with these codes.",
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Employer sector (NACE)",
            "type": "array",
            "description": "Optional. Keep jobs from employers in these sectors.",
            "items": {
              "type": "string",
              "enum": [
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h",
                "i",
                "j",
                "k",
                "l",
                "m",
                "n",
                "o",
                "p",
                "q",
                "r",
                "s",
                "t",
                "u"
              ],
              "enumTitles": [
                "A Agriculture, forestry and fishing",
                "B Mining and quarrying",
                "C Manufacturing",
                "D Electricity, gas, steam and air conditioning",
                "E Water supply, sewerage, waste",
                "F Construction",
                "G Wholesale and retail trade",
                "H Transportation and storage",
                "I Accommodation and food service",
                "J Information and communication",
                "K Financial and insurance",
                "L Real estate",
                "M Professional, scientific and technical",
                "N Administrative and support services",
                "O Public administration and defence",
                "P Education",
                "Q Human health and social work",
                "R Arts, entertainment and recreation",
                "S Other service activities",
                "T Households as employers",
                "U Extraterritorial organisations"
              ]
            }
          },
          "workingTime": {
            "title": "Working time",
            "type": "array",
            "description": "Optional.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "flextime"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Flexible hours"
              ]
            }
          },
          "contractTypes": {
            "title": "Type of contract",
            "type": "array",
            "description": "Optional.",
            "items": {
              "type": "string",
              "enum": [
                "directhire",
                "contract",
                "contracttohire",
                "temporary",
                "temporarytohire",
                "seasonal",
                "selfemployed",
                "apprenticeship",
                "internship",
                "volunteer",
                "oncall",
                "recruitmentreserve"
              ],
              "enumTitles": [
                "Permanent / direct hire",
                "Fixed-term contract",
                "Contract to hire",
                "Temporary",
                "Temporary to hire",
                "Seasonal",
                "Self-employed",
                "Apprenticeship",
                "Internship",
                "Volunteer",
                "On call",
                "Recruitment reserve"
              ]
            }
          },
          "experience": {
            "title": "Experience asked for",
            "type": "array",
            "description": "Optional.",
            "items": {
              "type": "string",
              "enum": [
                "none_required",
                "up_to_1_year",
                "between_1_and_2_years",
                "between_2_and_5_years",
                "more_than_5_years"
              ],
              "enumTitles": [
                "None required",
                "Up to 1 year",
                "1 to 2 years",
                "2 to 5 years",
                "More than 5 years"
              ]
            }
          },
          "euresFlagOnly": {
            "title": "Only jobs open to candidates from other countries",
            "type": "boolean",
            "description": "Keep only vacancies that carry the EURES flag, which marks employers interested in hiring from other EU/EEA countries.",
            "default": false
          },
          "language": {
            "title": "Language of the job page link",
            "type": "string",
            "description": "Two-letter language code used for the EURES job page links and, when available, for titles and descriptions. Most jobs are published in their original language only.",
            "default": "en"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}