{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to the Jungle Jobs Scraper",
    "description": "Jobs from Welcome to the Jungle in France, the UK, the US and more, with published salary as numbers, remote policy, the employer's apply link and company data. Search by keyword or paste any search link; one run can read every match, past the 1,000 results the site shows.",
    "version": "0.1",
    "x-build-id": "PTr4pLCvHuCUePvZI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deriverge~welcome-to-the-jungle-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deriverge-welcome-to-the-jungle-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/deriverge~welcome-to-the-jungle-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deriverge-welcome-to-the-jungle-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/deriverge~welcome-to-the-jungle-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deriverge-welcome-to-the-jungle-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": {
          "query": {
            "title": "Keywords",
            "type": "string",
            "description": "What to search for, as on the site: a job title, skill or company, for example \"data engineer\", \"product manager\" or \"python\". Leave empty for every job."
          },
          "searchUrls": {
            "title": "Search links from welcometothejungle.com",
            "type": "array",
            "description": "Optional. Paste searches you set up on the site (the address of the jobs page with your filters), or a company jobs page. Each link is run as its own search, together with the filters below.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Keep only jobs with an office in one of these countries. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "FR",
                "US",
                "GB",
                "CA",
                "DE",
                "ES",
                "IE",
                "NL",
                "IT",
                "BE",
                "CH",
                "LU",
                "PT",
                "PL",
                "CZ",
                "SK",
                "AT",
                "SE",
                "DK",
                "NO",
                "EE",
                "RO",
                "HU",
                "GR",
                "MA",
                "TN",
                "AE",
                "IN",
                "SG",
                "AU",
                "JP",
                "BR",
                "MX",
                "IL"
              ],
              "enumTitles": [
                "France",
                "United States",
                "United Kingdom",
                "Canada",
                "Germany",
                "Spain",
                "Ireland",
                "Netherlands",
                "Italy",
                "Belgium",
                "Switzerland",
                "Luxembourg",
                "Portugal",
                "Poland",
                "Czech Republic",
                "Slovakia",
                "Austria",
                "Sweden",
                "Denmark",
                "Norway",
                "Estonia",
                "Romania",
                "Hungary",
                "Greece",
                "Morocco",
                "Tunisia",
                "United Arab Emirates",
                "India",
                "Singapore",
                "Australia",
                "Japan",
                "Brazil",
                "Mexico",
                "Israel"
              ]
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Keep only jobs with an office in one of these cities, spelled as on the site, for example Paris, London, Lyon or New York.",
            "items": {
              "type": "string"
            }
          },
          "contractTypes": {
            "title": "Contract types",
            "type": "array",
            "description": "Keep only these contract types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "internship",
                "apprenticeship",
                "temporary",
                "freelance",
                "vie",
                "graduate_program",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time (permanent)",
                "Part-time",
                "Internship",
                "Apprenticeship (work-study)",
                "Temporary (fixed-term)",
                "Freelance",
                "VIE (international volunteer program)",
                "Graduate program",
                "Volunteer",
                "Other"
              ]
            }
          },
          "remote": {
            "title": "Remote policy",
            "type": "array",
            "description": "Keep only jobs with one of these remote policies. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "fully_remote",
                "hybrid",
                "occasional",
                "on_site",
                "not_specified"
              ],
              "enumTitles": [
                "Fully remote",
                "Hybrid (a few days a week)",
                "Occasional remote",
                "On site, no remote",
                "Not specified by the company"
              ]
            }
          },
          "categories": {
            "title": "Job categories",
            "type": "array",
            "description": "Keep only jobs in these categories. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "tech-engineering-3NjUy",
                "sales-customer-service-5MzIw",
                "business-finance-1MjQ4",
                "project-product-management-xYmEw",
                "communication-marketing-advertising-wNDg5",
                "hr-people-iZGMy",
                "consulting-strategy-iNDRl",
                "legal-zYjg3",
                "research-development-0OGVm",
                "healthcare-yMjNi",
                "hospitality-4ZTdj",
                "fashion-5MzY5",
                "education-wNTkx",
                "culture-arts-wOTc2",
                "construction-jNzEz",
                "maintenance-repair-lZDUy",
                "transport-logistics-lMDVm",
                "craftsmanship-and-manual-labor-yNGQw",
                "security-defense-jMzJm",
                "agriculture-agri-food-4YmNh"
              ],
              "enumTitles": [
                "Tech & Engineering",
                "Sales & Customer Service",
                "Business & Finance",
                "Project / Product Management",
                "Communication, Marketing & Advertising",
                "HR / People",
                "Consulting & Strategy",
                "Legal",
                "Research & Development",
                "Healthcare",
                "Hospitality",
                "Fashion",
                "Education",
                "Culture & Arts",
                "Construction",
                "Maintenance & Repair",
                "Transport & Logistics",
                "Craftsmanship & Manual Labor",
                "Security & Defense",
                "Agriculture & Agri-food"
              ]
            }
          },
          "languages": {
            "title": "Posting language",
            "type": "array",
            "description": "Keep only jobs written in these languages. The language is read from the job text, because the language a company sets on the site does not always match it. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "fr",
                "es",
                "de",
                "it",
                "pt",
                "nl",
                "cs"
              ],
              "enumTitles": [
                "English",
                "French",
                "Spanish",
                "German",
                "Italian",
                "Portuguese",
                "Dutch",
                "Czech"
              ]
            }
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Only jobs at these companies, as their Welcome to the Jungle page (welcometothejungle.com/en/companies/doctolib) or the slug from it (doctolib).",
            "items": {
              "type": "string"
            }
          },
          "maxExperienceYears": {
            "title": "Maximum years of experience required",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs that ask for at most this many years. Use 0 for jobs open to beginners. Jobs that do not say are kept."
          },
          "minYearlySalary": {
            "title": "Minimum yearly salary (EUR)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only jobs whose published pay reaches this amount per year, in euros. Monthly, weekly, daily and hourly pay and other currencies are converted at approximate rates. Pay that does not say whether it is per year, month, day or hour cannot be converted, so such a job is kept only when the amount itself reaches the minimum. Jobs without a published salary or without its currency are dropped."
          },
          "salaryOnly": {
            "title": "Only jobs with a published salary",
            "type": "boolean",
            "description": "Drop jobs where the company does not publish pay.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only jobs published recently, for example 7 for the last week."
          },
          "includeDetails": {
            "title": "Include full job details",
            "type": "boolean",
            "description": "Adds the full description (text and HTML), candidate profile, recruitment process, apply link, skills, tools, office address and the company website and LinkedIn page. About 30 jobs per second; the price is the same. Turn it off for the fastest export of the whole board.",
            "default": true
          },
          "newOnly": {
            "title": "Return only jobs new since the last run",
            "type": "boolean",
            "description": "Keeps a snapshot per watch name (or per saved task) and returns only jobs that were not there before. Schedule it daily for a job alert.",
            "default": false
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Name of the snapshot used by the new-only mode, for example \"paris-data-jobs\". Runs from a saved task get one automatically."
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on returned jobs. Set it high (for example 100000) to export every match; the whole board is about 90,000 jobs.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}