{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to the Jungle Jobs Scraper & New Job Monitor",
    "description": "Welcome to the Jungle jobs (France, US, UK, Canada, Germany, Spain and more) by keyword, company, city, contract, remote and salary: title, company size and sector, salary as numbers, location, date and link. No 1,000-job limit. Optional full job page and only-new monitor.",
    "version": "0.1",
    "x-build-id": "Lxpm7i3gI3KbPcvHE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~welcome-to-the-jungle-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-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/neverempty~welcome-to-the-jungle-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-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/neverempty~welcome-to-the-jungle-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-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": {
          "searchQueries": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What you would type into the Welcome to the Jungle search box, for example data engineer, product manager, comptable, stage marketing. Each keyword is one search. Leave empty to list every job that matches the filters below.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Optional. Only jobs at these companies: the name from the company page address (doctolib, back-market, qonto) or the page URL itself, for example https://www.welcometothejungle.com/en/companies/doctolib. Each company is searched with each keyword.",
            "items": {
              "type": "string"
            }
          },
          "searchInTitleOnly": {
            "title": "Match keywords in the job title only",
            "type": "boolean",
            "description": "On: a keyword must appear in the job title. Off (default): the site also matches the company, summary and missions, like its own search box.",
            "default": false
          },
          "siteLanguage": {
            "title": "Site language for links and labels",
            "enum": [
              "en",
              "fr",
              "es",
              "cs",
              "sk"
            ],
            "type": "string",
            "description": "Language of the job and company links and of category, sector and country names. Every language lists the same jobs; to get jobs written in a given language use Job ad language.",
            "default": "en"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Optional. ISO two-letter country codes of the job office, for example FR, US, GB, CA, DE, ES, BE (the United Kingdom is GB, not UK). Empty = all countries.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Optional. Office city as the site writes it, for example Paris, Lyon, Barcelona, London, New York, Prague. Empty = all cities.",
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius around the city (km)",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Optional. With exactly one city: jobs within this many kilometres of it, not just in the city itself."
          },
          "contractTypes": {
            "title": "Contract types",
            "type": "array",
            "description": "Optional. Keep only these contract types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "temporary",
                "internship",
                "apprenticeship",
                "freelance",
                "vie",
                "idv",
                "graduate_program",
                "volunteer",
                "other"
              ],
              "enumTitles": [
                "Permanent (full time)",
                "Part time",
                "Temporary / fixed term",
                "Internship",
                "Apprenticeship / work-study",
                "Freelance",
                "VIE (international volunteer)",
                "IDV",
                "Graduate program",
                "Volunteer",
                "Other"
              ]
            }
          },
          "remote": {
            "title": "Remote work",
            "type": "array",
            "description": "Optional. Keep only these remote policies. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "partial",
                "punctual",
                "no",
                "unknown"
              ],
              "enumTitles": [
                "Fully remote",
                "Hybrid (a few days a week)",
                "Occasional remote",
                "On site",
                "Not stated"
              ]
            }
          },
          "experienceLevels": {
            "title": "Experience required",
            "type": "array",
            "description": "Optional. Minimum experience the job asks for. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "0-1",
                "1-3",
                "3-5",
                "5-10",
                "10+"
              ],
              "enumTitles": [
                "Less than 1 year",
                "1 to 3 years",
                "3 to 5 years",
                "5 to 10 years",
                "10 years or more"
              ]
            }
          },
          "companySizes": {
            "title": "Company size (employees)",
            "type": "array",
            "description": "Optional. Keep only companies of these sizes. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "0-15",
                "15-50",
                "50-250",
                "250-2000",
                "2000+"
              ],
              "enumTitles": [
                "Under 15",
                "15 to 50",
                "50 to 250",
                "250 to 2,000",
                "2,000 or more"
              ]
            }
          },
          "educationLevels": {
            "title": "Education level",
            "type": "array",
            "description": "Optional. Education level the job asks for (French levels as the site uses them). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "no_diploma",
                "cap",
                "bep",
                "bac",
                "bac_1",
                "bac_2",
                "bac_3",
                "bac_4",
                "bac_5",
                "phd"
              ],
              "enumTitles": [
                "No diploma",
                "CAP",
                "BEP",
                "Baccalauréat (high school)",
                "Bac +1",
                "Bac +2",
                "Bac +3 (bachelor)",
                "Bac +4",
                "Bac +5 (master)",
                "PhD"
              ]
            }
          },
          "jobLanguages": {
            "title": "Job ad language",
            "type": "array",
            "description": "Optional. ISO two-letter language codes of the job ad itself, for example en, fr, es, de. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Company sectors",
            "type": "array",
            "description": "Optional. Keep only companies in these sectors. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "tech-1",
                "industry-1",
                "banking-insurance-finance",
                "distribution-1",
                "consulting-audit",
                "health-social-environment",
                "advertising-marketing-agency",
                "public-administration-1",
                "culture-media-entertainment",
                "food-and-beverage",
                "education-training-recruitment",
                "engineering-1",
                "real-estate",
                "fashion-luxury-beauty-lifestyle",
                "mobility-transport",
                "corporate-services",
                "hotel-tourism-leisure",
                "nonprofit-association",
                "legal-law",
                "architecture-1"
              ],
              "enumTitles": [
                "Tech",
                "Industry",
                "Banking, insurance and finance",
                "Retail and distribution",
                "Consulting and audit",
                "Health, social and environment",
                "Advertising and marketing agencies",
                "Public administration",
                "Culture, media and entertainment",
                "Food and beverage",
                "Education, training and recruitment",
                "Engineering",
                "Real estate",
                "Fashion, luxury, beauty and lifestyle",
                "Mobility and transport",
                "Corporate services",
                "Hotels, tourism and leisure",
                "Non-profit and associations",
                "Legal",
                "Architecture"
              ]
            }
          },
          "categories": {
            "title": "Job categories",
            "type": "array",
            "description": "Optional. Keep only jobs in these job categories. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "sales-customer-service-5MzIw",
                "tech-engineering-3NjUy",
                "business-finance-1MjQ4",
                "project-product-management-xYmEw",
                "hr-people-iZGMy",
                "communication-marketing-advertising-wNDg5",
                "maintenance-repair-lZDUy",
                "transport-logistics-lMDVm",
                "craftsmanship-and-manual-labor-yNGQw",
                "fashion-5MzY5",
                "healthcare-yMjNi",
                "hospitality-4ZTdj",
                "consulting-strategy-iNDRl",
                "construction-jNzEz",
                "legal-zYjg3",
                "security-defense-jMzJm",
                "research-development-0OGVm",
                "agriculture-agri-food-4YmNh",
                "education-wNTkx",
                "culture-arts-wOTc2"
              ],
              "enumTitles": [
                "Sales and customer service",
                "Tech and engineering",
                "Business and finance",
                "Project and product management",
                "HR and people",
                "Communication, marketing and advertising",
                "Maintenance and repair",
                "Transport and logistics",
                "Craftsmanship and manual labor",
                "Fashion",
                "Healthcare",
                "Hospitality",
                "Consulting and strategy",
                "Construction",
                "Legal",
                "Security and defense",
                "Research and development",
                "Agriculture and agri-food",
                "Education",
                "Culture and arts"
              ]
            }
          },
          "minYearlySalary": {
            "title": "Minimum yearly salary",
            "minimum": 1,
            "maximum": 10000000,
            "type": "integer",
            "description": "Optional. Only jobs that state a salary whose yearly minimum is at least this amount (monthly and daily pay are converted to yearly by the site). Combine with Salary currency."
          },
          "salaryCurrency": {
            "title": "Salary currency",
            "enum": [
              "EUR",
              "USD",
              "GBP"
            ],
            "type": "string",
            "description": "Optional. Only jobs paid in this currency."
          },
          "onlyWithSalary": {
            "title": "Only jobs that state a salary",
            "type": "boolean",
            "description": "On: skip jobs that do not state a salary.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Optional. Only jobs published in the last N days, for example 1 for the last 24 hours or 7 for the last week."
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Newest first reads past the site's 1,000-result limit. Most relevant follows the site's own ranking, which stops at 1,000 jobs per search.",
            "default": "date"
          },
          "maxResultsPerSearch": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop each search after this many jobs. Every keyword (and company) is one search.",
            "default": 100
          },
          "includeJobDetails": {
            "title": "Add job page details",
            "type": "boolean",
            "description": "On: also read each job page for the full description, candidate profile, skills, tools, apply link, start date, contract length, number of hiring steps and company website, LinkedIn, revenue and headquarters. Charged as a job with details.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new jobs since the last run (monitor)",
            "type": "boolean",
            "description": "On: the first run only remembers the jobs that match now (free); later runs return only jobs published since. Schedule it daily or hourly for a job alert.",
            "default": false
          },
          "watchName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional. Keeps separate memories for separate monitors, for example paris-data or remote-design. Letters, digits, dot, dash and underscore."
          },
          "resetMonitoringState": {
            "title": "Start the monitor again",
            "type": "boolean",
            "description": "On: forget what this monitor remembered for these searches and take a new baseline (free).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}