Welcome to the Jungle Scraper avatar

Welcome to the Jungle Scraper

Pricing

from $0.79 / 1,000 results

Go to Apify Store
Welcome to the Jungle Scraper

Welcome to the Jungle Scraper

Extract job listings from Welcome to the Jungle — France, UK, US, and 3 more markets. Salary data on 92% of listings, no proxy needed. $0.99/1,000 results. Keyword search, remote & contract filters.

Pricing

from $0.79 / 1,000 results

Rating

5.0

(1)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

26

Total users

18

Monthly active users

0.66 hours

Issues response

4 days ago

Last modified

Share

welcometothejungle-scraper

Extract structured job listings from Welcome to the Jungle — Europe's leading tech and startup job board with 5M+ monthly visitors, 80,000+ active listings, and 10,000+ companies across France, the UK, the US, and 50+ countries. No API key, no account, and no browser required. Pay per result at $0.99/1,000 listings — no monthly fees, no minimums.


Why this scraper?

🌍 5 Regional Sites

Scrape EN, FR, ES, CS (Czech), and SK (Slovak) markets in a single run. Each site surfaces different company profiles and job listings tailored to that market.

Search across 80,000+ jobs by keyword, just like the WTTJ search bar. Results are powered by WTTJ's own Algolia search engine, so relevance is identical to what job seekers see on the site.

💰 Salary & Remote Data

92% of listings include salary ranges (min/max, currency, yearly/monthly period). Remote policy (no, punctual, partial, fulltime) is available on 100% of listings.

📋 Rich Job Content — No Extra Requests

Unlike most scrapers, every result includes structured job content extracted directly from WTTJ's search index — no secondary HTTP requests required:

  • Key Missions — bullet-point list of duties/responsibilities
  • Candidate Profile — skills and requirements in Markdown format
  • Education Level — required qualification (e.g. Master's, Bachelor's, PhD)
  • Benefits — full list of perks offered (100% fill rate)
  • Company Labels — employer certifications (e.g. "Top Employer", "Happy Trainees")
  • Company Size — employee headcount from the WTTJ company profile

📍 Full Geolocation

Every listing includes city, country, country code, latitude, and longitude — ready for distance-based queries.

💡 No Proxy Required

WTTJ's Algolia search index is publicly accessible from any IP. No residential proxies, no additional costs.


Input Parameters

ParameterTypeDefaultDescription
querystring""Keyword search. Leave empty to browse all listings.
websiteCountrystringenMarket site: en, fr, es, cs, sk
locationstringCountry name/code (e.g. France, FR) for country-level filtering, or a city/region (e.g. Paris) for point + radius filtering. Empty or Worldwide = no filter
locationRadiusnumber50Search radius in km — applies to city/region locations only (ignored for country filtering)
sortBystringrelevanceSort results: relevance or date
contractTypesarrayFilter by type: full_time, part_time, internship, freelance, apprenticeship, temporary, work_study
remoteTypesarrayFilter by remote policy: no, punctual, partial, fulltime
salaryMinnumberMinimum annual salary in EUR
daysOldnumberLimit to listings published within N days
maxResultsnumber100Maximum number of results to return
fetchDetailsbooleantrueFetch full description and apply URL from each listing's page
skipRepostsbooleanfalseSkip listings seen in previous runs (requires persistent dedup store)
startUrlsarrayDirect WTTJ job listing URLs to scrape

Output Schema

Every field below is present on every record. Fields the source does not publish are returned as null rather than omitted.

FieldTypeDescription
idstringUnique ID from the source.
urlstringDirect link to the listing.
titlestringTitle as published.
companyNamestringHiring company name.
companyUrlstringCompany url.
contractTypestringContract type.
contractDurationMinstringContract duration min.
contractDurationMaxstringContract duration max.
remotestringRemote.
experienceLevelstringExperience level.
educationLevelstringEducation level.
languagestringLanguage.
salaryMinnumberMinimum salary (null if not published).
salaryMaxnumberMaximum salary (null if not published).
salaryCurrencystringSalary currency.
salaryPeriodstringSalary period.
locationCitystringLocation city.
locationCountrystringLocation country.
locationCountryCodestringLocation country code.
locationLatnumberLocation lat.
locationLngnumberLocation lng.
sectorsarraySectors.
occupationsarrayOccupations.
benefitsarrayBenefits.
keyMissionsarrayKey missions.
candidateProfilestringCandidate profile.
candidateProfileTextstringCandidate profile text.
descriptionHtmlstringFull description in HTML.
descriptionTextstringDescription text.
descriptionMarkdownstringDescription markdown.
applyUrlstringApply url.
skillsstringSkills.
companyEmployeeCountnumberCompany employee count.
companyLabelsarrayCompany labels.
companyCreationYearnumberCompany creation year.
publishDatestringPublish date.
publishDateISOstringPublish date iso.
sourcestringSource.
scrapedAtstringTimestamp when this record was scraped.
contentHashstringStable hash of the content, used for repost and change detection.
isRepostbooleantrue when the listing is a repost of an earlier one (detected by content hash).
originalPublishDatestringOriginal publish date.
originalUrlstringOriginal url.

