Welcome to the Jungle Jobs Scraper
Pricing
$1.50 / 1,000 jobs
Welcome to the Jungle Jobs Scraper
Scrapes Welcome to the Jungle job listings (France, Europe, US) from any search link with every filter kept, or from company and job links. Gets title, company size and sectors, location, contract, remote policy, experience, salary, publish date and optional full descriptions.
Pricing
$1.50 / 1,000 jobs
Rating
0.0
(0)
Developer
Mina
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Welcome to the Jungle Jobs Scraper do?
Welcome to the Jungle Jobs Scraper collects job listings from Welcome to the Jungle, the job board of France's start-ups and scale-ups that now also covers the UK, the rest of Europe and the US. Paste a search link and get every job as a clean row: title, company (size, founding year, sectors, summary), city and country, contract type, remote policy, minimum experience, salary range, publish date, profession and, on request, the full job description, candidate profile and hiring process.
Every filter in your link is kept: keywords, contract type, remote policy, country, city or place with its radius, experience, salary, sectors, profession, company size, job language and newest-first sorting. Company pages and single job links work too.
Try it with the prefilled search: open the Actor, click Start, and 25 "data" jobs are ready in a few seconds. Running on the Apify platform also gives you API access, scheduled runs, integrations (Google Sheets, Make, Zapier, Slack, webhooks) and run monitoring.
Why scrape Welcome to the Jungle?
- Salary benchmarking. Many listings state a salary range; it comes as numbers with its currency and period (yearly, monthly or daily), ready to sort and average.
- Labour market research. Track demand by profession, contract type, remote policy and city across France, Europe and the US.
- Recruitment and sales leads. See which companies are hiring, how big they are, which sectors they are in, and for which roles.
- Job aggregation. Feed a niche job board, newsletter or internal tool with fresh, structured listings.
- Monitoring. Schedule a daily run on a newest-first search and keep only the job IDs you have not seen.
How to scrape Welcome to the Jungle jobs
- Search on welcometothejungle.com as usual and pick your filters, or open a company page or a job ad.
- Copy the address from your browser's address bar, for example
https://www.welcometothejungle.com/fr/jobs?query=data&refinementList[contract_type][]=full_time&refinementList[offices.country_code][]=FR. - Paste it into Search, company or job links. Add as many links as you like, one per line.
- Set Max jobs per link and choose whether to include full descriptions.
- Click Start, then download the results as JSON, CSV, Excel or HTML.
Input
Everything is set on the Input tab. In JSON, the input looks like this:
{"search_urls": ["https://www.welcometothejungle.com/en/jobs?query=data","welcometothejungle.com/fr/jobs?query=développeur&refinementList[remote][]=fulltime&sortBy=mostRecent","https://www.welcometothejungle.com/fr/companies/dougs",{ "url": "https://www.welcometothejungle.com/en/companies/shape-it/jobs/data-engineer_lyon_SI_m8Yozbq" }],"max_results_per_search": 100,"include_description": false}
| Field | What it does |
|---|---|
search_urls | Welcome to the Jungle links, one per line, in any language (/en/, /en-GB/, /fr/, /es/, /cs/, /sk/): a search results page, a company page (…/companies/<company> or its /jobs tab, for that company's open jobs) or a job ad (…/companies/<company>/jobs/<job>). https:// is optional. API callers can also send {"url": "…"} objects. |
max_results_per_search | Stops after this many jobs from each search or company link. Default: 100. |
include_description | Adds the full description, candidate profile, hiring process and external apply link from each job's own page. One extra request per job, so runs take longer. Default: off. |
proxy_configuration | Leave empty. Welcome to the Jungle answers the Actor directly; if a request is refused, the Actor retries through Apify's datacenter proxy, then its residential proxy, on its own. Choosing a proxy sends every request through it. |
Which filters are read from the link?
The Actor runs your search on the same job index the website searches, with the same filters.
| On Welcome to the Jungle | In the link | Example |
|---|---|---|
| Keywords | query= (or job_title=) | query=data engineer |
| Contract type | refinementList[contract_type][] | full_time, internship, apprenticeship, temporary, freelance, part_time |
| Remote policy | refinementList[remote][] | fulltime (fully remote), partial (hybrid), punctual (occasional), no (on-site) |
| Country, region, city | refinementList[offices.country_code][], [offices.state], [offices.city] | FR, US, GB |
| Place and radius | aroundQuery=, aroundLatLng=, aroundRadius= (km, or all) | aroundQuery=Lyon&aroundRadius=30 |
| Experience | range[experience_level_minimum] | 0:2 (0 to 2 years) |
| Salary | range[salary_yearly_minimum] | 50000: (from 50,000 a year) |
| Sector | refinementList[sectors.parent_reference][] or [sectors.reference] | tech-1, banking-insurance-finance |
| Profession | refinementList[new_profession.category_reference][] or [new_profession.sub_category_reference] | tech-engineering-3NjUy |
| Company size | range[organization.nb_employees] | 50:250 |
| Job language | refinementList[language][] | en, fr |
| Education, benefits, company labels | refinementList[education_level][], [benefits], [organization.labels] | bac_5 |
| Sort order | sortBy= | sortBy=mostRecent (newest first) |
Filters can also be written without the refinementList[…] wrapper, for example ?contract_type=internship&remote=fulltime. A place written only in words (aroundQuery=Lyon) is looked up the way the site's location box does, taking its first suggestion: a city gets a 20 km radius and a region 100 km unless the link gives one, and a country becomes a country filter. The run log names the place it was read as, and so does FAILED_INPUTS when no job matches. Write the place in full (United Kingdom, New York): the site does not look up names shorter than 3 characters, so a link with aroundQuery=UK is refused, and a short name can be read as another place (on an /en/ link, USA is read as Uşak, Türkiye). To be exact, add the place's coordinates with aroundLatLng= as latitude,longitude (48.8566,2.3522; a space or ; between the two, as in 45,764;4,8357, works too). A link whose aroundLatLng cannot be read is refused, or searched by its aroundQuery name when it has one, so it is never widened to every place. aroundRadius=all (or 0) means any distance: every matching job that has a location, wherever it is. The page number in a link is ignored: every search starts from its first job.
A link is never searched more widely than it asks. A link that filters by something the Actor cannot read, such as experience_level, locations or salary from the site's newer search, is not searched at all, and neither is a link whose only parameters are ones the Actor does not know: both are listed in FAILED_INPUTS with the reason, and nothing is charged for them. The same goes for a link the site would reject: keywords longer than 512 bytes, coordinates off the map, a range limit above 1,000,000,000,000,000, or a search the site answers as invalid (its own message is given as the reason). Unknown extra parameters next to filters the Actor can read (tracking tags and the like) are skipped and named in the run log.
Output
Each job becomes one row. Here is a real one, with long texts shortened:
{"jobId": "c7e1f739-5aba-4d4c-b063-aff725663103","slug": "developpeur-typescript-node-react-senior-f-h-x_paris_EL_r2QVGk5","url": "https://www.welcometothejungle.com/fr/companies/eleven-labs/jobs/developpeur-typescript-node-react-senior-f-h-x_paris_EL_r2QVGk5","title": "Développeur Typescript Node React Senior F/H/X","company": "Eleven Labs","companySlug": "eleven-labs","companyUrl": "https://www.welcometothejungle.com/fr/companies/eleven-labs","companyLogoUrl": "https://cdn-images.welcometothejungle.com/m4zmi2fV-F8TAwixxAkTM6aMNPbBC8LAls3DBDd0Kho/rs:auto:400/q:85/...","companySize": 100,"companyFoundedYear": 2011,"companySummary": "Conseil en projets Web agiles et développement.","companySectors": ["Logiciels", "IT / Digital", "Audit"],"city": "Paris","country": "France","countryCode": "FR","locations": ["Paris, France"],"contractType": "full_time","contractMonthsMin": null,"contractMonthsMax": null,"remote": "partial","experienceYearsMin": 5,"educationLevel": null,"salaryMin": 50000,"salaryMax": 70000,"salaryCurrency": "EUR","salaryPeriod": "yearly","publishedAt": "2026-10-09T17:01:21Z","language": "fr","profession": "Développeur de logiciels","professionCategory": "Technologie et ingénierie","professionSubCategory": "Développement de logiciels et de sites Web","summary": "Rejoins Eleven Labs, une entreprise innovante et technologique. En tant que développeur Fullstack Typescript Senior, tu travailleras sur des projets à fort trafic...","keyMissions": ["Conception et mise en œuvre de solutions techniques robustes et évolutives...", "..."],"benefits": ["Entre 2-3 jours de télétravail", "Salle de jeux"],"description": "Tu es un(e) développeur(se) Fullstack Typescript Senior et tu cherches à travailler sur des projets à très fort trafic...","candidateProfile": "Ton profil 🧳\n\n- Tu as au moins 5 ans d’expérience sur l’écosystème Typescript...","recruitmentProcess": "- Un entretien visio ...","applyUrl": null,"position": 5,"sourceUrl": "https://www.welcometothejungle.com/fr/jobs?query=d%C3%A9veloppeur&refinementList%5Bcontract_type%5D%5B%5D=full_time&refinementList%5Boffices.country_code%5D%5B%5D=FR&refinementList%5Bremote%5D%5B%5D=fulltime&refinementList%5Bremote%5D%5B%5D=partial&range%5Bsalary_yearly_minimum%5D=40000%3A&sortBy=mostRecent","scrapedAt": "2026-10-10T14:11:11Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has two views: Jobs (the main columns) and Full details.
Data fields
| Field | Description |
|---|---|
jobId | Welcome to the Jungle's job reference. |
slug | The job's name in its link. |
url | Link to the job ad, in the language of the link you pasted (English when the site has no pages in it, such as /de/). |
title | Job title. |
company, companySlug, companyUrl | The hiring company and its page on Welcome to the Jungle. |
companyLogoUrl | The company logo. |
companySize | Number of employees, as the company states it. |
companyFoundedYear | The year the company was founded. |
companySummary | The company's one-line summary. |
companySectors | The company's sectors, in the language of the link (for example "Software", "IT / Digital"). |
city, country, countryCode | The job's first office. |
locations | Every office the job is offered in, as "City, Country". |
contractType | The site's contract code, such as full_time, part_time, internship, apprenticeship, temporary, freelance, vie (international volunteering), graduate_program or other. |
contractMonthsMin, contractMonthsMax | Contract length in months, for fixed-term contracts and internships that state it. |
remote | fulltime (fully remote), partial (hybrid), punctual (occasional remote) or no (on-site); empty when the ad does not say. |
experienceYearsMin | Minimum years of experience asked for, when stated. |
educationLevel | Education level asked for, in the French scale the site uses (bac_5 = master's degree, bac_3 = bachelor's, phd…), when stated. |
salaryMin, salaryMax | The salary range, when the ad shows one. A single figure fills salaryMin only. |
salaryCurrency, salaryPeriod | The currency (EUR, USD, GBP…) and the period the amounts are per, as the ad states it (yearly, monthly, daily…). Empty when no salary is shown; salaryPeriod is also empty when the ad gives amounts without a period. |
publishedAt | When the job was published, in UTC. |
language | The language the ad is written in. |
profession, professionCategory, professionSubCategory | The site's job classification, such as "Data Engineer" / "Tech & Engineering" / "Data / Business Intelligence". |
summary | The short summary of the job shown on the site. |
keyMissions | The job's main missions, when listed. |
benefits | The company's perks and benefits. |
description | The full job description as plain text (with Include full job descriptions). |
candidateProfile | The "preferred experience" section: who the company is looking for (with descriptions). |
recruitmentProcess | The hiring steps, when the company describes them (with descriptions). |
applyUrl | The company's own application page, for jobs that are applied for outside Welcome to the Jungle (with descriptions). |
position | The job's rank in the search's results, counting from 1. Empty for single job links. |
sourceUrl | The link you pasted that found this job. |
scrapedAt | When the job was collected, in UTC. |
How much does it cost to scrape Welcome to the Jungle?
The Actor uses pay-per-event pricing: you pay a small fixed price for each job saved, and the exact price is on the Pricing tab. Full descriptions cost nothing extra per job; they only make the run take longer.
You are never charged for links that return nothing: a search with no jobs, a removed job, a place the site does not know or a link that is not from Welcome to the Jungle is listed in the run's FAILED_INPUTS record instead. If you set a maximum cost for a run, the Actor stops as soon as it is reached.
The Actor needs no browser and no proxy, so runs are quick and light: the prefilled search finishes in about 6 seconds, 2,500 jobs without descriptions take about 10 seconds, and with descriptions it reads roughly 20 jobs a second.
Tips for scraping Welcome to the Jungle
- Let the site filter for you. Narrow the search before copying the link. The filters are applied by the site's own search, so you only collect (and pay for) matching jobs.
- Monitor new jobs. Add
sortBy=mostRecentto your search, schedule the Actor daily, and drop job IDs you already have. - Big searches. The site's search hands out the first 1,000 jobs of any one search. Set Max jobs per link above 1,000 and the Actor reads the search newest first, picking up each time where the oldest job left off, so every matching job can be reached.
- Descriptions only when you need them. Without them, rows still include the summary and key missions, and runs are several times faster.
- Each job is saved once per run, even when several of your links find it.
FAQ, disclaimers and support
Which links work? Job search pages, company pages and job ads on welcometothejungle.com in every language the site offers. Articles, the home page and other pages are not job lists; they are listed in FAILED_INPUTS with the reason.
The site asks me to sign in to see search results. Does the Actor need an account? No. The Actor never logs in. It runs your search on the public job index the site's search uses, so you only need the link. If you cannot see results on the site, build the link yourself from the filter table above.
Why do some jobs have no salary? Many companies do not publish one. The Actor never estimates a salary; it reports only what the ad shows. The site's search leaves out the rare salary given without a period; when the Actor reads the job's own page (with Include full job descriptions on, and always for a job link) it fills that salary in from the page, with salaryPeriod left empty.
Why are company sectors and benefits in French? Labels follow the language of the link: paste a /en/ link to get them in English. Job titles and descriptions stay in the language the company wrote them in (see language).
What happens to links that return nothing? They are not saved as rows, so you are not charged for them. Each is listed with its reason in the FAILED_INPUTS record of the run's key-value store, and the run's status message gives the counts. A search the site stopped answering partway is listed there too, with how many jobs were saved before it stopped, and counted as "stopped short" in the status message. A run fails only when Welcome to the Jungle could not be reached for any of your links.
Is it legal to scrape Welcome to the Jungle? This Actor collects job listings that companies publish publicly so that people can find and apply for them. It does not log in and collects no candidate data. Job ads can still mention people, such as a recruiter's first name in the hiring process, and their text belongs to the company that wrote it. You are responsible for making sure your use complies with Welcome to the Jungle's terms and with the laws that apply to you, such as GDPR and copyright rules for republishing ads. If in doubt, ask a lawyer.
Found a problem or need something custom? Open an issue on the Issues tab and we will look into it. Custom scrapers and job data feeds are available on request.