{
  "openapi": "3.0.1",
  "info": {
    "title": "EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe",
    "description": "Scrape EURAXESS PhD, postdoc and research jobs across Europe with deadlines, funding, research field, organisation, contacts and apply links. Filter by keyword, country, field, career stage and funding, read full descriptions, and monitor new or changed jobs between runs. No login or API key.",
    "version": "0.3",
    "x-build-id": "P3C4wnKt5OsnCwmh9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~euraxess-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-euraxess-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/getascraper~euraxess-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-euraxess-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/getascraper~euraxess-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-euraxess-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": {
          "startUrls": {
            "title": "Start URLs",
            "maxItems": 20,
            "type": "array",
            "description": "Optional public EURAXESS search or job URLs. The default search URL is used when no custom source is supplied.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "keyword": {
            "title": "Keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Optional words matched by EURAXESS against the public opportunity search.",
            "default": ""
          },
          "offerTypes": {
            "title": "Offer Types",
            "maxItems": 20,
            "type": "array",
            "description": "Optional EURAXESS offer types, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": [
              "job_offer"
            ]
          },
          "countries": {
            "title": "Countries",
            "maxItems": 50,
            "type": "array",
            "description": "Optional EURAXESS country filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "newest",
              "oldest",
              "deadline"
            ],
            "type": "string",
            "description": "Order the public EURAXESS search before pagination.",
            "default": "newest"
          },
          "postedWithinDays": {
            "title": "Posted Within Days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep postings observed within this many days. The default favors recent research opportunities.",
            "default": 30
          },
          "researchFields": {
            "title": "Research Fields",
            "maxItems": 50,
            "type": "array",
            "description": "Optional EURAXESS research-field filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "researcherProfiles": {
            "title": "Researcher Profiles",
            "maxItems": 30,
            "type": "array",
            "description": "Optional EURAXESS researcher-profile filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "organisationTypes": {
            "title": "Organisation Types",
            "maxItems": 30,
            "type": "array",
            "description": "Optional EURAXESS organisation-type filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "fundingProgrammes": {
            "title": "Funding Programmes",
            "maxItems": 20,
            "type": "array",
            "description": "Optional EURAXESS funding-programme filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "fundingTypes": {
            "title": "Funding Types",
            "maxItems": 20,
            "type": "array",
            "description": "Optional EURAXESS funding-type filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "offerCategories": {
            "title": "Offer Categories",
            "maxItems": 30,
            "type": "array",
            "description": "Optional EURAXESS offer-category filters, supplied as live source values or visible labels.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "fetchDetails": {
            "title": "Fetch Job Details",
            "type": "boolean",
            "description": "Fetch each matched public EURAXESS job page for descriptions, requirements, contacts, and application fields.",
            "default": true
          },
          "onlyNewSinceLastRun": {
            "title": "Only New Since Last Run",
            "type": "boolean",
            "description": "Report only jobs that are new or changed since the previous run of the same search. The first run returns everything as new. Change tracking is kept between runs under the monitor scope name.",
            "default": false
          },
          "monitorScope": {
            "title": "Monitor Scope",
            "maxLength": 120,
            "type": "string",
            "description": "Optional name for this feed, for example weekly-germany-phd. Runs sharing a name share one list of already seen jobs. When blank, the search itself identifies the feed.",
            "default": ""
          },
          "maxItems": {
            "title": "Maximum Job Rows",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum job rows written to the dataset in one run. Diagnostic rows are not job rows.",
            "default": 10
          },
          "maxPages": {
            "title": "Maximum Search Pages",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Limit on EURAXESS result pages to read (10 jobs per page). 0 reads as many pages as needed to reach the maximum job rows.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "European residential proxies are used by default because EURAXESS refuses datacenter and non-European addresses. Only change this to use your own proxy.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "requestDelayMs": {
            "title": "Request Delay",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Minimum gap between two requests to EURAXESS, shared by all parallel workers. Lower is faster; raise it to be gentler.",
            "default": 400
          },
          "maxConcurrency": {
            "title": "Request Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum simultaneous requests to EURAXESS (request spacing still applies).",
            "default": 6
          },
          "maxRequestRetries": {
            "title": "Maximum Request Retries",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Bounded retry attempts for temporary public request failures.",
            "default": 4
          },
          "debug": {
            "title": "Debug Logging",
            "type": "boolean",
            "description": "Include additional parser and request diagnostics in logs without changing the dataset contract.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}