{
  "openapi": "3.0.1",
  "info": {
    "title": "Europe Jobs Scraper — Greenhouse, Lever & Ashby Careers",
    "description": "Collect job postings from the public career boards of a curated catalog of European companies on Greenhouse, Lever and Ashby. One normalized schema, filters by country, company and title keyword, and a delta mode that reports added and removed postings between runs.",
    "version": "0.1",
    "x-build-id": "ODN3rudhLbeBybv2P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xamto1987~europe-jobs-ats/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xamto1987-europe-jobs-ats",
        "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/xamto1987~europe-jobs-ats/runs": {
      "post": {
        "operationId": "runs-sync-xamto1987-europe-jobs-ats",
        "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/xamto1987~europe-jobs-ats/run-sync": {
      "post": {
        "operationId": "run-sync-xamto1987-europe-jobs-ats",
        "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": {
          "countries": {
            "title": "Countries / Países",
            "type": "array",
            "description": "Keep only companies of the built-in catalog whose headquarters are in these countries, as ISO 3166-1 alpha-2 codes (for example ES, DE, FR). Empty = all countries in the catalog. Ignored when 'Companies' is set. / ES: códigos ISO de dos letras del país sede; vacío = todo el catálogo; se ignora si indicas empresas.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Companies / Empresas",
            "type": "array",
            "description": "Company slugs from the built-in catalog (for example typeform, cabify, wallapop, jetbrains). Empty = every company that matches the other filters. When set, 'Countries' is ignored; slugs not in the catalog are skipped. / ES: slugs del catálogo (por ejemplo typeform, cabify); vacío = todas; si se indican, se ignoran los países.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "ats": {
            "title": "Job board systems / Sistemas de tablón",
            "type": "array",
            "description": "Which applicant tracking systems to read: greenhouse, lever, ashby. Default: all three. / ES: sistemas de selección a leer; por defecto los tres.",
            "default": [
              "greenhouse",
              "lever",
              "ashby"
            ],
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title keywords / Palabras clave del título",
            "type": "array",
            "description": "Keep only postings whose job title contains at least one of these terms (case-insensitive substring match on the title only, not on the description). Empty = no text filter. / ES: coincidencia sin mayúsculas solo en el título; vacío = sin filtro.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "Mode / Modo",
            "enum": [
              "all",
              "delta"
            ],
            "type": "string",
            "description": "'all' returns every posting that matches the filters. 'delta' returns only the postings added or removed since the previous run with the same filters (marked in the 'change' field). / ES: 'all' = todas las ofertas; 'delta' = solo altas y bajas desde la última ejecución con los mismos filtros.",
            "default": "all"
          },
          "includeDescription": {
            "title": "Include description / Incluir descripción",
            "type": "boolean",
            "description": "OFF BY DEFAULT. Adds the job description as plain text (up to 20,000 characters) in 'descriptionText'. Some boards return several MB per company when descriptions are included, so runs get slower and datasets much larger. / ES: desactivado por defecto; algunas respuestas pesan varios MB por empresa.",
            "default": false
          },
          "maxItems": {
            "title": "Max items / Máximo de resultados",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on the number of items saved to the dataset. The Actor stops cleanly when it is reached. 0 = no limit. / ES: tope de items del dataset; 0 = sin límite.",
            "default": 500
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}