
Welcome to the Jungle Jobs Scraper
hipersoft/welcometothejungle-scraper
Scrape job ads from Welcome to the Jungle: title, company with size and founding year, city and country with coordinates, contract type, remote policy, salary range, sectors, benefits and key missions. Filter by keyword, city, contract or salary and export to JSON, CSV, Excel or XML.
Total users
1Monthly users
0Total runs
64Per job scraped
$0.003Last rebuilt
Oct 26, 2026Overview
Scrape Welcome to the Jungle, one of Europe's largest tech and startup job boards, and turn its live job ads into clean, structured data. This Welcome to the Jungle scraper collects the job title, hiring company, city and country with coordinates, contract type, remote policy, published salary range, sectors, benefits, key missions and requirements — plus company size and founding year on every single row. Export to JSON, CSV, Excel or XML, or pull it straight from the API. Fast, reliable, and you pay only per job you actually get.

What does the Welcome to the Jungle Scraper do?
The Welcome to the Jungle Scraper is a job-board crawler that extracts public job ads into a flat, analysis-ready table. Search by keyword the way you would on the site (développeur, data analyst, product manager), or leave the keyword empty and sweep the whole current board. Both the French and English editions are supported.
What makes this dataset unusual is how much of it is already structured. Most job boards bury pay inside free text; here the salary minimum, maximum, currency and period are separate numeric fields, so you can sort and average them straight away. Every office carries latitude and longitude, so results drop onto a map with no geocoding step. And each employer arrives with its headcount, founding year, sectors and logo attached.
What data can you scrape from Welcome to the Jungle?

