# Remotive Remote Jobs Scraper (`parseforge/remotive-scraper`) Actor

Scrapes remote job listings from Remotive.com with filters for keyword, category, and job type. Returns each job as a flat row with title, company, salary, tags, and apply link.

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

## Pricing

from $19.00 / 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/actors/running/actors-in-store.md#pay-per-event

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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Remotive Remote Jobs Scraper

**Scrape remote jobs from Remotive.com by keyword, category, or job type, up to a million per run.** Every listing comes with its title, company, salary, tags, and direct apply link. No login or API key. Export to CSV, JSON, Excel, or XML.

Remotive's job board is one of the largest remote-only listings, but browsing it manually means missing new posts and losing hours to copy-paste. This Actor reads the public job feed directly, filters by keyword, category, or employment type, and returns each match in one fixed schema. It works for a single search or a full board sweep.

| Who uses it | What they scrape Remotive for |
|---|---|
| Job boards and aggregators | Which remote roles are newly listed across all categories |
| Recruiters and talent sourcers | Which companies are hiring for a specific skill right now |
| Market researchers | How remote job volume shifts by category over time |
| Job seekers | Which new listings match their exact keyword and job type |

### What it does

This Actor collects remote job listings from Remotive.com by keyword, category, or job type, and returns each one as a flat row.

- 🔎 **Keyword search:** filter by job title or skill, like 'python' or 'senior'.
- 🗂️ **Category filter:** pick from 30 categories, from Software Development to Travel and Hospitality.
- ⏳ **Job type filter:** narrow to full time, part time, contract, freelance, or internship.
- 📦 **Bulk export:** pull up to 1,000,000 jobs per run for paid users, 10 for free preview.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Remotive data

**📈 Track remote hiring trends.**

A market researcher runs the Actor daily for the 'artificial-intelligence' category and charts new listings to spot which companies are expanding AI teams.

**🎯 Build a targeted job alert.**

A job seeker sets the keyword to 'react' and job type to 'full\_time', then exports the results to a spreadsheet to apply to every match.

**🧲 Feed a job board.**

An aggregator pulls all categories every hour and pipes the flat rows into their own site, keeping listings current without manual entry.

**📊 Compare employer demand.**

A recruiter scrapes 'devops' and 'data' categories side by side to see which skill has more open remote roles this month.

### Why choose this scraper

|  | What you get |
|---|---|
| **No API key** | Reads the public Remotive feed directly, no registration or OAuth. |
| **One fixed schema** | Every job returns the same flat fields, ready for CSV or a database. |
| **Fresh listings** | Runs on demand, so you get the latest posts, not a cached snapshot. |
| **Flexible filters** | Combine keyword, category, and job type to target exactly the roles you need. |

### How it compares

No other Store actor targets Remotive the same way, so the honest comparison is with the alternatives teams actually weigh.

| | Remotive Remote Jobs Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Remotive changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from a keyword, a category, and a job type, alone or together, and filters run as each job is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10
}
```

A larger pull:

```json
{
  "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.021 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Remotive Remote Jobs Scraper](https://apify.com/parseforge/remotive-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Remotive through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/remotive-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check your filters. A keyword like 'python' combined with category 'design' may return nothing. Try clearing one filter or using a broader keyword.

**Why did I only get 10 jobs?**

Free runs are limited to 10 items as a preview. Upgrade to a paid plan and set maxItems higher to get more results.

**Why is the run slow?**

Large maxItems values take longer because the Actor pages through the board. Reduce maxItems or narrow your filters to speed it up.

**Why are some fields empty?**

Not every Remotive listing fills every field. Salary or tags may be missing for some jobs, which is normal.

**Can I get results in a language other than English?**

Remotive lists jobs in English. The Actor returns the data as-is, so non-English listings are rare.

### FAQ

| Question | Answer |
|---|---|
| Does this scraper need a Remotive API key? | No. It reads the public job feed directly, so there is no registration, OAuth, or rate-limit key to manage. |
| How many jobs can I scrape in one run? | Free users get up to 10 jobs as a preview. Paid users can set maxItems up to 1,000,000 per run. |
| Can I filter by salary or location? | The input schema supports keyword, category, and job type. Salary and location are returned in the data fields, but not used as input filters. |
| What categories are available? | There are 30 categories, including Software Development, Design, Marketing, Data and Analytics, and Artificial Intelligence. Leave the field blank to get all categories. |
| What job types can I filter by? | Full time, part time, contract, freelance, and internship. Leave blank for all types. |
| Does the scraper return the job description? | Yes, the full job description is included in the output fields, along with title, company, tags, and apply link. |
| Can I export the results to Excel? | Yes, the Actor supports CSV, JSON, Excel, and XML exports from the Apify dataset. |
| How often should I run this scraper? | Remotive updates its board frequently. For fresh data, schedule the Actor to run hourly or daily, depending on your use case. |
| Is this an official Remotive API? | No, this is an independent scraper built on the public website. It is not affiliated with Remotive, Inc. |
| Can I scrape a single job posting by URL? | The Actor does not accept direct URLs. It filters the whole board by keyword, category, and job type. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Remotive, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `search` (type: `string`):

Filter jobs by keyword (e.g. 'python', 'react', 'senior').

## `category` (type: `string`):

Filter by job category slug. Leave blank to get all categories.

## `jobType` (type: `string`):

Filter by employment type.

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/remotive-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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/remotive-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 '{
  "maxItems": 10
}' |
apify call parseforge/remotive-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/remotive-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/paATb0lrCoDFYPWFj/builds/LgxJsgRSzBN0gAmXX/openapi.json
