# Remotive Jobs Search Scraper (`soft_alexist/remotive-jobs-search-scraper`) Actor

Extract remote job listings from Remotive.com's search results at scale. Collect job titles, skills, salaries, seniority levels, company names, and 20+ fields per vacancy — perfect for job aggregators, market research, and talent analytics.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Remotive Jobs Search Scraper: Bulk Extract Remote Job Listings

***

### What Is Remotive.com?

Remotive.com is a specialized job board for remote positions across tech, marketing, design, and business roles. With thousands of active listings updated daily, it serves as a primary source for distributed teams and remote-first talent. Manually scraping search results to gather competitive intelligence or populate job aggregators is repetitive and error-prone — the **Remotive Jobs Search Scraper** automates extraction from Remotive's search pages, delivering clean job records in bulk.

***

### Overview

The **Remotive Jobs Search Scraper** extracts job cards from Remotive.com search results pages, converting them into structured JSON records. It is ideal for:

- **Job aggregators** pulling remote listings into multi-source boards
- **Recruiters** tracking remote job market trends by skill, seniority, and salary
- **Researchers** analyzing remote work opportunities and compensation patterns
- **HR platforms** benchmarking competitive remote job offerings
- **Data analysts** building datasets for labor market intelligence

Key features include high item extraction per URL (up to 200 jobs per page), resilient error handling, and rich metadata including salary ranges, required skills, and company branding.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://remotive.com/remote-jobs/et-full-time"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
```

| Field | Description | Example |
|---|---|---|
| `urls` | Remotive search results page URLs | `https://remotive.com/remote-jobs/et-full-time` |
| `max_items_per_url` | Max job listings per URL (1–200) | `200` |
| `ignore_url_failures` | If `true`, skips failed URLs without stopping the run | `true` |

**URL Construction Tips:**

- Use category filters: `/remote-jobs/et-full-time`, `/remote-jobs/software-development`
- Combine multiple filters: `/remote-jobs/design/full-time`
- Append pagination if needed: `?page=2`
- Each URL can return up to 200 job listings, depending on page length

***

### Output Format

**Sample output**

```json
{
  "id": "4898487",
  "title": "High-Ticket Financial Sales Specialist & Team Lead Track",
  "skills": [
    "b2b sales",
    "pipeline management",
    "leadership",
    "communication",
    "high-volume sales"
  ],
  "company_name": "FSE LLC",
  "locations": [
    "Worldwide"
  ],
  "url": "https://remotive.com/remote-jobs/sales/high-ticket-financial-sales-specialist-team-lead-track-2090949",
  "salary": "$3k - $10k",
  "category": "Sales",
  "seniority": "lead",
  "job_type": "full-time",
  "discovered_on": "2026-07-08 19:44:58",
  "commercial": true,
  "display_logo": true,
  "highlighted": true,
  "pinned_on_top": true,
  "remotive_com_url": "https://remotive.com/remote-jobs/sales/high-ticket-financial-sales-specialist-team-lead-track-2090949",
  "has_cpc": false,
  "has_brand_color": false,
  "brand_color": "#fed294",
  "remotive_logo_url": "https://remotive.com/job_board/job/logo/4898487",
  "occupation": "high ticket sales closer",
  "formatted": {
    "id": "4898487",
    "title": "High-Ticket Financial Sales Specialist & Team Lead Track",
    "skills": [
      "b2b sales",
      "pipeline management",
      "leadership",
      "communication",
      "high-volume sales"
    ],
    "company_name": "FSE LLC",
    "locations": [
      "Worldwide"
    ],
    "url": "https://remotive.com/remote-jobs/sales/high-ticket-financial-sales-specialist-team-lead-track-2090949",
    "salary": "$3k - $10k",
    "category": "Sales",
    "seniority": "lead",
    "job_type": "full-time",
    "discovered_on": "2026-07-08 19:44:58",
    "commercial": true,
    "display_logo": true,
    "highlighted": true,
    "pinned_on_top": true,
    "remotive_com_url": "https://remotive.com/remote-jobs/sales/high-ticket-financial-sales-specialist-team-lead-track-2090949",
    "has_cpc": false,
    "has_brand_color": false,
    "brand_color": "#fed294",
    "remotive_logo_url": "https://remotive.com/job_board/job/logo/4898487",
    "occupation": "high ticket sales closer"
  },
  "is_blurred": false,
  "publication_time_description": "Today",
  "website_old": false,
  "from_url": "https://remotive.com/remote-jobs/et-full-time"
}
```