| Data point | Description |
|---|---|
title |
Job title exactly as published |
url |
Direct link to the job ad |
companyName |
Hiring company |
companyUrl |
Link to the company profile |
companySummary |
One-line description of the employer |
companySize |
Number of employees |
companyFoundedYear |
Year the company was founded |
companyLogo |
Company logo image URL |
companyLabels |
Employer badges such as "great place to work" |
contractType |
Permanent, fixed-term, internship, apprenticeship, freelance, VIE… |
contractDurationMinimum / contractDurationMaximum |
Contract length in months, where published |
remote |
Remote policy — fully remote, partial, occasional or none |
experienceLevelMinimum |
Years of experience required |
educationLevel |
Required education level |
profession |
Normalised job role (e.g. Software Developer) |
professionCategory / professionSubCategory |
Role family and sub-family |
salaryMinimum / salaryMaximum |
Published salary range as numbers |
salaryYearlyMinimum |
Salary normalised to a yearly figure |
salaryCurrency / salaryPeriod |
Currency and whether the figure is yearly or monthly |
offices |
Every office: city, district, state, country, latitude, longitude |
cities, countries |
Flat arrays of city and country names |
locationsText |
All cities in one readable string |
sectors |
Company sectors (SaaS, Fintech, Health…) |
benefits |
Perks listed on the ad |
keyMissions |
The role's main responsibilities, as a clean array |
requirements / requirementsText |
Candidate requirements, HTML and plain text |
summary |
Short summary of the role |
publishedAt |
Publication date (ISO 8601) |
scrapedAt |
When the row was collected (ISO 8601) |
Use cases
- Salary benchmarking — thousands of ads with structured pay ranges, ready to average by role, city or seniority.
- Recruitment market research — track hiring demand by sector, contract type, remote policy and company size over time.
- Build a job board or aggregator — keep a European tech jobs feed fresh with a scheduled run and one row per ad.
- Startup and scale-up intelligence — see which companies are hiring, how big they are, how old they are and what they pay.
- Talent sourcing — filter to remote-friendly roles in a city or a salary band and push matches into Slack or email.
- Map and geo analysis — every office ships with coordinates, so hiring maps need no geocoding.
- Lead generation for recruiters — find employers actively opening roles, with company profile and logo attached.
- Academic and economic research — build a longitudinal dataset of the European tech labour market from public postings.
How to scrape Welcome to the Jungle job data
- Add the Welcome to the Jungle Scraper to your Apify account and open the input form.
- Type one or more search keywords — a role (
développeur,data analyst) or a skill. Leave it empty to collect the whole current board. - Pick the language edition, and optionally narrow by contract type, city, country, company, sector, minimum salary, remote-friendly or published within N days.
- Set Max items if you want a smaller sample.
- Click Start, then download the dataset as JSON, CSV, Excel or XML — or fetch it from the Apify API.
Input
Example input
{
"searchQueries": ["développeur", "data analyst"],
"language": "fr",
"contractTypes": ["full_time"],
"city": "Paris",
"minSalary": 45000,
"remoteOnly": true,
"publishedWithinDays": 30,
"maxItems": 500
}
Input reference
| Field | Type | Description |
|---|---|---|
searchQueries |
array | Keywords to search — matches job titles, companies and descriptions |
language |
string | fr or en — which language edition to read |
contractTypes |
array | Permanent, part time, fixed-term, internship, apprenticeship, freelance, VIE, other |
remoteOnly |
boolean | Keep only roles that are fully remote or offer regular home working |
city |
string | Keep only ads in a matching city (accent-insensitive) |
country |
string | Keep only ads in a matching country |
company |
string | Keep only ads from employers whose name matches |
sector |
string | Keep only ads in a matching sector |
minSalary |
integer | Keep only ads advertising at least this yearly salary |
publishedWithinDays |
integer | Keep only ads published in the last N days (0 = no limit) |
maxItemsPerQuery |
integer | Cap per keyword (0 = no cap) |
maxItems |
integer | Overall cap for the run (0 = no cap) |
proxyConfiguration |
object | Optional proxy settings — not required by default |
Output
Every job is one flat record:
{
"id": "1783492",
"url": "https://www.welcometothejungle.com/fr/companies/sii/jobs/developpeur-python-angular-h-f_bordeaux",
"title": "Développeur Python / Angular (H/F)",
"companyName": "Groupe SII",
"companyUrl": "https://www.welcometothejungle.com/fr/companies/sii",
"companySummary": "Conseil en technologies pour la transformation numérique des grands-comptes.",
"companySize": 16000,
"companyFoundedYear": 1979,
"companyLabels": ["great-place-to-work"],
"contractType": "full_time",
"remote": "partial",
"profession": "Développeur de logiciels",
"professionCategory": "Technologie et ingénierie",
"salaryMinimum": 36000,
"salaryMaximum": 47000,
"salaryYearlyMinimum": 36000,
"salaryCurrency": "EUR",
"salaryPeriod": "yearly",
"offices": [
{ "city": "Bordeaux", "state": "Nouvelle-Aquitaine", "district": "Gironde", "country": "France", "countryCode": "FR", "latitude": 44.8367, "longitude": -0.58105 }
],
"cities": ["Bordeaux"],
"countries": ["France"],
"locationsText": "Bordeaux",
"sectors": ["Logiciels", "Intelligence artificielle / Machine Learning", "IT / Digital"],
"benefits": ["Horaires de travail flexibles", "Entre 1-2 jours de télétravail"],
"keyMissions": ["Développer de nouveaux composants et améliorer les modules existants."],
"publishedAt": "2026-09-06T22:04:39.000Z",
"scrapedAt": "2026-09-07T01:28:56.358Z"
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
string | Job ad ID |
reference |
string | The board's own reference for the ad |
url |
string (URL) | Direct link to the job ad |
title |
string | Job title |
slug |
string | URL slug of the ad |
companyName |
string | Employer name |
companySlug |
string | Employer URL slug |
companyUrl |
string (URL) | Employer profile page |
companySummary |
string | One-line employer description |
companyDescription |
string | Longer employer description, where published |
companySize |
integer | Number of employees |
companyFoundedYear |
integer | Year founded |
companyLogo |
string (URL) | Logo image |
companyLabels |
array | Employer badges |
contractType |
string | Contract type |
contractDurationMinimum |
number | Minimum contract length in months |
contractDurationMaximum |
number | Maximum contract length in months |
remote |
string | Remote policy |
experienceLevelMinimum |
number | Years of experience required |
educationLevel |
string | Required education level |
profession |
string | Normalised job role |
professionCategory |
string | Role family |
professionSubCategory |
string | Role sub-family |
salaryMinimum |
number | Bottom of the published salary range |
salaryMaximum |
number | Top of the published salary range |
salaryYearlyMinimum |
number | Salary normalised to a yearly figure |
salaryCurrency |
string | Salary currency |
salaryPeriod |
string | Yearly or monthly |
offices |
array | Objects with city, district, state, country, countryCode, latitude, longitude |
cities |
array | City names |
countries |
array | Country names |
locationsText |
string | All cities in one readable string |
sectors |
array | Company sectors |
benefits |
array | Perks listed on the ad |
keyMissions |
array | Main responsibilities |
requirements |
string | Candidate requirements (HTML) |
requirementsText |
string | Candidate requirements (plain text) |
summary |
string | Short role summary |
language |
string | Language edition the row came from |
publishedAt |
string (ISO date) | Publication date |
scrapedAt |
string (ISO date) | When the row was collected |
Need job data from other markets?
- France Travail Scraper — the French public employment service
- eJobs.ro Scraper — Romania's largest job board
- StepStone Scraper — jobs across Germany, Austria and the Benelux
- Arbeitnow Scraper — German and English-speaking roles in Europe
- Reed Scraper — one of the UK's biggest job boards
- Indeed Scraper — worldwide job search
FAQ
How many jobs can I scrape from Welcome to the Jungle?
The board carries tens of thousands of live ads. Each keyword returns up to 1,000 results, so use several keywords — or add a city, contract type or sector filter — to sweep past that and cover the whole board. Use maxItems to cap a run.
Do I need an account, a login or any setup? No. Add the actor, type a keyword, press Start. There is nothing to install and no credentials to supply.
How does billing work? Pay per result. You are charged for each job row stored in your dataset, so a run that returns nothing costs you effectively nothing. There are no monthly platform fees to use the actor.
Does it really include salaries?
Yes, wherever the employer published one — and as separate numeric fields (salaryMinimum, salaryMaximum, salaryYearlyMinimum) with the currency and period alongside, not buried in free text. Roughly three quarters of ads in a typical run carry a range. Set minSalary to keep only ads above a threshold.
Can I filter to remote jobs only? Yes. Tick Remote-friendly only and the run keeps just the fully-remote and regular-home-working ads, and you can combine it with a keyword, city or contract type.
Can I get French and English listings? Both. Pick the language edition in the input. French carries the most ads; English covers the international listings.
Which export formats are supported? JSON, CSV, Excel, XML and HTML table from the Apify console, plus the dataset API for programmatic access.
How fresh is the data?
Every run reads the board live, and each row carries publishedAt and scrapedAt timestamps. Schedule the actor hourly or daily to keep a dataset current, and use publishedWithinDays to keep only recent ads.
Can I integrate this with my own tools? The Welcome to the Jungle Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is scraping Welcome to the Jungle legal? This scraper collects only public job listings — the same information any visitor can read on the site. It never touches candidate profiles, CVs or any personal data behind a login. You are responsible for using the data in line with applicable law and the site's terms.
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with Welcome to the Jungle's terms. Not affiliated with Welcome to the Jungle.
Input
| Field | Type | Description |
|---|---|---|
searchQueriesSearch keywords | array | Keywords to search. Each one runs its own search and matches job titles, companies and descriptions — for example 'développeur', 'data analyst', 'product manager' or 'marketing'. Leave empty to collect the whole current job board. |
languageLanguage | string · fr, en | Which language edition of the board to read. French carries the most ads; English covers the international listings. Default: "fr" |
contractTypesContract types | array | Only return these contract types. Leave empty for all. |
remoteOnlyRemote-friendly only | boolean | Keep only roles that offer remote work (fully remote or regular home working). Default: false |
cityCity | string | Optional. Keep only ads in a city whose name contains this text — for example 'Paris', 'Lyon', 'Bordeaux' or 'London'. Accent-insensitive. |
countryCountry | string | Optional. Keep only ads in a country whose name contains this text — for example 'France', 'Espagne' or 'United Kingdom'. |
companyCompany name | string | Optional. Keep only ads from employers whose name contains this text. |
sectorSector | string | Optional. Keep only ads whose sector contains this text — for example 'SaaS', 'Fintech' or 'Santé'. |
minSalaryMinimum salary | integer | Optional. Keep only ads advertising at least this yearly salary. Ads without a published salary are excluded when this is set. 0 = no salary filter. Default: 0 |
publishedWithinDaysPublished within (days) | integer | Optional. Keep only ads published in the last N days. 0 = no date limit. Default: 0 |
maxItemsPerQueryMax items per search | integer | Maximum jobs to keep from each keyword (0 = as many as the source returns). Default: 0 |
maxItemsMax items | integer | Overall cap on jobs collected in this run (0 = no limit). Default: 0 |
proxyConfigurationProxy configuration | object | Proxy settings. Not required by default. If you experience reduced results, enable Apify Proxy for the most reliable access. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~welcometothejungle-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": [
"développeur"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/welcometothejungle-scraper").call(run_input={
"searchQueries": [
"développeur"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/welcometothejungle-scraper').call({
"searchQueries": [
"développeur"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Job scraped One Welcome to the Jungle job ad returned with all its fields. | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Dribbble Shots Scraper
Scrape public design shots from Dribbble: title, high-res image, tags, likes, views and designer credit. Filter by category or sort, export JSON, CSV or Excel.
359 runs · 5 users · $0.003 / shot scrapedComputrabajo Scraper
Scrape Computrabajo job listings across Latin America (Mexico, Colombia, Argentina, Chile, Peru and more): title, company, location, salary, posted date and apply URL. Filter by country and keyword. No setup.
206 runs · 4 users · $0.002 / listing scrapedKraken Market Data Scraper
Fetch Kraken spot market data in bulk: ticker stats (ask, bid, last, 24h high/low/volume/vwap), OHLC candles for any interval, order book depth (top bids/asks), and tradable pair metadata. Fast, clean and cheap.
165 runs · 4 users · $0.001 / pair scrapedBayt Scraper
Scrape Bayt.com job listings across the Middle East (UAE, Saudi Arabia, Egypt, Qatar and more): title, company, location, posted date and apply URL. Filter by country and keyword.
134 runs · 4 users · $0.003 / job scrapedGitHub Scraper
Search GitHub and scrape repositories (stars, forks, language, topics, license, dates) or user profiles (name, company, location, bio, followers, public email, repos). Uses the GitHub REST API; optional token for higher rate limits. For developer lead generation, OSS research and recruiting.
131 runs · 7 users · $0.0008 / item scrapedHacker News Scraper
Scrape Hacker News stories, comments, Ask HN, Show HN, jobs and polls by keyword, points, comments and date range. Sort by relevance or newest. Title, URL, author, points, comment count, text and HN link. Fast clean HTTP via the HN Algolia API, no setup.
130 runs · 2 users · $0.004 / item scrapedSend the site and the fields. We build it and you get it first.