Jooble Jobs Scraper
Pricing
from $2.52 / 1,000 results
Jooble Jobs Scraper
Scrape Jooble job listings by keyword, country, and location with structured roles, salaries, company details, and original posting URLs.
Pricing
from $2.52 / 1,000 results
Rating
0.0
(0)
Developer
AgentX
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
7
Monthly active users
10 hours ago
Last modified
Categories
Share
Jooble Jobs Scraper - Global Job Listings API for 64 Markets
Jooble Jobs Scraper exports up to 10,000 structured Jooble job listings per run across 64 supported markets. Search by keyword and country, optionally narrow by city or region, and receive a consistent 41-field dataset covering job details, salary, employer information, application signals, and public contacts when available.
TL;DR: Enter a keyword, choose a country, set the result limit, and optionally add a location. The Actor searches public Jooble pages without requesting Jooble credentials and stores normalized results in the default dataset.
Public Store snapshot: 17 total users and no public rating on July 21, 2026. The deployed Store content may represent an older release; current local schema and runtime evidence control functional claims here.
Run a one-result test ยท View API options
Set max_results to 1 for the first run. One published FREE-tier result costs $0.01280: $0.01000 for Actor start plus $0.00280 for the result.
Why Choose This API
Jooble aggregation data with traceable listing context
๐ Aggregated vacancy discovery
Jooble brings together vacancies published by employers and other job sources. Each result keeps the Jooble listing URL, while an original or employer URL remains a separate nullable field so downstream users can distinguish the discovery page from a direct destination.
๐ 64 localized search markets
The country selector targets one supported Jooble market at a time. Add a city or region only when local precision matters; leaving it blank requests the broader selected market.
๐ Listing lifecycle signals
Records can include the published date and valid_through when Jooble exposes an expiration value. These are source-derived fields for prioritization, not a promise that every vacancy is still open.
๐ Remote and application clues
Remote wording, source-provided remote flags, easy-apply status, and public phone details can appear in output. Their availability varies by listing, and none of them is invented to fill the shared schema.
๐ฐ Mixed-format salary handling
When a Jooble page discloses pay, the dataset separates minimum, maximum, currency, and interval where possible. The optional currency input only converts collected amounts after discovery and does not alter the Jooble search.
Quick Start Guide
Review a Jooble market in 3 steps
Step 1: Configure the search
Enter a role such as Data Engineer, choose a supported Jooble market such as Uzbekistan, and add Tashkent only for a city-focused result set.
Step 2: Run the Actor
Use max_results: 1 for the first run and inspect the listing URL before scaling. At the FREE tier and the minimum single start event, one returned result is approximately $0.01280.
Step 3: Use the dataset
Review source attribution, dates, application signals, and nullable fields in the default dataset. Then export JSON, CSV, Excel, XML, RSS, or another Apify-supported format.
Input Parameters
Configuration fields
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
keyword | string | Yes | Job title, skill, or company name | Data Engineer |
country | select | Yes | One of 64 supported Jooble markets | Uzbekistan |
max_results | integer | Yes | Maximum jobs to return, from 1 to 10,000 | 1 |
location | string | No | City or region; country-level search is used when omitted | Tashkent |
currency | select | No | Target currency for converting available salary values | USD |
Search behavior
countryselects one of 64 localized Jooble search markets for the run.locationis optional; an empty value remains market-wide, and a country name is not reused as a city.keywordis the only query text and can represent a role, skill, or employer.currencyapplies only to salary amounts that were found; it neither filters vacancies nor guarantees pay data.- Remote-only, distance, posting-date, and job-type controls are intentionally absent from the request schema even though related signals may appear in output.
Example input
{"keyword": "Data Engineer","country": "Uzbekistan","max_results": 1,"location": "Tashkent","currency": "USD"}
Output Data Schema
Complete 41-field job record
Every dataset item uses the fields below. Nullable fields make missing source data explicit.
Run and source fields
| Field | Type | Description |
|---|---|---|
processor | string or null | Apify Actor URL that processed the record |
processed_at | string or null | UTC processing timestamp |
platform | string or null | Source platform, normally Jooble |
platform_url | string or null | Jooble job listing URL |
official_url | string or null | Employer's original listing URL when available |
Core job fields
| Field | Type | Description |
|---|---|---|
title | string or null | Job title |
posted_date | string or null | Posting date or relative age when available |
valid_through | string or null | Closing or expiration date when available |
location | object or null | Structured location with raw and standardized values |
applicant_count | integer or null | Applicant count when available |
is_remote | boolean or null | Remote-work signal identified in the listing |
description | string or null | Job description and requirements |
Classification fields
| Field | Type | Description |
|---|---|---|
job_type | string or null | Employment type parsed from the listing |
job_level | string or null | Career or seniority level when available |
job_function | string or null | Department or job function |
listing_type | string or null | Listing classification when available |
skills | string or null | Skills and attributes identified for the role |
work_from_home | string or null | Remote or hybrid arrangement when identified |
vacancy_count | integer or null | Number of openings when available |
experience_range | string or null | Experience requirement when available |
easy_apply | boolean or null | Whether direct application is available |
Salary fields
| Field | Type | Description |
|---|---|---|
salary_period | string or null | Pay period, such as monthly or yearly |
salary_minimum | number or null | Minimum disclosed salary |
salary_maximum | number or null | Maximum disclosed salary |
salary_currency | string or null | ISO currency code |
Employer fields
| Field | Type | Description |
|---|---|---|
company_name | string or null | Hiring company name |
company_type | string or null | Company ownership type when available |
company_founded | integer or null | Founding year when available |
company_industry | string or null | Industry or sector |
company_url | string or null | Jooble or employer profile URL |
company_website | string or null | Official company website |
company_logo | string or null | Company logo URL |
company_addresses | string or null | Company address text |
company_revenue | string or null | Revenue range when available |
company_description | string or null | Company overview |
company_rating | number or null | Company rating when available |
employee_count | string or null | Employee range when available |
review_count | integer or null | Review count when available |
Public contact fields
| Field | Type | Description |
|---|---|---|
emails | array or null | Public company or hiring emails when discoverable |
phones | array or null | Public company or hiring phone numbers when discoverable |
social_links | object or null | Public company social URLs grouped by platform |
Representative output
This abbreviated record follows the Tashkent Data Engineer scenario. It is illustrative, and unavailable source values remain null.
{"processor": "https://apify.com/agentx/jooble-jobs-scraper","processed_at": "2026-07-21T12:00:00.000Z","platform": "Jooble","platform_url": "https://uz.jooble.org/jdp/example-id","official_url": null,"title": "Data Engineer","posted_date": "1 day ago","location": {"raw": "Tashkent, Uzbekistan","locality": "Tashkent","country": "Uzbekistan","country_code": "UZ"},"company_name": "Example Technology Group","salary_currency": "USD"}
Integration Examples & Options
The verified Actor ID is 8GyhemcELZ9fi55a3.
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("8GyhemcELZ9fi55a3").call(run_input={"keyword": "Data Engineer","country": "Uzbekistan","max_results": 1,})items = client.dataset(run["defaultDatasetId"]).list_items().items
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('8GyhemcELZ9fi55a3').call({keyword: 'Data Engineer',country: 'Uzbekistan',max_results: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Direct API request
curl -X POST "https://api.apify.com/v2/acts/8GyhemcELZ9fi55a3/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"Data Engineer","country":"Uzbekistan","max_results":1}'
Make and n8n
Use the Apify integration in Make or n8n, select Actor ID 8GyhemcELZ9fi55a3, pass the same input object, wait for the run to finish, and read the default dataset items.
- Open the Actor's API tab for generated requests in other supported languages.
- Connect completed runs to webhooks or another Apify integration.
- Read the default dataset directly or export it in an Apify-supported format.
JSON-LD Metadata
{"@context": "https://schema.org","@graph": [{"@type": "SoftwareApplication","@id": "https://apify.com/agentx/jooble-jobs-scraper#software","name": "Jooble Jobs Scraper","description": "Scrape Jooble job listings across 64 markets and export 41 structured job, salary, employer, application, and public contact fields when available.","applicationCategory": "BusinessApplication","applicationSubCategory": "Job Scraping API","operatingSystem": "Web, Cloud","url": "https://apify.com/agentx/jooble-jobs-scraper","dateModified": "2026-07-21","featureList": ["Searches 64 supported Jooble markets","Returns a consistent 41-field dataset","Supports optional location and post-collection salary-currency controls","Exports results through Apify datasets and integrations"],"author": { "@id": "https://apify.com/agentx#organization" },"publisher": { "@id": "https://apify.com#organization" }},{"@type": "Organization","@id": "https://apify.com/agentx#organization","name": "AgentX","url": "https://apify.com/agentx","sameAs": ["https://apify.com/agentx", "https://t.me/AiAgentApi"]},{"@type": "FAQPage","mainEntity": [{"@type": "Question","name": "How many Jooble markets can I select?","acceptedAnswer": { "@type": "Answer", "text": "The input offers 64 supported Jooble markets." }},{"@type": "Question","name": "Can I filter by remote work, date, distance, or job type?","acceptedAnswer": { "@type": "Answer", "text": "No. Those values may appear in output when a listing provides them, but they are not available as search controls." }},{"@type": "Question","name": "What happens when location is empty?","acceptedAnswer": { "@type": "Answer", "text": "The Actor performs a country-level search and does not invent a city or region." }},{"@type": "Question","name": "How much does 1,000 results cost?","acceptedAnswer": { "@type": "Answer", "text": "At the FREE tier, 1,000 results cost $2.80 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.52 plus the Actor start event." }}]},{"@type": "HowTo","name": "How to export Jooble jobs with Jooble Jobs Scraper","step": [{ "@type": "HowToStep", "position": 1, "name": "Configure the search", "text": "Enter a keyword, choose a country, set the maximum results, and optionally provide a location." },{ "@type": "HowToStep", "position": 2, "name": "Run the Actor", "text": "Click Start. Leave Location empty for a country-level search or provide a city or region." },{ "@type": "HowToStep", "position": 3, "name": "Use the dataset", "text": "Preview or export the default dataset, or connect the completed run to an Apify integration." }]},{"@type": "BreadcrumbList","itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Apify", "item": "https://apify.com" },{ "@type": "ListItem", "position": 2, "name": "AgentX", "item": "https://apify.com/agentx" },{ "@type": "ListItem", "position": 3, "name": "Jooble Jobs Scraper", "item": "https://apify.com/agentx/jooble-jobs-scraper" }]}]}
Pricing & Cost Calculator
Pay-per-event pricing
| Event or tier | Price | Billing unit |
|---|---|---|
| Actor start | $0.01 | Run start event; the count depends on Actor memory, with a minimum of one |
| FREE result | $0.00280 | One default dataset result |
| BRONZE result | $0.00271 | One default dataset result |
| SILVER result | $0.00261 | One default dataset result |
| GOLD result | $0.00252 | One default dataset result |
| PLATINUM result | $0.00252 | One default dataset result |
| DIAMOND result | $0.00252 | One default dataset result |
Example costs at the default memory setting
| Plan | Results | Result cost | Actor start | Estimated total |
|---|---|---|---|---|
| FREE | 500 | $1.40 | $0.01 | $1.41 |
| FREE | 1,000 | $2.80 | $0.01 | $2.81 |
| FREE | 5,000 | $14.00 | $0.01 | $14.01 |
| GOLD or higher | 1,000 | $2.52 | $0.01 | $2.53 |
Actual cost depends on the number of results produced, the user's plan, and the number of Actor start events charged for the selected memory.
Use Cases & Applications
Aggregator coverage and source triage
- Discover which employers and publishing sources appear for a role in a selected Jooble market.
- Separate the Jooble discovery URL from an original application destination when both are available.
- Build a review queue that checks source attribution before a vacancy is republished or contacted.
Vacancy lifecycle and application research
- Prioritize listings that expose both a posting date and an expiration value.
- Compare easy-apply, direct-link, and source-page availability without assuming every item offers the same path.
- Identify remote wording or public recruiter contact signals for manual verification.
Salary and market monitoring
- Compare disclosed pay bands while retaining nulls for listings without salary information.
- Schedule the same keyword in selected markets to observe changes in aggregated vacancy supply.
- Deliver normalized Jooble records to a dashboard, database, webhook, or internal job feed.
FAQ
Is Jooble always the original job publisher?
No. Jooble is a vacancy discovery and aggregation surface. Use platform_url for the Jooble page and check official_url when a reliable direct destination is available.
Can I request only remote or recently posted jobs?
No. The current input does not send remote, date, distance, or job-type filters. Related attributes can still appear in output when the listing provides enough evidence.
What does valid_through prove?
It records a source-provided expiration value when available. It does not independently guarantee that the employer is still accepting applications, so production workflows should recheck the source URL.
Why can salary or company fields be null?
Aggregated listings differ in detail. The Actor preserves disclosed values and leaves unavailable compensation or employer attributes null rather than estimating them.
Are returned phones and emails candidate contact data?
No. Those fields are reserved for public company or hiring-contact signals discovered from public pages and remain null when no reliable value is available.
How much does 1,000 results cost?
At the FREE tier, 1,000 results cost $2.80 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.52 plus the Actor start event.
Trust & Data Responsibility
- Verified inputs: every public search field is supported by the current Actor behavior.
- Transparent billing: the Actor start event and every plan's result price are listed above.
- Explicit nullability: missing source values are not presented as verified facts.
- No Jooble credentials requested: the input schema does not ask for a username, password, cookie, or token.
Legal & Compliance
Jooble Jobs Scraper is intended for lawful collection and analysis of publicly accessible job-listing data. You are responsible for reviewing Jooble's terms, applicable privacy and database laws, employment-data rules, and the permitted use of contact information in each jurisdiction. This documentation is not legal advice.
Related Tools
- Indeed Jobs Scraper - Indeed job listings and company data
- LinkedIn Jobs Scraper - LinkedIn jobs and hiring signals
- Glassdoor Jobs Scraper - Glassdoor jobs and employer signals
Enrich Your Workflow
- All Jobs Scraper - Multi-platform job data in one schema
- All Property Scraper - Property-market datasets
- All Video Scraper - Multi-platform video metadata and media workflows
Support & Community
- Community: @Apify_Actor
- Contact team: @AiAgentApi
Last Updated: 2026-07-21. Current local schemas, metadata, pricing, and read-only runtime behavior were verified separately from older deployed Store content.