Jooble Jobs Scraper
Pricing
from $1.99 / 1,000 results
Jooble Jobs Scraper
Extract job listings from Jooble, an international job search engine aggregating listings from 71 countries.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeAI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Overview
Cast a wide net across 71 countries using Jooble, an international job search aggregator that consolidates listings from thousands of career websites. This actor crawls Jooble's aggregated results to compile a diverse dataset of employment opportunities from multiple sources and regions simultaneously.
Features
- International coverage spanning 71 countries
- Multi-source aggregation from thousands of job boards
- Cross-regional salary and market comparison
- Automated deduplication of aggregated results
- Proxy rotation with automatic fallback (residential → datacenter)
- CAPTCHA detection and session rotation
- Automatic retry on failures with exponential backoff
- Deduplication of results by application URL
- Dataset validation with auto-fix capability
Supported Inputs
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | "software engineer" | Search terms for job discovery |
location | string | "" | Geographic filter for results |
country | string | "US" | Country code for proxy routing |
maxItems | integer | 50 | Upper limit on extracted listings |
proxyEnabled | boolean | true | Toggle proxy rotation on/off |
sortBy | string | "relevance" | Result ordering (relevance/date/salary) |
jobType | string | "" | Employment type filter |
experienceLevel | string | "" | Seniority level filter |
datePosted | string | "" | Recency filter (24h/3d/7d/14d/30d) |
remoteOnly | boolean | false | Restrict to remote positions only |
includeCompanyDetails | boolean | true | Fetch extra company information |
includeSalary | boolean | true | Include compensation data |
Output Format
Each scraped listing produces a JSON object with these fields:
{"jobTitle": "Senior Software Engineer","companyName": "Example Corp","location": "US","salary": "$120,000 - $160,000","jobType": "Full-time","experienceLevel": "Senior","postedDate": "2 days ago","applyUrl": "https://jooble.org/job/12345","companyUrl": "https://jooble.org/company/example","description": "We are looking for a skilled engineer...","requirements": ["JavaScript", "Node.js", "React"],"benefits": ["Health Insurance", "Remote Work"],"sourcePortal": "Jooble","country": "US","scrapedAt": "2025-01-15T10:30:00.000Z"}
Proxy Handling
The scraper uses intelligent proxy selection to maintain consistent access.
- Apify Residential Proxy (country-targeted) — First choice for Jooble
- Apify Residential Proxy (any region) — Fallback if country proxy unavailable
- Apify Datacenter Proxy — Secondary fallback for cost efficiency
- Direct Connection — Last resort when all proxies fail
Proxies auto-rotate on each request. Blocked sessions are discarded and replaced automatically.
Retry Logic
Robust retry mechanics recover from network errors and temporary blocks.
- Maximum 5 retries per request
- Fresh browser session on each retry
- Automatic proxy rotation between attempts
- Blocked status codes (401, 403, 429) trigger session refresh
- Configurable request timeout (120 seconds)
Anti-block Handling
The scraper simulates genuine browsing patterns to avoid triggering protections.
navigator.webdriverproperty masked- Human-like delays between page interactions (2–5 seconds)
- Browser language and plugin fingerprints normalised
- Session pool with automatic rotation on blocks
- CAPTCHA detection with graceful retry
- Rate limit detection (HTTP 429) with backoff
Sample Input
{"keyword": "data analyst","location": "US","maxItems": 25,"proxyEnabled": true,"sortBy": "date","remoteOnly": false}
Sample Output
{"jobTitle": "Data Analyst","companyName": "TechCorp International","location": "US","salary": "Competitive","jobType": "Full-time","experienceLevel": "Mid-level","postedDate": "1 day ago","applyUrl": "https://jooble.org/job/example-123","companyUrl": "","description": "Seeking a detail-oriented data analyst to join our growing team...","requirements": ["SQL", "Python", "Tableau"],"benefits": ["Health Insurance", "Flexible Hours"],"sourcePortal": "Jooble","country": "US","scrapedAt": "2025-01-15T14:22:00.000Z"}
Usage
Local Development
# Install dependenciesnpm install# Set Apify token (required for proxy)export APIFY_TOKEN=your_token_here# Run the actornpm start# Validate scraped datanode dataset-validator.js
Apify Platform
# Login to Apifyapify login# Push actor to platformapify push# Run from Apify Console or API
Deployment
- Ensure all dependencies are installed:
npm install - Authenticate with Apify:
apify login - Deploy the actor:
apify push - Configure input in the Apify Console
- Schedule runs or trigger via API / webhooks
Limitations
- Results depend on the portal's current HTML structure; layout changes may require selector updates
- Some job details (salary, benefits) may not be available for all listings
- Rate limiting by the portal may reduce throughput during high-volume scrapes
- CAPTCHA challenges may interrupt scraping on heavily protected pages
- Jooble may modify their anti-bot measures, requiring periodic updates
- Maximum items per run is capped at 1000 to prevent excessive resource usage
- Proxy costs apply when using Apify residential or datacenter proxies