Welcome to the Jungle Jobs Scraper
Pricing
from $0.71 / 1,000 job saveds
Welcome to the Jungle Jobs Scraper
Export public Welcome to the Jungle jobs with company, location, contract, salary, remote details, descriptions, skills, and application URLs.
Pricing
from $0.71 / 1,000 job saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Export public Welcome to the Jungle job listings for recruiting, job-market research, alerts, and data pipelines. Search by job title or paste public WTTJ jobs search URLs, then receive normalized job, company, location, salary, description, skill, and timestamp data.
Example input
{"queries": ["data engineer", "product manager"],"maxItems": 50,"includeDetails": true}
Example output
{"id": "e1992980-687a-4213-9b26-94ecaf558e44","slug": "data-engineer-data-architect-confirme-e","title": "Data Engineer & Data Architect","companyName": "JAKALA","contractType": "full_time","remote": "partial","publishedAt": "2026-08-26T08:31:21Z","detailStatus": "complete"}
Who is it for?
- Recruiters and talent teams building candidate-market and hiring-demand reports.
- Job seekers monitoring newly published roles across focused searches.
- Analysts comparing locations, remote policies, contracts, salaries, and skills.
- Data teams feeding normalized public job records into warehouses, alerts, and dashboards.
Input settings
| Field | Type | Description |
|---|---|---|
queries | string[] | Job-title search terms. |
searchUrls | URL[] | Public Welcome to the Jungle /jobs search URLs containing a query. |
maxItems | integer | Global maximum number of unique jobs. |
includeDetails | boolean | Include descriptions, profile, tools and company details. |
At least one query or search URL is required.
Output fields
| Group | Fields |
|---|---|
| Identity | id, slug, title, url, status |
| Application | applyUrl, ats |
| Company | companyId, companySlug, companyName, companyLogoUrl, companyWebsite, companyEmployeeCount, companySectors, companyIndustry, companyDescription, companyCreationYear, companyRevenue, companyTurnover, companyAverageAge, companyParityWomen, companyParityMen |
| Employment | contractType, remote, locations, salaryMin, salaryMax, salaryCurrency, salaryPeriod, experienceLevel, educationLevel, language |
| Dates | publishedAt, updatedAt, startDate, contractDurationMin, contractDurationMax |
| Content | summary, description, candidateProfile, keyMissions, skills, tools, benefits, recruitmentProcess, category, subcategory |
| Provenance | scrapedAt, sourceQuery, sourcePage, detailStatus |
Optional values are null or empty arrays when the public posting does not provide them. detailStatus indicates whether enrichment was complete, skipped, or unavailable while preserving the base listing.
Input recipes
Small recruiting export
{ "queries": ["frontend developer"], "maxItems": 10, "includeDetails": true }
Fast listing monitor
{ "queries": ["pharmacist"], "maxItems": 100, "includeDetails": false }
Pricing
The Actor charges per unique job record saved. Review the live Pricing tab for your account tier's current rate. Duplicate or failed records are not charged.
Limits and tips
- Results reflect public listings available when the run starts.
- Live ranking can shift between pages; stable IDs are deduplicated automatically.
- Some salary, company, and application fields are optional on the source posting.
- Use focused search terms and a modest
maxItemsfor faster first runs. - This Actor does not access saved jobs, member data, applications, or login-only content.
API usage
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~welcome-to-the-jungle-jobs-api-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["data engineer"],"maxItems":10}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/welcome-to-the-jungle-jobs-api-scraper').call({queries: ['data engineer'], maxItems: 10, includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/welcome-to-the-jungle-jobs-api-scraper').call(run_input={'queries': ['data engineer'], 'maxItems': 10, 'includeDetails': True})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
MCP and agents
Connect through https://mcp.apify.com?tools=fetch_cat/welcome-to-the-jungle-jobs-api-scraper to let compatible agents run structured job searches.
claude mcp add apify --transport http \"https://mcp.apify.com?tools=fetch_cat/welcome-to-the-jungle-jobs-api-scraper"
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/welcome-to-the-jungle-jobs-api-scraper"}}}
Example prompts:
- “Find 25 public data engineer jobs and summarize remote policies.”
- “Export product manager jobs with company, location, salary, and application URLs.”
- “Compare the skills requested in frontend developer and backend developer listings.”
FAQ
Can I use a Welcome to the Jungle search URL?
Yes. Paste a public jobs URL into searchUrls; its query is normalized into the same output contract.
Why are some fields null?
Public postings vary. The Actor preserves truthful missing values rather than inferring company or salary facts.
Are duplicate jobs charged twice?
No. Jobs are deduplicated by stable public references during each run.
Related Actors
- LinkedIn Jobs Scraper
- Google Jobs Scraper
- Indeed Jobs Scraper
- Lever Jobs Scraper
- Remote.com Jobs Scraper
Support
Open an issue from the Actor's Issues tab with a public search URL, expected result, and run ID. Do not include passwords, cookies, or private application data.