Each job listing includes 25 structured fields:

#### Core Job Information

| Field | Meaning |
|---|---|
| `ID` | Unique job listing identifier on Remotive |
| `Title` | Job title as displayed (e.g., "Senior Python Developer") |
| `URL` | Direct link to the job detail page on Remotive |
| `Remotive.com URL` | Alternative or canonical Remotive job URL |
| `Company Name` | Employer company name |
| `Locations` | Job location(s) or "Remote" indicator |
| `Category` | Job category (e.g., Software Development, Marketing, Design) |
| `Occupation` | Occupation classification or role type |

#### Compensation & Requirements

| Field | Meaning |
|---|---|
| `Salary` | Salary range or annual compensation (if listed) |
| `Seniority` | Career level (e.g., Junior, Mid-Level, Senior, Lead) |
| `Job Type` | Employment type (e.g., Full-Time, Part-Time, Contract) |
| `Skills` | Required or preferred technical/soft skills (comma-separated) |

#### Posting & Display Details

| Field | Meaning |
|---|---|
| `Discovered On` | Date the listing was first indexed by scraper |
| `Publication Time Description` | Human-readable posting time ("Posted 2 days ago") |
| `Pinned On Top` | Whether the job is pinned/featured on search results |
| `Highlighted` | Whether the listing has special highlighting/promotion |
| `Commercial` | Whether this is a sponsored/commercial listing |
| `Has CPC` | Cost-per-click advertising flag |

#### Company Branding

| Field | Meaning |
|---|---|
| `Display Logo` | Company logo display status |
| `Remotive Logo URL` | CDN link to company logo image |
| `Has Brand Color` | Whether company has custom branding color |
| `Brand Color` | Hex code or RGB value of brand color (if available) |
| `Website Old` | Legacy website field or previous domain |

#### Data Quality Flags

| Field | Meaning |
|---|---|
| `Formatted` | Whether the listing data has been normalized/formatted |
| `Is Blurred` | Whether sensitive data is obscured (e.g., salary, company name) |

***

### How to Use

1. **Find search results URLs** — Browse Remotive.com and apply filters (category, job type, seniority). Copy the filtered search page URL.
2. **Add URLs to configuration** — Paste one or more URLs into the `urls` array. Example:

```json
   "urls": [
     "https://remotive.com/remote-jobs/et-full-time",
     "https://remotive.com/remote-jobs/software-development",
     "https://remotive.com/remote-jobs/marketing"
   ]
```

3. **Set item limit** — Choose `max_items_per_url` (typically 20–200 depending on speed vs. volume needs).
4. **Enable resilience** — Keep `ignore_url_failures: true` for bulk runs to skip broken links.
5. **Run and export** — Start the scraper, then download results as JSON, CSV, or Excel.

**Best Practices:**

- Use specific category URLs to control data relevance.
- For large datasets, split URLs into multiple runs to avoid timeouts.
- Monitor the job count per URL — if lower than expected, the page may have pagination.

***

### Use Cases & Business Value

- **Job board aggregation:** Combine Remotive listings with Indeed, LinkedIn, and other sources on a unified platform
- **Market intelligence:** Track which remote roles are in highest demand and how salaries compare
- **Skill analysis:** Identify trending technical and soft skills across remote positions
- **Competitive benchmarking:** See what competitors are paying for similar roles
- **Lead generation:** Build lists of hiring companies for sales outreach
- **Academic research:** Study remote work trends, geographic distribution, and compensation

The Remotive Jobs Search Scraper transforms static web pages into dynamic datasets, enabling data-driven hiring decisions and recruitment strategy.

***

### Conclusion

The **Remotive Jobs Search Scraper** makes it simple to access and analyze remote job data at scale. With 25 rich fields per listing and support for bulk extraction from filtered search pages, it eliminates manual copy-paste work and unlocks insights into the remote job market. Start scraping today and stay ahead of remote hiring trends.

# 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://remotive.com/remote-jobs/et-full-time"
  ],
  "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://remotive.com/remote-jobs/et-full-time"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/remotive-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://remotive.com/remote-jobs/et-full-time"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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://remotive.com/remote-jobs/et-full-time"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call soft_alexist/remotive-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,soft_alexist/remotive-jobs-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/x2mlmKqcocrR7gR7v/builds/0V05frqGgy8evHbaB/openapi.json
