Welcome to the Jungle Jobs Scraper (Pay-Per-Event) avatar

Welcome to the Jungle Jobs Scraper (Pay-Per-Event)

Pricing

from $0.50 / 1,000 job scrapeds

Go to Apify Store
Welcome to the Jungle Jobs Scraper (Pay-Per-Event)

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

Arnas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

  1. Enter a search query such as software engineer, product designer, or data.
  2. Optionally enter a location or two-letter country code.
  3. Choose contract, remote-policy, listing-language, and regional-market filters.
  4. Set the number of jobs, up to 1,000.
  5. Keep full job details enabled for the richest records, or disable it for faster search-only output.
  6. Start the run and open the Dataset tab to inspect or export results.

Input

ParameterTypeDefaultDescription
searchQuerystringsoftware engineerKeyword, title, skill, or company; an explicit empty string searches all jobs
locationstringemptyCity, district, state, or country
countryCodestringemptyISO alpha-2 country code such as FR or GB
maxJobsinteger50Maximum unique rows, from 1 to 1,000
contractTypestringallFull-time, part-time, internship, apprenticeship, freelance, and more
remotestringallFully remote, partial/hybrid, occasional, on-site, or unspecified
languagestringallEnglish, French, Spanish, Czech, or Slovak
marketstringallOptional Welcome to the Jungle regional market
scrapeJobDetailsbooleantrueEnrich each listing with its full job and company record
maxRequestRetriesinteger3Additional attempts for rate limits, server errors, and network failures
proxyConfigurationobjectdisabledOptional 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

GroupFields
Identityid, reference, wttjReference, title, url, applyUrl, language
DatespublishedAt, updatedAt, startDate, scrapedAt
CompanycompanyName, companyUrl, companyLogo, companyWebsite, companyLinkedinUrl, employee and job counts, company description
Locationlocation, city, district, state, country, countryCode, address, coordinates, offices
Employmentcontract type and duration, remote policy, salary range/currency/period, experience, education, department, profession
Contentsummary, description HTML/text, candidate profile, key missions, recruitment process
Taxonomysectors, sector categories, skills, tools, benefits
ProvenancesearchQuery, 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:

EventPriceWhen charged
Actor start$0.00005Automatically when the run starts; includes the first five seconds of platform compute
Job scraped$0.0005After 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 scrapeJobDetails when titles, companies, locations, and listing metadata are enough. This removes one request per job.
  • Use countryCode for precise country filtering and location for 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, and WTTJ_ALGOLIA_INDEX if 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.