Each item in the dataset contains the following fields:

Identifiers

  • id — unique WTTJ job reference (e.g. QOBRA_04Ve1px)
  • url — canonical listing URL
  • source — always welcometothejungle.com

Job Details

  • title — job title
  • contractType — contract type (e.g. full_time, internship)
  • contractDurationMin / contractDurationMax — duration in months for temporary/freelance contracts
  • remote — remote policy (no, punctual, partial, fulltime)
  • experienceLevel — experience required (e.g. 3-5 years)
  • educationLevel — qualification level (e.g. Master's (Bac+5))
  • language — job language code

Company

  • companyName / companyUrl — company name and WTTJ profile URL
  • companyEmployeeCount — headcount
  • companyLabels — employer certifications (e.g. ["top-employer-institute", "happy-trainees"])
  • companyCreationYear — founding year

Salary

  • salaryMin / salaryMax — salary range
  • salaryCurrency — currency (default: EUR)
  • salaryPeriodyearly or monthly

Location

  • locationCity / locationCountry / locationCountryCode
  • locationLat / locationLng — GPS coordinates

Content (available without fetchDetails)

  • keyMissions — array of duties/responsibilities
  • candidateProfile — candidate requirements in Markdown
  • candidateProfileText — plain-text version of candidate requirements
  • descriptionHtml / descriptionText / descriptionMarkdown — job summary
  • benefits — list of workplace perks

Content (requires fetchDetails: true)

  • applyUrl — external application URL when available
  • skills — required skills extracted from the listing

Taxonomy

  • sectors — industry sectors (e.g. ["Software", "SaaS / Cloud Services"])
  • occupations — occupation categories (e.g. ["Tech & Engineering"])

Dates & Deduplication

  • publishDate — publication date (YYYY-MM-DD)
  • publishDateISO — publication date in ISO 8601 format
  • scrapedAt — timestamp of this scrape
  • contentHash — MD5-based hash for change detection
  • isRepost — whether this listing was seen in a previous run
  • originalPublishDate / originalUrl — original publication details if repost

Example record

{
"id": "AUCHA_6gDAaew",
"url": "https://www.welcometothejungle.com/en/companies/auchan/jobs/vendeur-stands-boucherie-charcuterie-f-h_metz_AUCHA_6gDAaew",
"title": "Vendeur Stands Boucherie Charcuterie F/H",
"companyName": "Auchan",
"companyUrl": "https://www.welcometothejungle.com/en/companies/auchan",
"contractType": "temporary",
"contractDurationMin": null,
"contractDurationMax": null,
"remote": "no",
"experienceLevel": null,
"educationLevel": null,
"language": "fr",
"salaryMin": 24280,
"salaryMax": 25730,
"salaryCurrency": "EUR",
"salaryPeriod": "yearly",
"locationCity": "Metz",
"locationCountry": "France",
"locationCountryCode": "FR",
"locationLat": 49.10842,
"locationLng": 6.20724,
"sectors": [
"Mass Distribution",
"E-commerce",
"Consumer Goods"
],
"occupations": [
"Fashion"
],
"benefits": [
"Between 1-2 days at home",
"Unconscious bias training",
"Dedicated Diversity & inclusivity staff",
"Reduction of working time (RTT)"
],
"keyMissions": [
"Conseiller les clients sur les produits de boucherie et de charcuterie, en répondant à leurs demandes et en les informan …",
"Garantir une tenue de rayon irréprochable, en préparant et en présentant le rayon de manière attractive, tout en respect …",
"Animer quotidiennement le rayon, en réalisant des théâtralisations attrayantes et en mettant en place des opérations com …"
],
"candidateProfile": "<p><strong>📢Nous vous offrons les avantages suivants :</strong></p><p><br></p><p><span style=\"color:rgb(38, 38, 38);\">• …",
"candidateProfileText": "<p><strong>📢Nous vous offrons les avantages suivants :</strong></p><p><br></p><p><span style=\"color:rgb(38, 38, 38);\">• …",
"descriptionHtml": "Rejoignez Auchan Retail France, une entreprise de distribution engagée dans la promotion d'une alimentation saine et dur …",
"descriptionText": "Rejoignez Auchan Retail France, une entreprise de distribution engagée dans la promotion d'une alimentation saine et dur …",
"descriptionMarkdown": "Rejoignez Auchan Retail France, une entreprise de distribution engagée dans la promotion d'une alimentation saine et dur …",
"applyUrl": null,
"skills": null,
"companyEmployeeCount": 59000,
"companyLabels": [
"top-employer-institute"
],
"companyCreationYear": 1961,
"publishDate": "2026-06-24",
"publishDateISO": "2026-06-24T16:41:25.000Z",
"source": "welcometothejungle.com",
"scrapedAt": "2026-06-24T17:07:53.619Z",
"contentHash": "fcaa8c70c3ff5a70",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Example: Software Engineering Jobs in Paris

Input:

{
"query": "software engineer",
"websiteCountry": "en",
"location": "Paris",
"locationRadius": 30,
"remoteTypes": ["partial", "fulltime"],
"salaryMin": 60000,
"maxResults": 100,
"fetchDetails": false
}

Sample output item:

{
"id": "QOBRA_04Ve1px",
"url": "https://www.welcometothejungle.com/en/companies/qobra/jobs/senior-fullstack-software-engineer_paris_QOBRA_04Ve1px",
"title": "Senior Fullstack Software Engineer",
"companyName": "Qobra",
"contractType": "full_time",
"remote": "punctual",
"experienceLevel": "5-10 years",
"educationLevel": "Master's (Bac+5)",
"salaryMin": 60000,
"salaryMax": 72000,
"salaryCurrency": "EUR",
"salaryPeriod": "yearly",
"locationCity": "Paris",
"locationCountry": "France",
"locationCountryCode": "FR",
"locationLat": 48.8679,
"locationLng": 2.35008,
"keyMissions": [
"Build and iterate on high-impact features for users (dashboards, reports, insights).",
"Collaborate closely with Product and Design teams."
],
"candidateProfile": "### Technical Skills\n\n* 5+ years of experience\n* Strong expertise in backend development",
"benefits": ["Flexible working hours", "Between 1-2 days at home", "Free food & snacks"],
"companyEmployeeCount": 45,
"companyLabels": ["happy-index-at-work", "tech-at-work"],
"sectors": ["Software", "SaaS / Cloud Services"],
"publishDate": "2026-04-24"
}

Example: Daily Feed of New Tech Jobs (France)

{
"websiteCountry": "fr",
"daysOld": 1,
"contractTypes": ["full_time"],
"skipReposts": true,
"maxResults": 1000,
"fetchDetails": false
}

Run on a daily schedule to get only newly posted jobs, with deduplication across runs.


Example: Single-Country Job Feed

Constrain results to one country. location accepts a country name or 2-letter code; all returned jobs have an office in that country.

{
"searchQuery": "",
"location": "France",
"maxResults": 1000,
"fetchDetails": true
}

To filter around a city instead, set location to the city and use locationRadius:

{
"location": "Paris",
"locationRadius": 30,
"maxResults": 500
}

Performance

MetricValue
Total jobs indexed80,000+
Typical run (100 results, no fetchDetails)< 15 seconds
Typical run (100 results, fetchDetails)2–4 minutes
Memory usage512 MB
Proxy requiredNone
Rate limit handlingAutomatic exponential backoff

💰 Pricing

$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsEstimated Cost
1,000~$0.99
10,000~$9.90
100,000~$99.00

Other scrapers in our Jobs — France collection:


Frequently asked questions

What jobs can I get from Welcome to the Jungle with this actor?

The actor returns every job posting matching your search — title, company, location, contract type, salary where shown, and the apply URL. You set the search terms and country; it pulls the full result set, not just the first page.

Can I filter by remote roles or specific companies?

Yes. Pass your keywords and location filters in the input and the actor returns only matching postings. To track specific companies, run a search per company name and the results come back as one clean dataset.

Does it return new postings only, or everything?

By default it returns everything matching your search. For a daily feed of new roles, schedule a run and diff against your last dataset — each run is timestamped so new postings are easy to isolate.

What format does the data come in?

A structured dataset you export as JSON, CSV, or Excel, or pull straight via the API. Every field is typed and consistent across runs.

How does pricing compare to the Welcome to the Jungle official API?

WTTJ's official partner API requires approval and is aimed at large enterprise ATS integrations. This scraper requires no approval, no contractual commitment, and starts at $0.99/1,000 results — you can have data in minutes rather than weeks. It's designed for teams that need structured job market data for research, competitive analysis, or talent pipeline tooling without procurement overhead.

Is this the right tool for monitoring French tech job postings?

Yes. The fr market option returns all French-language listings on the French WTTJ site, sorted by date. Combined with daysOld filtering and skipReposts, you can run a daily feed that only surfaces new postings — useful for talent intelligence, market research, or building job alert tools.


Run it on a schedule

This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.

  • Schedule runs — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
  • Connect it to your stack — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
  • Pull results via API — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.

Set it once and it runs on its own.


Known limitations

  • Salary is only returned when the employer publishes it — many listings carry null salary fields.
  • Company details vary per listing; the scraper returns what the source publishes and never invents data.
  • Very large result sets are bounded by the source's own paging limits.
  • Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.

Technical details

  • Coverage: everything the public search exposes, filterable via the input parameters above
  • Retry: automatic retry on network errors with exponential backoff
  • Formats: results export to JSON, CSV and Excel from the dataset

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl