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.
Input recipes
Small recruiting export
{ "queries": ["frontend developer"], "maxItems": 10, "includeDetails": true }
Fast listing monitor
{ "queries": ["pharmacist"], "maxItems": 100, "includeDetails": false }
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 os
from apify_client import ApifyClient
client = 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().items
print(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.”
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.