{
  "openapi": "3.0.1",
  "info": {
    "title": "EuroBrussels Jobs Scraper — EU Affairs & Policy Jobs",
    "description": "Scrape EuroBrussels EU-affairs jobs: EU institutions, agencies, NGOs, think tanks, trade associations, law firms and consultancies. Title, employer, place, country, policy areas, job type, experience, salary, posted date, deadline and the full ad. All-jobs mode, filters, no login.",
    "version": "0.1",
    "x-build-id": "qDO4ePpPWK5magMdw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~eurobrussels-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-eurobrussels-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/yugenox~eurobrussels-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-eurobrussels-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/yugenox~eurobrussels-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-eurobrussels-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": {
          "keywords": {
            "title": "🔎 Keywords",
            "type": "array",
            "description": "Job titles or topics to search on EuroBrussels, e.g. \"policy officer\", \"public affairs\", \"trainee\", \"communications\". Each keyword is searched separately. Leave Keywords, Location and every filter empty to get every job currently on EuroBrussels.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "A city or country as text, e.g. \"Brussels\", \"Geneva\", \"The Hague\", \"Germany\". Leave empty for every place."
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of jobs for the whole run, shared fairly between your searches. 0 = everything.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include the full ad",
            "type": "boolean",
            "description": "Open every job page for the full job ad (text and HTML), the country, all tags (policy areas, job type, experience, workplace), the employer's EuroBrussels page and contract terms. Turn it off for a faster listing-only run (title, employer, place, salary, up to 4 tags, a short snippet on featured jobs, posted date, deadline).",
            "default": true
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted in the last N days (0 = any age). Older jobs are skipped before anything is opened and are never charged. Use 1 for a daily alert.",
            "default": 0
          },
          "startUrls": {
            "title": "🔗 EuroBrussels URLs",
            "type": "array",
            "description": "Optional: EuroBrussels search results, tag pages (eurobrussels.com/jobs/internship), employer pages (eurobrussels.com/jobs_at/…) or single job pages (eurobrussels.com/job_display/…).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "policyAreas": {
            "title": "Policy areas",
            "type": "array",
            "description": "Only jobs in any of these policy areas. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "agriculture_and_fisheries",
                "competition_and_state_aid",
                "consumers_public_health_and_food_safety",
                "customs_and_tax",
                "digital_and_ai_policy",
                "economic_and_monetary_affairs",
                "education_and_culture",
                "employment_and_social_affairs",
                "energy",
                "environment",
                "external_relations_and_development_aid",
                "external_trade",
                "human_rights_and_democracy",
                "internal_market_and_business_regulation",
                "justice_freedom_and_security",
                "media_and_information_society",
                "regional_and_structural_policy",
                "research_and_innovation",
                "transport"
              ],
              "enumTitles": [
                "Agriculture and Fisheries",
                "Competition and State Aid",
                "Consumers, Public Health and Food Safety",
                "Customs and Tax",
                "Digital and AI Policy",
                "Economic and Monetary Affairs",
                "Education and Culture",
                "Employment and Social Affairs",
                "Energy",
                "Environment",
                "External Relations and Development Aid",
                "External Trade",
                "Human Rights and Democracy",
                "Internal Market and Business Regulation",
                "Justice, Freedom and Security",
                "Media and Information Society",
                "Regional and Structural Policy",
                "Research and Innovation",
                "Transport"
              ]
            }
          },
          "jobTypes": {
            "title": "Employer / job type",
            "type": "array",
            "description": "Only jobs of any of these types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "eu_institution",
                "international_organisations",
                "ngo_and_political",
                "academic_and_think_tank",
                "industry_association",
                "consultancy",
                "law_firm",
                "legal",
                "communication_public_relations",
                "economist",
                "operations_accounts_hr_it",
                "secretarial_and_assistant"
              ],
              "enumTitles": [
                "EU Institution",
                "International Organisations",
                "NGO and Political",
                "Academic and Think Tank",
                "Industry Association",
                "Consultancy",
                "Law Firm",
                "Legal",
                "Communication/Public Relations",
                "Economist",
                "Operations (Accounts, HR, IT)",
                "Secretarial and Assistant"
              ]
            }
          },
          "experience": {
            "title": "Experience",
            "type": "array",
            "description": "Internships and/or years of experience asked for. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "0_-_2_years_experience",
                "3_-_4_years_experience",
                "5_years+_experience"
              ],
              "enumTitles": [
                "Internship / traineeship",
                "0–2 years",
                "3–4 years",
                "5+ years"
              ]
            }
          },
          "workplace": {
            "title": "Workplace",
            "type": "array",
            "description": "Hybrid, on-site and/or remote. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "hybrid",
                "on-site",
                "remote"
              ],
              "enumTitles": [
                "Hybrid",
                "On-site",
                "Remote"
              ]
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Only jobs in these countries, as EuroBrussels lists them, e.g. \"Belgium\", \"Germany\", \"United Kingdom\", \"Multiple Countries\". Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy (datacenter) is the default and comes with every Apify plan. If EuroBrussels refuses datacenter IPs for a while, the run switches to residential proxies when your account has them.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}