Welcome to the Jungle Scraper
Pricing
from $0.99 / 1,000 results
Welcome to the Jungle Scraper
Under maintenanceExtract job listings from Welcome to the Jungle. Keyword search, 5 regional markets (EN/FR/ES/CS/SK), salary & remote filters, full descriptions. No proxy needed.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share

Extract structured job listings from Welcome to the Jungle — Europe's leading tech and startup job board with 5M+ monthly visitors and 10,000+ companies across France, the UK, the US, and 50+ countries. No API key, no account, and no browser required.
Why this scraper?
🌍 5 Regional Sites
Covers the English (global), French, Spanish, Czech, and Slovak WTTJ sites in a single actor. Select your target market with one parameter.
💰 Salary Data
Extracts disclosed salary ranges — minimum, maximum, currency, and period (yearly/monthly) — directly from the search index where companies choose to publish them.
🎯 Rich Filtering
Filter by contract type, remote policy, experience level, minimum salary, company size, and job language. Combine filters freely.
📋 Full Job Descriptions
Enable fetchDetails to retrieve the complete job description, required skills, and recruitment process from each listing's detail page.
🔄 Incremental Feed Mode
Enable skipReposts to receive only net-new listings on each run — ideal for daily scheduled feeds into job boards, ATS systems, or analytics pipelines.
📍 Geographic Search
Provide any city, region, or country name and a radius to restrict results to a specific area.
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
query | string | Keywords to search — job title, skills, or any search term. Leave empty to browse all listings. | "" |
websiteCountry | select | WTTJ regional site: en (global), fr, es, cs, sk. Affects category label language. | "en" |
location | string | City, region, or country (e.g. "Paris", "Berlin", "United Kingdom"). Leave empty for worldwide. | "" |
locationRadius | integer | Search radius around the location in kilometres. | 50 |
sortBy | select | relevance or date (newest first). | "relevance" |
contractTypes | array | Contract type filter: full_time, part_time, temporary, internship, apprenticeship, freelance, vie, fixed_term, graduate_program, other. | [] |
remoteTypes | array | Remote policy filter: no, partial, punctual, fulltime, unknown. | [] |
experienceLevel | select | Minimum experience: 0-1, 1-3, 3-5, 5-10, 10+. Leave empty for all levels. | "" |
salaryMin | integer | Only return jobs with a disclosed minimum salary at or above this value. Set to 0 to disable. | 0 |
companySize | select | Company size filter: 0-15, 15-50, 50-250, 250-2000, 2000+. | "" |
language | string | Job language ISO code (e.g. "en", "fr", "de"). Leave empty for all. | "" |
daysOld | integer | Only return jobs published within this many days. Set to 0 to disable. | 0 |
maxResults | integer | Maximum number of results. Set to 0 for unlimited. | 100 |
fetchDetails | boolean | Fetch full description, skills, and recruitment process from each detail page. Disable for faster runs. | true |
skipReposts | boolean | Skip jobs already returned in a previous run (90-day fingerprint cache). Use for daily feeds. | false |
startUrls | array | Specific WTTJ job page URLs to scrape directly. When set, search filters are ignored. | [] |
Output schema
Always present
| Field | Type | Description |
|---|---|---|
id | string | WTTJ job reference (e.g. FRAMA_o4N2pxO). Unique per listing. |
url | string | Canonical URL of the job listing on welcometothejungle.com. |
title | string | Job title as published by the employer. |
companyName | string | Name of the hiring company. |
companyUrl | string | null | WTTJ company profile URL. |
contractType | string | null | Contract type: full_time, part_time, internship, apprenticeship, freelance, temporary, vie, fixed_term, graduate_program, other. |
remote | string | null | Remote policy: no, partial, punctual, fulltime, unknown. |
experienceLevel | string | null | Minimum experience level reference (e.g. 3-5). Null if not specified by employer. |
salaryMin | number | null | Minimum annual salary (null if employer did not disclose). |
salaryMax | number | null | Maximum annual salary (null if employer did not disclose). |
salaryCurrency | string | null | ISO currency code, e.g. EUR, GBP, USD (null if salary not disclosed). |
salaryPeriod | string | null | Salary period: yearly or monthly (null if not disclosed). |
locationCity | string | null | Primary office city. |
locationCountry | string | null | Country name or ISO code of the primary office. |
locationLat | number | null | Latitude of the primary office (null if unavailable). |
locationLng | number | null | Longitude of the primary office (null if unavailable). |
language | string | null | Language of the job posting (ISO 639-1, e.g. en, fr). |
sectors | string[] | Industry sector tags associated with the listing. |
occupations | string[] | Job category / occupation tags. |
tags | string[] | Additional classification tags from WTTJ editorial sections. |
publishDate | string | null | Publication date in YYYY-MM-DD format. |
publishDateISO | string | null | Publication date in ISO 8601 format. |
summary | string | null | First 200 characters of the job description preview (from search index). |
source | string | Always "welcometothejungle.com". |
scrapedAt | string | ISO timestamp of when the item was scraped. |
contentHash | string | 16-character MD5 hash of the listing's key fields — useful for change detection. |
isRepost | boolean | true if this listing was already returned in a previous run (requires skipReposts enabled). |
originalPublishDate | string | null | Publication date from the first time this listing was seen (for reposts). |
originalUrl | string | null | Original URL from the first time this listing was seen (for reposts). |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
descriptionHtml | string | null | Full job description as raw HTML from the detail page. |
descriptionText | string | null | Full job description as plain text (HTML tags stripped). |
descriptionMarkdown | string | null | Full job description converted to Markdown. |
applyUrl | string | null | External application URL where candidates submit their application (null for in-platform applications). |
skills | string[] | null | Required skills extracted from the listing's structured data. |
recruitmentProcess | string | null | Plain text description of the hiring process (null if not published by employer). |
Example output record
{"id": "ELIS_MPRq2wg","url": "https://www.welcometothejungle.com/en/companies/elis-france/jobs/responsable-du-service-logistique-h-f_saint-louis_ELIS_MPRq2wg","title": "Responsable du service logistique H/F","companyName": "Elis France","companyUrl": "https://www.welcometothejungle.com/en/companies/elis-france","contractType": "full_time","remote": "no","experienceLevel": "3-5","salaryMin": 45000,"salaryMax": 52000,"salaryCurrency": "EUR","salaryPeriod": "yearly","locationCity": "Saint-Louis","locationCountry": "FR","locationLat": 47.5896,"locationLng": 7.5569,"language": "fr","sectors": ["Logistics", "Supply chain"],"occupations": ["Operations", "Supply chain management"],"tags": [],"publishDate": "2026-04-20","publishDateISO": "2026-04-20T08:14:00.000Z","summary": "Dans le cadre de notre développement, nous recherchons un(e) Responsable du service logistique...","descriptionHtml": "<p>Dans le cadre de notre développement...</p>","descriptionText": "Dans le cadre de notre développement, nous recherchons...","descriptionMarkdown": "Dans le cadre de notre développement, nous recherchons...","applyUrl": null,"skills": ["Supply chain management", "SAP", "Team leadership"],"recruitmentProcess": "Phone screen → Technical interview → Final interview with HR","source": "welcometothejungle.com","scrapedAt": "2026-04-24T10:22:11.000Z","contentHash": "a3f2c1d4e5b69871","isRepost": false,"originalPublishDate": null,"originalUrl": null}
Examples
Search for software engineer roles in Paris:
{"query": "software engineer","websiteCountry": "fr","location": "Paris","locationRadius": 30,"maxResults": 200}
Filter for remote full-time roles with salary disclosure, sorted by date:
{"query": "product manager","websiteCountry": "en","contractTypes": ["full_time"],"remoteTypes": ["fulltime", "partial"],"salaryMin": 60000,"sortBy": "date","maxResults": 100}
Scrape specific job URLs directly:
{"startUrls": [{ "url": "https://www.welcometothejungle.com/en/companies/elis-france/jobs/responsable-du-service-logistique-h-f_saint-louis_ELIS_MPRq2wg" },{ "url": "https://www.welcometothejungle.com/fr/companies/axa/jobs/data-scientist-f-h_paris_AXA_Ab3De7X" }],"fetchDetails": true}
Daily feed — only new listings from the past 24 hours:
{"websiteCountry": "en","daysOld": 1,"skipReposts": true,"sortBy": "date","maxResults": 0}
💰 Pricing
$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$0.99 |
| 10,000 | ~$9.90 |
| 100,000 | ~$99.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | fetchDetails | Approx. time |
|---|---|---|
| 100 results | Enabled | ~2–3 min |
| 1,000 results | Enabled | ~15–20 min |
| 1,000 results | Disabled | ~2–3 min |
| 10,000 results | Disabled | ~15–20 min |
Known limitations
- Keyword search filters the local index only. The
queryparameter improves relevance but does not guarantee exact matches — usestartUrlsfor specific listings. - Salary disclosure is employer-controlled. Many companies do not publish salary ranges;
salaryMinandsalaryMaxwill benullfor those listings. - Location and contract type require
fetchDetails: true. These fields are enriched from the detail page and may benullwithfetchDetails: false. - Description requires
fetchDetails: true. All three description format fields arenullwithout detail fetching. - No contact person data is collected, in line with GDPR best practices.
- Remote policy (
remotefield) has lower fill rate as WTTJ encodes this in custom structured data not always present in JSON-LD.
Technical details
- Source: welcometothejungle.com — Europe's leading tech and startup job board
- Memory: 512 MB
- Coverage: English (global), French, Spanish, Czech, Slovak regional sites
- Repost storage: KeyValueStore
welcometothejungle-scraper-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Part of the Unfenced Group European job board scraper portfolio — 50+ job markets covered. Built by unfenced-group · Issues? Open a ticket or send a message.