{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to the Jungle Scraper — Jobs, Salaries & Remote Work",
    "description": "Job ads from Welcome to the Jungle: title, company, size, sectors, offices, contract, remote policy, salary, experience, date and the full ad. Search links, keywords or places. No recruiter names.",
    "version": "0.1",
    "x-build-id": "xrzZ9NoGuZmkuZ2Nq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/highbrow_fame~welcome-to-the-jungle-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-highbrow_fame-welcome-to-the-jungle-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/highbrow_fame~welcome-to-the-jungle-jobs/runs": {
      "post": {
        "operationId": "runs-sync-highbrow_fame-welcome-to-the-jungle-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/highbrow_fame~welcome-to-the-jungle-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-highbrow_fame-welcome-to-the-jungle-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": {
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Welcome to the Jungle job search links (https://www.welcometothejungle.com/en/jobs?query=…&refinementList…, any language) with all their filters, or company pages (https://www.welcometothejungle.com/fr/companies/doctolib) for all of a company's jobs. One per line.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Or search here without a link: job titles, skills or company names (data analyst, python, product designer). Each keyword is searched in each place below, or everywhere when there is no place. The filters below apply.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "Cities, regions, districts or countries, in English or the local language (Paris, München, Île-de-France, Hauts-de-Seine, Spain). A place without keywords gives all its jobs.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs with an office in any of these countries.",
            "items": {
              "type": "string",
              "enum": [
                "FR",
                "GB",
                "DE",
                "ES",
                "NL",
                "BE",
                "IE",
                "IT",
                "PT",
                "CH",
                "LU",
                "AT",
                "PL",
                "CZ",
                "SK",
                "HU",
                "RO",
                "SE",
                "DK",
                "EE",
                "US",
                "CA",
                "MA",
                "IN",
                "SG",
                "AU",
                "JP",
                "BR",
                "MX",
                "AE"
              ],
              "enumTitles": [
                "France",
                "United Kingdom",
                "Germany",
                "Spain",
                "Netherlands",
                "Belgium",
                "Ireland",
                "Italy",
                "Portugal",
                "Switzerland",
                "Luxembourg",
                "Austria",
                "Poland",
                "Czechia",
                "Slovakia",
                "Hungary",
                "Romania",
                "Sweden",
                "Denmark",
                "Estonia",
                "United States",
                "Canada",
                "Morocco",
                "India",
                "Singapore",
                "Australia",
                "Japan",
                "Brazil",
                "Mexico",
                "United Arab Emirates"
              ]
            }
          },
          "contractTypes": {
            "title": "Contract type",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs of any of these kinds.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "temporary",
                "internship",
                "apprenticeship",
                "freelance",
                "graduate_program",
                "vie",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Full-time, permanent (CDI)",
                "Part-time",
                "Temporary, fixed-term (CDD)",
                "Internship",
                "Apprenticeship, work-study (alternance)",
                "Freelance",
                "Graduate programme",
                "VIE (international corporate volunteer programme)",
                "Volunteer work",
                "Other"
              ]
            }
          },
          "remote": {
            "title": "Remote work",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only jobs with any of these remote policies.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "partial",
                "punctual",
                "no"
              ],
              "enumTitles": [
                "Full remote",
                "Hybrid (a few days a week at home)",
                "Occasional remote",
                "No remote (on site)"
              ]
            }
          },
          "jobLanguages": {
            "title": "Language of the ad",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional: only ads written in any of these languages.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "fr",
                "de",
                "es",
                "it",
                "pt",
                "nl",
                "cs"
              ],
              "enumTitles": [
                "English",
                "French",
                "German",
                "Spanish",
                "Italian",
                "Portuguese",
                "Dutch",
                "Czech"
              ]
            }
          },
          "minYearlySalary": {
            "title": "Min yearly salary",
            "minimum": 0,
            "type": "integer",
            "description": "Optional: only jobs that publish a salary whose yearly minimum is at least this much, in the ad's own currency (EUR, USD, GBP…) — pair it with a country."
          },
          "maxExperienceYears": {
            "title": "Max years of experience asked",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Optional: only jobs that ask for at most this many years of experience (0 = entry level). Jobs that do not say are left out."
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Optional: only jobs published in the last this many days. 0: any date. Works for links too.",
            "default": 0
          },
          "titleOnly": {
            "title": "Keyword in the job title only",
            "type": "boolean",
            "description": "Match the keywords against the job title only, not the whole ad and company.",
            "default": false
          },
          "siteLanguage": {
            "title": "Language of the labels",
            "enum": [
              "en",
              "fr",
              "es",
              "cs",
              "sk"
            ],
            "type": "string",
            "description": "For the keywords and places: the language of sectors, professions and benefits, and of the job links. Links use the language in their address.",
            "default": "en"
          },
          "maxListingsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stops each search after this many jobs. Jobs come newest first.",
            "default": 200
          },
          "includeDetails": {
            "title": "Full job ad",
            "type": "boolean",
            "description": "Opens every job for the full ad text, the profile wanted, skills, tools, start date and the apply link. One more request per job.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches to work on at the same time.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Used only when Welcome to the Jungle turns a request down: the first try goes out directly.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}