Welcome to the Jungle Jobs Scraper (Pay-Per-Event)
Pricing
from $0.50 / 1,000 job scrapeds
Welcome to the Jungle Jobs Scraper (Pay-Per-Event)
Search and scrape Welcome to the Jungle job listings by keyword, location, contract, remote policy, language, and market. Optionally enrich each result with descriptions, salary, skills, benefits, recruitment details, and company data. Built and operated with permission from Welcome to the Jungle.
Pricing
from $0.50 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Arnas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Welcome to the Jungle Jobs Scraper turns job search results into structured data for recruiting, labor-market research, competitive intelligence, and workflow automation. Search by keyword and location, apply contract, remote-policy, language, country, and regional-market filters, then optionally enrich every result with its full description, candidate profile, recruitment process, salary, skills, tools, benefits, application link, offices, and company data.
Authorization: this Actor is built and operated with permission from Welcome to the Jungle. That authorization does not imply endorsement. Runs must remain within the authorization’s scope and applicable privacy, employment, and data-use law.
What does Welcome to the Jungle Jobs Scraper do?
The Actor queries Welcome to the Jungle’s public job-search service, follows result pages, deduplicates jobs by their stable job reference, and writes one dataset row per unique listing. Different search-index variants of the same job are emitted and charged only once. With detail enrichment enabled, it also calls the public job-detail endpoint and merges the richer response into the same row. If a detail record has disappeared or temporarily fails, the searchable listing is still emitted and the diagnostic is saved separately in the run’s Diagnostics output.
This is a lightweight HTTP Actor: it does not launch a browser, log into an account, or require users to supply cookies. Requests are throttled to no more than four starts per second and transient failures use bounded backoff.
Why use Welcome to the Jungle Jobs Scraper?
- Monitor which roles and skills companies are hiring for.
- Build recruiting or candidate-discovery feeds by city, country, contract, or remote policy.
- Compare salary disclosure, benefits, tools, and job-description language.
- Track company hiring activity without manually paging through search results.
- Export clean JSON, CSV, Excel, XML, or HTML from an Apify dataset.
- Schedule recurring runs or connect results to webhooks and other Apify integrations.
- Resume from checkpointed pages and reconcile stable IDs already present in the run dataset.
How to use Welcome to the Jungle Jobs Scraper
- Enter a search query such as
software engineer,product designer, ordata. - Optionally enter a location or two-letter country code.
- Choose contract, remote-policy, listing-language, and regional-market filters.
- Set the number of jobs, up to 1,000.
- Keep full job details enabled for the richest records, or disable it for faster search-only output.
- Start the run and open the Dataset tab to inspect or export results.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | software engineer | Keyword, title, skill, or company; an explicit empty string searches all jobs |
location | string | empty | City, district, state, or country |
countryCode | string | empty | ISO alpha-2 country code such as FR or GB |
maxJobs | integer | 50 | Maximum unique rows, from 1 to 1,000 |
contractType | string | all | Full-time, part-time, internship, apprenticeship, freelance, and more |
remote | string | all | Fully remote, partial/hybrid, occasional, on-site, or unspecified |
language | string | all | English, French, Spanish, Czech, or Slovak |
market | string | all | Optional Welcome to the Jungle regional market |
scrapeJobDetails | boolean | true | Enrich each listing with its full job and company record |
maxRequestRetries | integer | 3 | Additional attempts for rate limits, server errors, and network failures |
proxyConfiguration | object | disabled | Optional Apify or custom proxy configuration |
Example:
{"searchQuery": "backend engineer","location": "Paris","countryCode": "FR","maxJobs": 100,"contractType": "FULL_TIME","remote": "partial","language": "fr","scrapeJobDetails": true}
Output
Each unique job is one dataset item. Detail-only values are null or empty arrays when enrichment is disabled or the source does not publish them.
{"id": "EXAMPLE_a1B2c3D4","title": "Software Engineer","url": "https://www.welcometothejungle.com/fr/companies/example/jobs/software-engineer","applyUrl": "https://www.welcometothejungle.com/fr/companies/example/jobs/software-engineer","language": "fr","companyName": "Example","location": "Paris, France","contractType": "FULL_TIME","contractTypeLabel": "CDI","remote": "partial","remoteLabel": "Hybrid / a few days at home","salaryMin": 50000,"salaryMax": 65000,"salaryCurrency": "EUR","descriptionText": "Join the engineering team...","skills": ["TypeScript", "Node.js"],"benefits": ["Remote work", "Meal vouchers"],"searchQuery": "backend engineer","searchLocation": "Paris","scrapedAt": "2026-07-27T18:00:00.000Z"}
Main data fields
| Group | Fields |
|---|---|
| Identity | id, reference, wttjReference, title, url, applyUrl, language |
| Dates | publishedAt, updatedAt, startDate, scrapedAt |
| Company | companyName, companyUrl, companyLogo, companyWebsite, companyLinkedinUrl, employee and job counts, company description |
| Location | location, city, district, state, country, countryCode, address, coordinates, offices |
| Employment | contract type and duration, remote policy, salary range/currency/period, experience, education, department, profession |
| Content | summary, description HTML/text, candidate profile, key missions, recruitment process |
| Taxonomy | sectors, sector categories, skills, tools, benefits |
| Provenance | searchQuery, searchLocation |
Diagnostics
Recoverable detail and output errors do not pollute the jobs dataset. They are appended to the run’s Diagnostics key-value-store collection in JSONL batches named DIAGNOSTICS-000001.jsonl, DIAGNOSTICS-000002.jsonl, and so on. Each row includes recordedAt; batches contain at most 100 rows and are flushed on completion, failure, abort, and platform migration.
How much does it cost?
This Actor uses pay-per-event pricing:
| Event | Price | When charged |
|---|---|---|
| Actor start | $0.00005 | Automatically when the run starts; includes the first five seconds of platform compute |
| Job scraped | $0.0005 | After a unique job row is successfully written |
A 50-job run costs $0.02505; a 1,000-job run costs $0.50005. Failed fetches and failed dataset writes are not billed as jobs. Platform usage is included in the event prices.
The Apify SDK appends each row and then charges its paired event; that append, the charge, and the crawl checkpoint are not one atomic transaction. On startup, the Actor reconciles stable IDs already in the default dataset and does not write or charge them again. If a combined append/charge response is lost after the row became durable, the Actor records a billing diagnostic and favors avoiding a possible double charge; that rare row can therefore be undercharged. Dataset visibility during an abrupt platform interruption is also eventually consistent, so exactly-once delivery is not claimed.
Tips and advanced options
- Turn off
scrapeJobDetailswhen titles, companies, locations, and listing metadata are enough. This removes one request per job. - Use
countryCodefor precise country filtering andlocationfor city or regional matching. - The public Algolia search index exposes at most 1,000 reachable hits per filtered search. Split broad collection work by country, market, contract, or keyword.
- Anonymous search credentials and the index name can be overridden by the operator with
WTTJ_ALGOLIA_APP_ID,WTTJ_ALGOLIA_API_KEY, andWTTJ_ALGOLIA_INDEXif Welcome to the Jungle rotates them.
FAQ, limitations, and support
Does it require a Welcome to the Jungle account? No. It uses public search and job-detail endpoints without authentication.
Why are some fields null? Employers do not publish every field, and some attributes exist only on the detail endpoint. A detail failure deliberately falls back to search data.
Why did I receive fewer than 1,000 jobs? Filters may match fewer results, listings can overlap or disappear, and the public search service caps reachable results.
Can I publish or resell the data? Permission for operating this Actor is not blanket permission for every downstream use. Keep use within the granted authorization and applicable law.
Is this an official Welcome to the Jungle product? No endorsement or official affiliation is claimed.
For extraction problems, include a sanitized input, run ID, and one affected public job URL in an issue on the Actor’s Issues tab. Do not attach private authorization documents or personal data.