{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to the Jungle Jobs Scraper: Salary & Remote",
    "description": "Scrape Welcome to the Jungle jobs in France, the US, UK and Europe: title, company, size, sector, salary, remote policy, contract, experience, benefits and summary. Plus a hiring report per search with salary ranges, top employers and remote share. No login.",
    "version": "0.1",
    "x-build-id": "fYcGNOPlkrhzzaCdU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/precious_bathmat~welcome-to-the-jungle-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-precious_bathmat-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/precious_bathmat~welcome-to-the-jungle-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-precious_bathmat-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/precious_bathmat~welcome-to-the-jungle-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-precious_bathmat-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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Job titles or skills, one search each, in English or French, e.g. \"product manager\", \"data analyst\", \"développeur\". Empty = every job (with the filters below).",
            "items": {
              "type": "string"
            }
          },
          "searchIn": {
            "title": "Search in",
            "enum": [
              "title",
              "everywhere"
            ],
            "type": "string",
            "description": "Match keywords in job titles only (precise), or everywhere like welcometothejungle.com's own search (titles, companies and descriptions: many more, looser matches).",
            "default": "title"
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Optional two-letter codes or names: FR, US, GB, CA, DE, ES, NL, IE, BE, CH ... Empty = every country.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Optional cities as Welcome to the Jungle names them: \"Paris\", \"New York\", \"London\", \"Lyon\", \"San Francisco\". Empty = every city.",
            "items": {
              "type": "string"
            }
          },
          "contractTypes": {
            "title": "Contract",
            "type": "array",
            "description": "Optional: only these contract types.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "internship",
                "apprenticeship",
                "temporary",
                "freelance",
                "graduate_program",
                "vie",
                "other"
              ],
              "enumTitles": [
                "Permanent / full-time (CDI)",
                "Part-time",
                "Internship",
                "Apprenticeship (alternance)",
                "Temporary (CDD)",
                "Freelance",
                "Graduate program",
                "VIE (international volunteer)",
                "Other"
              ]
            }
          },
          "remote": {
            "title": "Remote",
            "type": "array",
            "description": "Optional: only these remote policies.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "partial",
                "punctual",
                "no"
              ],
              "enumTitles": [
                "Full remote",
                "Partial remote (hybrid)",
                "Occasional remote",
                "No remote"
              ]
            }
          },
          "maxYearsExperience": {
            "title": "Max years of experience asked",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Optional: only jobs asking for at most this many years (0 = entry level)."
          },
          "salaryOnly": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Only jobs that show a salary range.",
            "default": false
          },
          "jobLanguages": {
            "title": "Ad language",
            "type": "array",
            "description": "Optional: only ads written in these languages, e.g. \"en\", \"fr\".",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only jobs published in this period.",
            "default": "any"
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "relevance"
            ],
            "type": "string",
            "description": "Which jobs are read first when a search has more than the maximum.",
            "default": "newest"
          },
          "maxJobsPerSearch": {
            "title": "Jobs per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Most jobs to read per keyword (1 to 50,000).",
            "default": 200
          },
          "includeReports": {
            "title": "Reports",
            "type": "boolean",
            "description": "One report per keyword: every matching job by country, city, contract, remote policy, profession, sector, experience and education, the top hiring companies and benefits, plus salary ranges, company size and freshness of the jobs read.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}