Welcome to the Jungle Jobs Scraper - WTTJ Job Ads API avatar

Welcome to the Jungle Jobs Scraper - WTTJ Job Ads API

Pricing

$0.80 / 1,000 results

Go to Apify Store
Welcome to the Jungle Jobs Scraper - WTTJ Job Ads API

Welcome to the Jungle Jobs Scraper - WTTJ Job Ads API

Use this to get job ads from Welcome to the Jungle. Input: keywords, countries, cities, contract, remote, profession filters, company names or WTTJ URLs. One result = one job: title, company, size, sector, location, salary, contract, remote, date, URL; optional full description. $0.80 per 1,000.

Pricing

$0.80 / 1,000 results

Rating

0.0

(0)

Developer

Giovanni Rich

Giovanni Rich

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Welcome to the Jungle Jobs Scraper & API - WTTJ job ads (welcometothejungle.com)

Welcome to the Jungle Jobs Scraper is a Welcome to the Jungle scraper and unofficial WTTJ jobs API. Give it keywords and filters (country, city, contract type, remote policy, profession, experience, salary, company size, company names) or paste welcometothejungle.com URLs, and get every matching job ad as clean JSON, CSV or Excel: title, company with headcount, sectors and logo, office location with coordinates, salary range, contract, remote policy, experience and education asked, profession, summary, key missions, candidate profile, benefits, publication date and the job URL. Turn on details to add the full description, skills, tools, recruitment process, external apply link and the company website, LinkedIn page, revenue and headquarters.

It reads the same search index the Welcome to the Jungle website uses, over plain HTTP: no browser and no login, up to 1,000 jobs per request. The site's search stops at 1,000 results per query; this scraper splits big searches by publication date automatically, so it is not capped at 1,000: in testing it returned every job on the site (90,517 of 90,517 in a cloud run, about 5 minutes at the default 1 GB memory), and all 11,599 "commercial" jobs in France in 7 seconds.

Use it for hiring-signal lead generation (which French, European and US startups and scale-ups are hiring for what, right now), job boards and aggregators, recruitment market mapping, salary benchmarking for France and labour-market research.

How to use

  1. Type one or more Search keywords (data analyst, product manager, commercial, développeur). No keyword = all jobs matching your filters.
  2. Optionally filter: Countries (FR, US, GB or names), Cities or regions (Paris, Lyon, London, Ile-de-France), Contract types, Remote policy, Professions, Company sectors, Experience required, Education required, Language of the job ad, Company size, Posted within (days) and Minimum yearly salary.
  3. Or list Companies by name (Doctolib, Back Market) to get all their open jobs.
  4. Set Max jobs per search (0 = everything). Tick Include full description & company details if you need the ad text and the company website.
  5. Click Start. Download the results as JSON, CSV, Excel or HTML from the Output tab, or pull them through the Apify API, Make, Zapier, n8n or an MCP client.

Already have links? Paste Welcome to the Jungle search URLs (the filters in the URL are used), company pages (all open jobs of that company) or job URLs into Search, company or job URLs.

What you get

