# Jooble Jobs Search Scraper (`ecomscrape/jooble-jobs-search-scraper`) Actor

Extract thousands of Jooble job listings instantly with our automated scraper. Get structured data including salaries, locations, company details, and requirements exported directly to JSON, CSV, or Excel. Built for recruiters, HR teams, and market analysts who need reliable job market intelligence.

- **URL**: https://apify.com/ecomscrape/jooble-jobs-search-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 21 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## What Can Jooble Jobs Search Scraper Do?

### Introduction

Jooble.org stands as one of the world's leading job search platforms, operating as a global product-based IT company across 69 countries with over 90 million monthly users. Since 2006, this comprehensive employment platform has been aggregating job openings from more than 140,000 sources worldwide, making it an invaluable resource for recruitment professionals, job seekers, and market researchers.

The Jooble Jobs Search Scraper addresses the critical need for automated job data extraction from this massive repository. With over 540,000 current vacancies spanning full-time, part-time, and temporary positions, manually collecting this data would be virtually impossible. This scraper transforms hours of manual research into minutes of automated data collection, providing structured access to one of the internet's largest job databases.

### Scraper Overview

The Jooble Jobs Search Scraper is a sophisticated data extraction tool designed specifically for harvesting job posting information from Jooble's extensive database. This scraper excels at collecting detailed job information including position details, salary ranges, company information, location data, and job-specific attributes that are crucial for recruitment analytics and market research.

Key strengths of this scraper include its ability to handle Jooble's complex page structure, extract both visible and metadata information, and organize the output into a comprehensive format suitable for analysis. The tool is particularly valuable for recruitment agencies, HR departments, job aggregation services, and market researchers who need large-scale access to employment data.

The scraper is designed for professionals who require systematic job data collection, including talent acquisition specialists, competitive analysts, salary researchers, and employment market analysts. Its robust architecture ensures reliable data extraction while respecting website performance and terms of service.

### Input and Output Details

Example url 1: https://jooble.org/jobs/Houston%2C-TX?p=5

Example url 2: https://jooble.org/SearchResult?rgns=Los%20Angeles%2C%20CA

Example url 3: https://jooble.org/SearchResult?rgns=Huntsville%2C%20AL

Example Screenshot of jobs information page:

![](https://i.ibb.co/DHQYPc1M/Screenshot-from-2025-07-07-16-15-25.png)

#### Input Format

The scraper accepts configuration through a JSON object with several key parameters:

##### Scrape with URLs:

```json
{
  "max_retries_per_url": 2, // Maximum number of retry attempts for each URL
  "proxy": { // Proxy configuration to avoid bot detection
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "US" // Choose a country that matches your target data location
  },
  "max_items_per_url": 20, // Total number of items you want to scrape
  "urls": [ // Job listing page URLs to scrape
    "https://jooble.org/jobs/Houston%2C-TX?p=5",
    "https://jooble.org/SearchResult?rgns=Huntsville%2C%20AL",
    "https://jooble.org/SearchResult?rgns=Los%20Angeles%2C%20CA"
  ],
  "ignore_url_failures": true // Continue scraping even if some URLs fail
}
```

**The `urls` parameter**: List of job listing page URLs that you want to scrape. You can add URLs one by one, or use the Bulk edit section to add a prepared list.

**The `ignore_url_failures` parameter**: If set to `true`, the scraper will continue running even if some URLs fail to be scraped after reaching the maximum number of retries. This ensures that one problematic URL doesn't stop your entire scraping job.

*When you provide a list of URLs for scraping, all options in the "Scrape with search filters" section will be disabled. The system will only collect data from the URLs you specified.*

##### Scrape with Search Filters:

```json
{
  "max_retries_per_url": 2, // Maximum number of retry attempts for each search filter
  "proxy": { // Proxy configuration to avoid bot detection
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "US" // Choose a country that matches your target data location
  },
  "max_items_per_url": 20, // Total number of items you want to scrape
  "keyword": "software engineer", // Search keyword to find jobs
  "region": "Houston, TX", // Location/region to search for jobs
  "posted_date": "2", // Filter by posting date
  "salary_min": "80000", // Filter by minimum salary
  "job_type": "1" // Filter by job type
}
```

**The `keyword` parameter**: The search keyword to find jobs (e.g., "software engineer", "accountant", "nurse", "manager").

**The `region` parameter**: Enter the location/region to search for jobs (e.g., "Houston, TX", "New York, NY", "Los Angeles, CA").

**The `posted_date` parameter**: Filter jobs by posting date:

- `""` - All time
- `"8"` - Last 24 hours
- `"2"` - Last 3 days
- `"3"` - Last 7 days

**The `salary_min` parameter**: Filter jobs by minimum salary (annual):

- `""` - Any salary
- `"30000"` - Higher than $30,000
- `"50000"` - Higher than $50,000
- `"80000"` - Higher than $80,000
- `"100000"` - Higher than $100,000
- `"150000"` - Higher than $150,000

**The `job_type` parameter**: Filter jobs by employment type:

- `"1"` - Full-time
- `"2"` - Temporary
- `"3"` - Part-time

*When using search filters for scraping, you need to leave the `urls` field empty (or set it to `null`) in the "Scrape with URLs" configuration.*

##### General Options:

**The `max_items_per_url` parameter**: Limits the number of job listings extracted from each listing page or search results page. The default value is 20, providing a manageable batch size while allowing for comprehensive data collection.

**The `max_retries_per_url` parameter**: Sets the maximum number of retry attempts for each URL or search filters if the scrape is detected as a bot or the page fails to load. The default value is 2, providing a good balance between thoroughness and efficiency.

**The `proxy` parameter**: Proxy configuration is essential for maintaining anonymity and avoiding detection. The residential proxy option ensures that your scraping activities appear as legitimate browsing, reducing the risk of being blocked or rate-limited. You should choose a country that matches the location of the website you're scraping (e.g., US for jooble.org).

#### Output Format

You get the output from the Jooble Jobs Search Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of jobs information
  {
    "uid": "5494305075438211102",
    "url": "https://jooble.org/desc/-5494305075438211102?ckey=NONE&rgn=46481&pos=1&elckey=9177614073631023487&pageType=20&p=1&sid=7102916699869931395&jobAge=10&relb=100&brelb=100&bscr=19999.800001685388&scr=19999.800001685388&searchTestGroup=1_2_1&iid=6875493051114825402",
    "date_caption": "10 hours ago",
    "date_updated": "2025-06-30T00:00:00",
    "salary": "",
    "estimated_salary": null,
    "content": " Job Details: \r\n Position: Delivery/Pickup driver \r\n Pay: $600 - $1,400 per week \r\n Job Type: Independent Contractor/Courier \r\n Schedule: Monday through Friday \r\n Locations: Houston, TX 77041\r\n Job Summary: \r\n Ameriship Parcel Delivery is a medical overnight and courier...",
    "full_content": "<p><b> Job Details: </b></p><ul><li> Position: Delivery/Pickup&#160;driver </li><li> Pay: $600 - $1,400 per week </li><li> Job Type:&#160;Independent Contractor/Courier </li><li> Schedule: Monday through Friday&#160;</li><li> Locations: Houston, TX 77041</li></ul><p><b> Job Summary: </b></p><p> Ameriship Parcel Delivery is a medical overnight and courier delivery service in Texas, Oklahoma, Arizona, Missouri, Kansas, Florida, Colorado, Georgia, and Illinois. We are the leader in Texas for pharmacy delivery providing 1 hour to next business day delivery. Visit us at </p><p> We are looking for full time and part time drivers in the Houston&#160;area to pick up and deliver packages to residential and business addresses. You will be required to drive your own vehicle to complete the daily route. Drivers will be independent contractors. This is a Monday through Friday job opening. </p><p> Drivers should be highly energetic, competent, and self-motivated individuals with a good sense of direction and excellent customer service skills. Punctuality, reliability, and delivery experience are required. This position will also require understanding and use of handheld devices to assist with each delivery and must own a working smartphone. </p><p> Applicants should be capable of lifting to fifty pounds without assistance. We prefer applicants with verifiable work history with FedEx, UPS, or other parcel delivery services but all applicants will be considered. Route length also varies, but you can expect your workday to be 7-10 hours on average. </p><p><b> Driver Requirements: </b></p><ul><li> Must possess valid driver&#39;s license. </li><li> Minimum age: 21</li><li> Must have a reliable vehicle, some routes require a larger vehicle such as a cargo/sprinter, or a large SUV, and box truck. </li><li> No DUI/DWI within five previous years </li><li> Must pass a drug screening </li><li> Pass a background verification </li><li> Must be able to drive Mon-Fri. Routes are expected to be completed by 7pm. </li><li> Able to do pickups between 430pm and 7pm on a weekly rotational basis. </li></ul>",
    "position": "Courier/Independent contractor",
    "is_new": false,
    "is_premium": false,
    "is_easy_apply": false,
    "is_remote_job": false,
    "is_resume_required": true,
    "is_advert_label": false,
    "is_favorite": false,
    "destination": 2,
    "company": {
      "is_verified": false,
      "name": "Ameriship Parcel Delivery",
      "link": null,
      "is_contacts_verified": false,
      "does_have_hires": false,
      "does_have_many_hires": false,
      "is_active_responses": false,
      "logo_url": null
    },
    "location": {
      "name": "Houston, TX",
      "link": null,
      "is_walking_distance_from_address": false,
      "is_shift_job": false,
      "coordinates": null
    },
    "has_few_applies": false,
    "has_questions": false,
    "project_logo_url": null,
    "job_type": null,
    "is_deleted": false,
    "tags": [
      {
        "name": "full_time",
        "text": "Full time",
        "category_name": "Type of employment"
      },
      {
        "name": "contract",
        "text": "Contract work",
        "category_name": "Type of employment"
      },
      {
        "name": "part_time",
        "text": "Part time",
        "category_name": "Type of employment"
      },
      {
        "name": "contractor",
        "text": "For contractors",
        "category_name": "Type of employment"
      },
      {
        "name": "night_shift",
        "text": "Night shift",
        "category_name": "Working schedule"
      },
      {
        "name": "monday_through_friday",
        "text": "Monday to Friday",
        "category_name": "Working schedule"
      }
    ],
    "highlight_tags": [],
    "is_dte_job": false,
    "matching": null,
    "fitly_job_card": null,
    "from_url": "https://jooble.org/jobs/Houston%2C-TX?p=5"
  }, // ... Many other jobs details
]
```

The scraper generates a comprehensive dataset with 25+ fields for each job posting, providing extensive information for analysis:

**Core Identification Fields:**

- `UID`: Unique identifier for database management and duplicate prevention
- `URL`: Direct link to the original job posting for verification and application
- `Date Caption`: Human-readable posting date as displayed on Jooble
- `Date Updated`: Timestamp indicating when the job was last modified

**Compensation Information:**

- `Salary`: Posted salary information when available
- `Estimated Salary`: Algorithm-generated salary estimates for positions without posted ranges

**Job Content:**

- `Content`: Condensed job description with key details
- `Full Content`: Complete job description including all requirements and benefits
- `Position`: Exact job title as posted by the employer

**Job Attributes:**

- `Is New`: Boolean indicating recently posted positions
- `Is Premium`: Identifies premium or featured job listings
- `Is Easy Apply`: Flags positions with simplified application processes
- `Is Remote Job`: Indicates remote work opportunities
- `Is Resume Required`: Specifies if resume submission is mandatory
- `Is Advert Label`: Identifies sponsored or advertising content
- `Is Favorite`: User interaction data (when available)

**Company and Location:**

- `Company`: Employer name and branding information
- `Location`: Geographic job location with city/state/country details
- `Destination`: Specific work location or multiple location indicators
- `Project Logo URL`: Company branding assets for enhanced presentation

**Application Intelligence:**

- `Has Few Applies`: Competitive advantage indicator for applicants
- `Has Questions`: Indicates pre-screening questions in application process
- `Job Type`: Employment classification (full-time, part-time, contract, etc.)

**Advanced Categorization:**

- `Tags`: Industry and skill-based categorization labels
- `Highlight Tags`: Special emphasis tags for standout qualifications
- `Is DTE Job`: Direct-to-employer posting classification
- `Matching`: Relevance scoring for search queries
- `Fitly Job Card`: Enhanced presentation format indicators

**Data Management:**

- `Is Deleted`: Status tracking for removed postings

### Usage Guide

**Step 1: Choose Your Scraping Approach**

**Option A - URL-Based Preparation:**
Navigate to Jooble.org and perform your desired job search using the website's search and filtering features. Copy the complete resulting URLs, ensuring they include proper location and search parameters. Multiple URLs can be processed simultaneously for comprehensive data collection.

**Option B - Filter-Based Preparation:**
Define your search criteria using the built-in filters:

- Set `keyword` for specific job titles or roles (e.g., "software engineer", "nurse", "accountant")
- Enter `region` to target specific locations (e.g., "Houston, TX", "New York, NY")
- Select `posted_date` to filter by job posting recency (24 hours, 3 days, 7 days)
- Choose `salary_min` to set minimum salary requirements ($30k, $50k, $80k, $100k, $150k+)
- Select `job_type` to filter by employment type (full-time, part-time, temporary)

**Step 2: Configuration Setup**
Configure proxy settings to match your target geographic region (US recommended for Jooble.org) for optimal data access. Set appropriate retry limits (`max_retries_per_url`) and item counts (`max_items_per_url`) based on your data volume requirements and time constraints. Enable `ignore_url_failures` for robust scraping.

**Step 3: Execution Monitoring**
Launch the scraper and monitor progress through the provided dashboard. The tool handles pagination automatically and provides real-time status updates on data collection progress.

**Step 4: Data Processing**
Review the extracted data for completeness and accuracy. The structured output format facilitates easy import into analytical tools, databases, or visualization platforms.

**Best Practices:**

**Method Selection:**

- Use URL-based scraping for complex search queries with multiple filters or specific geographic targeting
- Use filter-based scraping for simpler keyword searches with standard filtering options
- Combine both approaches: use filters for broad job discovery, then URLs for targeted deep dives

**Scraping Strategy:**

- Use US residential proxies for improved success rates and reduced blocking
- Implement reasonable delays between requests to avoid overwhelming the target server
- Regularly update your input URLs or refresh filter-based searches to capture fresh job postings
- Monitor for changes in Jooble's page structure that might affect extraction accuracy

**Filter Optimization:**

- **Location Strategy**: Use specific cities/states in `region` for targeted local job markets
- **Recency Filtering**: Use `posted_date: "8"` (24 hours) for real-time job tracking, or `"3"` (7 days) for weekly analysis
- **Salary Analysis**: Combine `salary_min` with `keyword` to analyze compensation trends by role
- **Job Type Segmentation**: Use `job_type` to separate full-time, part-time, and temporary opportunities

**Advanced Filter Combinations:**

- Entry-level jobs: `keyword: "junior developer", salary_min: "50000", job_type: "1"`
- High-paying roles: `keyword: "senior", salary_min: "150000", job_type: "1", region: "San Francisco, CA"`
- Recent postings: `keyword: "nurse", posted_date: "8", region: "Houston, TX"`
- Contract work: `keyword: "consultant", job_type: "2", salary_min: "80000"`
- Part-time opportunities: `keyword: "customer service", job_type: "3", region: "New York, NY"`

**Common Issues:**

**CAPTCHA Challenges:**

- Adjust proxy settings to use residential IPs
- Reduce request frequency and implement delays
- Enable `ignore_url_failures` to continue despite some failures

**Incomplete Data Extraction:**

- For URL-based: Verify URL formats are correct and include all necessary parameters
- For filter-based: Test filter combinations with broader criteria
- Ensure stable internet connectivity
- Increase `max_retries_per_url` to 3-5 for better reliability

**Empty Results:**

- For filter-based: Verify keyword spelling and try broader terms
- Test different `region` values if location seems too specific
- Adjust `salary_min` to be more inclusive
- Try removing some filters to broaden search scope

**Geographic Issues:**

- Ensure `region` format matches Jooble's expected format (e.g., "Houston, TX" not "Houston Texas")
- Use US proxies for better access to US job listings
- Test region-specific searches separately to identify issues

**Salary Filter Issues:**

- Verify `salary_min` values match available options ("30000", "50000", "80000", "100000", "150000")
- Note that salary filtering may exclude jobs without listed salaries
- Try searches without salary filters first, then add progressively

**Date Filter Strategy:**

- Use `posted_date: "8"` for daily job monitoring
- Use `posted_date: "2"` for catching recent opportunities
- Use `posted_date: "3"` for weekly job market analysis
- Leave empty for comprehensive historical data

**Market Research Use Cases:**

- **Salary Benchmarking**: Use combinations of `keyword + region + salary_min` to analyze compensation by location
- **Job Market Trends**: Track `posted_date: "8"` over time to monitor hiring activity
- **Geographic Analysis**: Compare job availability across different `region` filters
- **Employment Type Analysis**: Use `job_type` to analyze full-time vs contract market trends

### Benefits and Applications

The Jooble Jobs Search Scraper delivers significant time savings by automating what would otherwise require hundreds of hours of manual data collection. Instead of visiting individual job pages and copying information by hand, users can extract comprehensive job market data in minutes.

**Business Applications:**
Recruitment agencies can build comprehensive candidate databases and track market trends across multiple locations and industries. HR departments can conduct competitive salary analysis and monitor hiring patterns in their sectors. Market researchers can analyze employment trends, skill demand patterns, and geographic job distribution.

**Strategic Advantages:**
The tool enables real-time monitoring of job market conditions, helping organizations make data-driven hiring decisions. Companies can track competitor hiring activities, identify emerging skill requirements, and adjust their recruitment strategies based on market intelligence.

### Conclusion

The Jooble Jobs Search Scraper represents a powerful solution for automated job data extraction from one of the world's largest employment platforms. With its comprehensive output format and robust configuration options, this tool transforms manual job research into systematic data collection that supports strategic business decisions.

Whether you're conducting market research, building recruitment databases, or analyzing employment trends, this scraper provides the reliable, scalable solution needed to access Jooble's extensive job repository efficiently. Start leveraging this tool today to gain competitive advantages in talent acquisition and market analysis.

## Related Actors

- [**Jooble Jobs Details Scraper**](https://apify.com/ecomscrape/jooble-job-details-scraper): Your comprehensive tool for extracting valuable business information from Yell extensive directory platform.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Jooble Jobs Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped after the maximum number of retries is reached.

## `keyword` (type: `string`):

Enter the keyword to search for items

## `region` (type: `string`):

Enter the region to search for items (e.g., Houston, TX)

## `posted_date` (type: `string`):

Filter items by posted date (e.g., 8, 2, 3)

## `salary_min` (type: `string`):

Filter items by minimum salary (e.g., 50000)

## `job_type` (type: `string`):

Filter items by job type (e.g., 50000)

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL or search filters you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL or search filters if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://jooble.org/jobs/Houston%2C-TX?p=5"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://jooble.org/jobs/Houston%2C-TX?p=5"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/jooble-jobs-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://jooble.org/jobs/Houston%2C-TX?p=5"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/jooble-jobs-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://jooble.org/jobs/Houston%2C-TX?p=5"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/jooble-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ecomscrape/jooble-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XylgvXR1QKj74UaGp/builds/n8pcAsJkrOXQ0R07e/openapi.json
