# Jobrapido Jobs Search Scraper (`stealth_mode/jobrapido-jobs-search-scraper`) Actor

Scrape job listings from Jobrapido.com across all countries and regions. Extract 37+ fields including title, company, salary, location, sponsor data, and tracking info — perfect for job aggregators, recruiters, and labor market analysts.

- **URL**: https://apify.com/stealth\_mode/jobrapido-jobs-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Jobrapido.com Jobs Search Scraper: Extract Global Job Listings at Scale

---

### What Is Jobrapido.com?

Jobrapido.com is a global job search engine operating across dozens of countries, aggregating listings from thousands of employers and partner job boards. It covers virtually every industry and role type, making it one of the broadest sources of job market data available online.

Manually collecting listings from Jobrapido is impractical at scale — search results paginate, and each page may contain dozens of ads from both organic and sponsored sources. The **Jobrapido Jobs Search Scraper** automates this process, turning paginated search result pages into clean, structured datasets ready for analysis or integration.

---

### Overview

The **Jobrapido.com Scraper** targets job search result pages and extracts every visible listing per page, including sponsored and organic ads alike. It is suited for:

- **Job aggregator platforms** pulling multi-source listings into a unified board
- **Recruiters** monitoring competitor postings and market demand
- **Data analysts** studying hiring trends, salary ranges, or location patterns
- **Business intelligence teams** tracking sponsored ad activity across job categories

The scraper handles pagination gracefully — simply increment the `?p=` parameter in your URLs to collect across multiple pages.

---

### Input Format