One dataset item per job ad:

  • Identity: id (stable job id), reference, title, url, jobSlug.
  • Company: company, companySlug, companyUrl, companyLogoUrl, companyEmployees, companyFoundedYear, companySummary, companySectors, companyIndustries, companyLabels (Great Place to Work, B Corp, EcoVadis...), companyCommitments, companyEqualityIndex.
  • Where: city, country, countryCode, latitude, longitude, and locations (every office of the job).
  • Work: contractType / contractTypeLabel (permanent, fixed-term, internship, apprenticeship, freelance...), contractDurationMinMonths / Max, remote / remoteLabel (full remote, hybrid, occasional, none), isFullyRemote.
  • Pay: salaryMin, salaryMax, salaryCurrency, salaryPeriod and salaryYearlyMin (the site's yearly figure), as published by the employer.
  • Requirements: experienceYearsMin, educationLevel / educationLevelLabel.
  • Role: profession (e.g. "Back-end Developer"), professionCategory, professionSubCategory, jobLanguage.
  • Ad text: summary, keyMissions, candidateProfile, benefits.
  • Dates and origin: publishedAt, isBoosted, sourceQuery, position, scrapedAt.

With Include full description & company details on, each job also gets description (plain text), recruitmentProcess, skills, tools, experienceLevel, startDate, applyUrl (the company's own careers / ATS page when there is one), officeAddresses, status, updatedAt, and companyWebsite, companyLinkedinUrl, companyIndustry, companyRevenue, companyAverageAge, companyWomenPercent, companyJobsCount, companyHeadquarters, companyDescription.

Use cases

  • Lead generation from hiring signals: a scale-up hiring three sales reps in Paris is a prospect for sales tooling; one opening its first US office needs payroll, legal and recruiting help. Run your keywords daily with Posted within 1 day and push new ads to your CRM with the company website and LinkedIn page attached.
  • Recruitment agencies: map who is hiring in your niche, company size and sector, how long ads stay up, and which companies use an external ATS (applyUrl).
  • Job boards and aggregators: pull a profession, a city or the whole site into your own feed, deduplicated by id.
  • Salary benchmarking: about a third of ads publish a salary range; salaryMin / salaryMax by role, city, experience and company size.
  • Labour-market research: remote share, contract mix, internship and apprenticeship volumes in France over time.
  • AI agents: "find hybrid product manager jobs in Paris at companies under 250 people paying at least 60k" maps straight onto the input fields.

Input example

FieldDefaultDescription
searchQueries-Keywords, one search each. Empty = all jobs matching the filters
countriesallFR, US, GB, CA, DE, ES ... or English names
locationsallCities, regions or departments: Paris, Lyon, London, Ile-de-France
contractTypesallfull_time, part_time, temporary, internship, apprenticeship, freelance, vie, graduate_program, volunteer, idv, other
remoteallfulltime, partial, punctual, no
professionsall20 job families (Tech & Engineering) or Category > Sub-category
sectorsall20 industries (Tech) or Industry > Sector
experienceLevelsall0-1, 1-3, 3-5, 5-10, 10+ years
educationLevelsallno_diploma, bac, bac_2, bac_3, bac_5, phd ...
jobLanguagesallLanguage of the ad: en, fr, de, es ...
companySizesall1-15, 16-50, 51-250, 251-2000, 2000+ employees
companies-Company names, slugs or company URLs
postedWithinDays0 (any)1 = last 24 hours, 7 = last week
salaryMin / salaryCurrency0 / anyMinimum yearly salary; EUR, USD or GBP
languageenOutput language for labels and URLs: en, fr, es, cs, sk
sortrelevancerelevance or date
maxItems100Max jobs per search; 0 = all
deepSearchtrueSplit searches above 1,000 jobs so nothing is cut off
includeDetailsfalseFull description, skills, recruitment process, company website (one extra request per job)
startUrls-Search, company or job URLs from welcometothejungle.com
proxyConfigurationApify datacenterNo residential proxies needed

Hybrid or remote data jobs in Paris paying at least 50k, last 7 days, with descriptions:

{
"searchQueries": ["data engineer", "data scientist"],
"locations": ["Paris"],
"remote": ["partial", "fulltime"],
"salaryMin": 50000,
"salaryCurrency": "EUR",
"postedWithinDays": 7,
"maxItems": 200,
"includeDetails": true
}

Every sales job in France at companies of 51 to 2,000 people, no cap:

{
"countries": ["FR"],
"professions": ["Sales & Customer Service"],
"companySizes": ["51-250", "251-2000"],
"maxItems": 0
}

All open jobs of a few companies, and links you copied off the site:

{
"companies": ["Doctolib", "Back Market"],
"startUrls": [
"https://www.welcometothejungle.com/fr/jobs?query=python&refinementList%5Boffices.country_code%5D%5B%5D=FR&refinementList%5Bcontract_type%5D%5B%5D=internship",
"https://www.welcometothejungle.com/en/companies/rte/jobs/stage-pfe-data-analyst-power-bi-f-h_paris"
],
"maxItems": 0
}

Output example

From a real run (search for data engineer in Paris, salary at least 50,000, details on; long texts and lists shortened):

{
"id": "747bb889-d72f-43a7-973d-8d44d7f3dfc4",
"reference": "HSS_a7x2867",
"title": "Senior Applied ML Engineer",
"url": "https://www.welcometothejungle.com/en/companies/hiboo/jobs/senior-applied-ml-engineer_paris",
"company": "Hiboo Systems SAS",
"companySlug": "hiboo",
"companyUrl": "https://www.welcometothejungle.com/en/companies/hiboo",
"companyEmployees": 50,
"companyFoundedYear": 2018,
"companySummary": "Solution SaaS pour collecter et analyser les données des équipements industriels.",
"companySectors": ["SaaS / Cloud Services"],
"companyIndustries": ["Tech"],
"city": "Paris",
"country": "France",
"countryCode": "FR",
"latitude": 48.84464,
"longitude": 2.38325,
"remote": "fulltime",
"remoteLabel": "Full remote",
"isFullyRemote": true,
"contractType": "full_time",
"contractTypeLabel": "Permanent / full-time",
"salaryMin": 63000,
"salaryMax": 72000,
"salaryCurrency": "EUR",
"salaryPeriod": "year",
"salaryYearlyMin": 63000,
"experienceYearsMin": 5,
"educationLevel": "bac_5",
"educationLevelLabel": "Bac+5 (master's)",
"profession": "Machine Learning Engineer",
"professionCategory": "Tech & Engineering",
"professionSubCategory": "Data / Business Intelligence",
"jobLanguage": "fr",
"summary": "Rejoins notre équipe en tant que Senior Applied ML Engineer. Tu seras au cœur de l'innovation, reliant la Data Science, l'ingénierie logicielle et la valeur produit livré ...",
"keyMissions": [
"Analyser les données brutes, extraire la valeur business et concevoir la logique de calcul ...",
"Explorer de volumineux jeux de données, modéliser les problématiques terrain et intégrer d ..."
],
"benefits": ["Flexible working hours", "Open to full remote", "Work from anywhere", "Between 1-2 days at home"],
"publishedAt": "2026-10-07T07:38:07Z",
"sourceQuery": "data engineer",
"position": 5,
"scrapedAt": "2026-10-14T17:37:02.214Z",
"description": "En tant que Senior Applied ML Engineer, tu ne resteras pas enfermé(e) dans l’algorithmique. Tu seras la passerelle directe entre la Data Science, l’ingénierie logicielle ...",
"recruitmentProcess": "- Échange d’introduction (30 min) 🤙 : Premier échange visio pour discuter de ton parcours, de tes attentes et de la vision d’Hiboo.
- Immersion technique & produit (45 m ...",
"skills": ["Containerization and orchestration", "Negotiation skills"],
"status": "published",
"companyWebsite": "https://www.hiboo.io",
"companyLinkedinUrl": "https://www.linkedin.com/company/hiboohq",
"companyHeadquarters": "Paris, France"
}

Fill rates on a 90,518-job test run (the whole site, no details): id, title, URL, company, company logo, summary, key missions, profession, contract type, country and publication date 100%; company headcount 99%; company sectors 97%; city 93%; candidate profile 73%; coordinates 71%; company founding year 66%; experience asked 62%; remote policy 57%; benefits 48%; salary 33%; education asked 21%. On a 120-job run with details: description, company industry, headquarters and description 100%; company website 99%; skills 97%; office address 97%; company LinkedIn 81%; external apply link 70%; experience band 68%; company revenue 53%; tools 44%; recruitment process 31%. A field the employer did not fill in is null, never guessed.

Pricing

Pay per result: $0.80 per 1,000 jobs (one result = one job ad saved to the dataset). The full description and company details are included in that price.

  • 100 jobs for a quick search = $0.08
  • Every "developer" job on the site, about 5,500 jobs = $4.37
  • The whole site, about 90,500 jobs = $72.41
  • A daily run of 20 keywords, new ads only (a few hundred jobs) = about $0.25 a day

No start fee and no charge per search. Failed requests, duplicate ads, removed job URLs and empty searches are never charged. If you set a maximum cost per run, the scraper stops cleanly when it reaches it. Apify's free plan includes $5 of monthly platform credit, enough for about 6,000 jobs.

Integrations

  • Apify API: run the actor and fetch results over REST, or with the official Python (apify-client) and Node.js (apify-client) clients.
  • MCP for AI agents: through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other agents can call this Welcome to the Jungle jobs API directly and read the results; the input fields are described for agents.
  • Make, Zapier and n8n: start runs and push new jobs to your CRM, Slack, Google Sheets or Airtable.
  • Webhooks: get notified when a run finishes and process the data right away.
  • Schedules: run daily with postedWithinDays: 1 and deduplicate by id to collect only new ads.
  • Google Sheets / Excel: export the dataset straight into a spreadsheet.

Limits (read before large runs)

  • 1,000 jobs per single search is the site's own limit. Deep search gets around it by cutting the search into publication-date slices that each hold fewer than 1,000 jobs; every slice is counted exactly, so the run returns all of them. In testing the whole site (90,517 jobs, 617 requests, 0 failed) came back complete.
  • The site's count for big keyword searches is an estimate. For "commercial" in France the site said about 12,227 and the exact slices held 11,599, all of which were returned. The run summary marks such counts with siteTotalIsEstimate.
  • Keywords match the site's spelling. Most French ads say "développeur", not "developer"; search both if you want both. Matching uses exact spelling when there are exact matches (no fuzzy typo matches mixed in).
  • Cities must be written as the site writes them (Paris, Lyon, London, New York). An unknown name returns 0 jobs.
  • Salary: about a third of ads publish a range. salaryMin filters on the site's yearly figure in the ad's own currency, so set salaryCurrency when comparing.
  • Ad text is in the language it was written in (two thirds are French). language only changes labels such as professions, sectors and benefits, and the URLs.
  • No personal data. The scraper returns the public job ad and company information only; recruiter names, photos, emails and phone numbers are not collected.
  • Details cost one request per job: about 250 jobs a minute in the cloud (300 jobs in 73 seconds) instead of thousands.
  • Very large runs are limited by CPU, not by the site. At the default 1 GB memory a full-site run (90,000+ jobs) takes about 5 minutes; give the run more memory to make it faster at about the same cost.

FAQ

Is there an official Welcome to the Jungle API for job search? Welcome to the Jungle's APIs are for employers (posting jobs, ATS integrations), not for reading the job market. This actor is an unofficial alternative that reads the public job search.

Does it cover jobs outside France? It covers every job listed on welcometothejungle.com, which includes the US (about 18,000 jobs), the UK (about 5,000) and Canada as well as France.

How do I get only new jobs every day? Schedule the actor daily with postedWithinDays: 1 and sort: "date", and deduplicate on id in your own system.

How do I get every job of one company? Put the company name in companies (or its company page URL in startUrls) and leave the keywords empty. The run log says which company each name matched.

Why did I get fewer jobs than the site's count? For big keyword searches the site's count is an estimate (see Limits). Check RUN_SUMMARY in the key-value store: it lists each search with the site total, whether that total is an estimate, how many date slices ran and why it stopped.

Is scraping Welcome to the Jungle legal? The actor collects publicly visible job ads and company pages, not personal data. You are responsible for how you use the data and for following the site's terms and the laws that apply to you (including GDPR in the EU).

Something is wrong or a field is missing. Open an issue on the Issues tab of the actor page with the run ID. It reaches the developer directly.