```json
{
  "urls": ["https://us.jobrapido.com/Audit-jobs?p=1"],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Jobrapido search result page URLs. Supports any country subdomain (e.g., `us.`, `uk.`, `de.`) and any keyword/category path. Add multiple URLs for bulk collection across pages or regions. |
| `ignore_url_failures` | `boolean` | When `true`, the scraper skips failed URLs and continues running rather than aborting. Recommended for bulk runs. Default: `true`. |
| `max_items_per_url` | `integer` | Maximum number of job records to collect per URL. Default prefill: `20`. Set higher (e.g., `50`) to capture full pages. |

**Tips:**

- To scrape multiple pages, add sequential URLs: `?p=1`, `?p=2`, `?p=3`, etc.
- Change the subdomain to target other countries: `uk.jobrapido.com`, `de.jobrapido.com`, etc.
- Use keyword-based paths like `/Software-Engineer-jobs` or `/Nurse-jobs` to scope results.

***

### Output Format

**Sample output**

```json
{
  "action_type": "paid",
  "advert_id": "9090534236749824000",
  "advert_position": 5,
  "advert_type": "s",
  "auto_expand_radius_distance": "40mi",
  "auto_expand_radius_layout": "default",
  "body_highlighted": "",
  "budget_id": null,
  "company": "Segula Technologies",
  "company_for_title": "Segula Technologies",
  "cpc_in_eur": 0,
  "date": "06 May",
  "enum_advert_type": "SPONSORED",
  "from_sponsored_search": true,
  "index": -1,
  "is_cpa_enabled": null,
  "is_from_expanded_search": false,
  "is_sponsored": true,
  "location": "Wichita, KS",
  "locations": [
    "Wichita, KS"
  ],
  "locations_label": "Wichita, KS",
  "on_mouse_down": null,
  "open_advert_url": "https://open.app.jobrapido.com/us/9090534236749824000/?w=audit&l=&oc=sponsored&k=web.1.2.5&uuid=usF0019e3c3ce4142185&page_item_id=-2061728018",
  "page_item_id": -2061728018,
  "parameter_map": {
    "date": "06 May",
    "website": "www.ziprecruiter4.com",
    "show_new_marker": false,
    "from_sponsored_search": true,
    "sponsor_account": "dynamic_test10_s",
    "auto_expand_radius_distance": "40mi",
    "sponsor_account_branch": null,
    "title": "Aircraft Quality Inspector",
    "open_advert_url": "https://open.app.jobrapido.com/us/9090534236749824000/?w=audit&l=&oc=sponsored&k=web.1.2.5&uuid=usF0019e3c3ce4142185&page_item_id=-2061728018",
    "advert_id": "9090534236749824000",
    "tags": {},
    "auto_expand_radius_layout": "default",
    "is_from_expanded_search": false,
    "company_for_title": "Segula Technologies",
    "company": "Segula Technologies",
    "location": "Wichita, KS",
    "locations": [
      "Wichita, KS"
    ],
    "tag": "",
    "is_sponsored": true
  },
  "salary": null,
  "show_new_marker": false,
  "sponsor_account": "dynamic_test10_s",
  "sponsor_account_branch": null,
  "tag": "",
  "tags": {},
  "title": "Aircraft Quality Inspector",
  "title_slug": "aircraft-quality-inspector",
  "track_click_ad": null,
  "website": "www.ziprecruiter4.com",
  "website_category": "JOBBOARD",
  "website_no_www": null
}
```

Each job listing returns up to 37 fields:

#### Core Job Information

| Field | Meaning |
|---|---|
| `Title` | Job title as displayed in the search results |
| `Title Slug` | URL-safe version of the job title |
| `Company` | Employer name |
| `Company For Title` | Formatted company name used in the listing title display |
| `Body Highlighted` | Snippet of the job description with search keywords highlighted |
| `Date` | Date the listing was posted or last updated |
| `Salary` | Salary information if provided by the employer |
| `Location` | Primary location string for the role |
| `Locations` | Structured location data (may include multiple locations) |
| `Locations Label` | Human-readable location label shown to the candidate |

#### Listing Classification & Type

| Field | Meaning |
|---|---|
| `Advert ID` | Unique identifier for the job advertisement |
| `Advert Type` | Category or format of the advert (e.g., standard, featured) |
| `Enum Advert Type` | Numeric enumeration of the advert type |
| `Action Type` | Type of interaction action associated with the listing |
| `Tag` | Primary tag assigned to the listing |
| `Tags` | All tags associated with the listing (array) |
| `Index` | Position index of the listing in the full result set |
| `Advert Position` | Visual position of the advert within the page layout |
| `Page Item ID` | Unique ID for the listing within that specific page |
| `Show New Marker` | Boolean flag indicating if a "New" badge is shown on the listing |

#### Sponsorship & Advertising Data

| Field | Meaning |
|---|---|
| `Is Sponsored` | Whether the listing is a paid sponsored placement |
| `Is CPA Enabled` | Whether cost-per-application billing is active for this advert |
| `Budget ID` | Internal budget identifier for sponsored listings |
| `CPC In EUR` | Cost-per-click value in Euros for sponsored ads |
| `Sponsor Account` | Account name of the sponsoring advertiser |
| `Sponsor Account Branch` | Branch or sub-account of the sponsor |
| `From Sponsored Search` | Whether the listing originated from a sponsored search campaign |
| `Track Click Ad` | Tracking data fired on ad click events |
| `On Mouse Down` | JavaScript tracking handler for mouse-down events |

#### URLs & Navigation

| Field | Meaning |
|---|---|
| `Open Advert URL` | URL that opens the job detail page or application |
| `Website` | Source website domain hosting the original listing |
| `Website No WWW` | Clean version of the website domain without `www.` prefix |
| `Website Category` | Category assigned to the source website |
| `Parameter Map` | URL parameters map associated with the listing's tracking |

#### Search Expansion Metadata

| Field | Meaning |
|---|---|
| `Is From Expanded Search` | Whether the listing was included via radius/keyword expansion |
| `Auto Expand Radius Distance` | Distance used when auto-expanding the search radius |
| `Auto Expand Radius Layout` | Layout type used during radius expansion display |

***

### How to Use

1. **Find your target search URL** — Go to Jobrapido.com (any country), search for a job category or keyword, and copy the results page URL.
2. **Set up pagination** — Add `?p=1`, `?p=2`, etc. as separate entries in `urls` to collect across pages.
3. **Configure limits** — Set `max_items_per_url` to `50` for full-page extraction.
4. **Run and export** — Start the scraper, then download results as JSON, CSV, or Excel.

**Common issues:**

- If a URL returns 0 results, verify the subdomain matches an active Jobrapido country site.
- Sponsored fields (`CPC In EUR`, `Budget ID`) will be empty for organic listings — this is expected.
- Search expansion fields may be `null` when the query returned sufficient direct results.

***

### Use Cases & Business Value

- **Job board aggregation:** Feed Jobrapido listings into custom platforms or internal tools
- **Salary research:** Collect salary data across regions and job categories for benchmarking
- **Ad intelligence:** Analyze which companies are running sponsored placements and at what CPC
- **Market analysis:** Track hiring volume trends by keyword, location, or company over time

***

### Conclusion

The **Jobrapido.com Jobs Search Scraper** gives you fast, structured access to one of the web's broadest job aggregators — across all countries and categories. With 37+ fields covering everything from salary to CPC ad data, it supports use cases from simple job collection to deep competitive intelligence.

# 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.

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

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://us.jobrapido.com/Audit-jobs?p=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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://us.jobrapido.com/Audit-jobs?p=1"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/jobrapido-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://us.jobrapido.com/Audit-jobs?p=1"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/jobrapido-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://us.jobrapido.com/Audit-jobs?p=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/jobrapido-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Jobrapido Jobs Search Scraper",
        "description": "Scrape job listings from Jobrapido.com across all countries and regions. Extract 37+ fields including title, company, salary, location, sponsor data, and tracking info — perfect for job aggregators, recruiters, and labor market analysts.",
        "version": "0.0",
        "x-build-id": "SsMpOT0otrY4tVBCa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~jobrapido-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-jobrapido-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~jobrapido-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-jobrapido-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~jobrapido-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-jobrapido-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "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.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
