# RemoteJobs Scraper (`hello.datawizards/remotejobs-scraper`) Actor

Scrape detailed remote job listings by keyword from Remote.com with structured JSON output. Ideal for job boards, research, or automation. Supports Apify proxies (incl. residential). Built by DataWizards for fast, reliable job data extraction.

- **URL**: https://apify.com/hello.datawizards/remotejobs-scraper.md
- **Developed by:** [datawizards](https://apify.com/hello.datawizards) (community)
- **Categories:** Jobs, Automation, Lead generation
- **Stats:** 46 total users, 1 monthly users, 96.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

***

### 🌐 RemoteJobs-Scraper · Apify Actor

Extract **high-quality remote job listings** from [Remote.com](https://remote.com) in clean, structured JSON. Perfect for HR tech platforms, job boards, recruiters, and analytics tools.

Crafted and maintained by [DataWizards](https://linkedin.com/in/data-wizards-aa8080342).

***

### 📌 What Is `RemoteJobs-Scraper`?

The `RemoteJobs-Scraper` is a powerful Apify Actor that allows you to **automate the collection of structured job posting data** from Remote.com based on a keyword search. Whether you're building a job aggregator, HR analytics dashboard, or researching employment trends, this tool delivers real-time, accurate, and developer-friendly job data.

***

### 🧠 Key Features

✅ **Structured Job Data** in JSON
✅ Includes salary, job type, title, company, employment type, and more
✅ Extracts full HTML and plain-text job descriptions
✅ Built-in JSON-LD for semantic richness
✅ **Supports Apify Residential Proxy** for stability
✅ Customizable result limits and keyword filters
✅ Optimized for performance and reliability

***

### 🛠️ Input Schema

Here's how to get started:

```json
{
  "item_limit": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "keyword": "Software Engineer"
}
```

#### 🔐 Proxy Configuration

- `useApifyProxy`: Set to `true` (mandatory)
- `apifyProxyGroups`: Use `"RESIDENTIAL"` for optimal success rate and minimal blocking

***

### 📤 Output Example

```json
[
  {
    "url": "https://remote.com/jobs/company/job-title-id",
    "title": "Test Engineer, Consultant",
    "salary": "105 - 120 USD",
    "job_type": "On-site",
    "employment_type": "FULL_TIME",
    "hiring_organization": "Ventiva Inc.",
    "date_posted": "2025-05-05T14:29:51Z",
    "description_text": "Ventiva, Inc. is an electronic component manufacturer...",
    "json_ld": {
      "@context": "https://schema.org",
      "@type": "JobPosting",
      "title": "Test Engineer, Consultant",
      "description": "...",
      "employmentType": "FULL_TIME",
      "hiringOrganization": {
        "@type": "Organization",
        "name": "Ventiva Inc.",
        "sameAs": "https://ventiva.com"
      },
      "baseSalary": {
        "@type": "MonetaryAmount",
        "currency": "USD",
        "value": {
          "minValue": 105,
          "maxValue": 120,
          "unitText": "YEAR"
        }
      }
    }
  }
]
```

***

### 🚀 Use Cases

- 👔 **Job Board Aggregators** – Feed remote jobs into your platform
- 📊 **Labor Market Analysis** – Analyze salary trends, tech stacks, and role demand
- 🧠 **HR Tech & ATS** – Build AI features for job recommendations
- 📡 **Competitor Hiring Intelligence** – See what talent your rivals are after
- 🤖 **Resume Matching Engines** – Match scraped jobs to resumes in real-time

***

### ✅ Best Practices

- Use **Residential proxies** to avoid rate-limiting or captchas
- Limit excessive runs to stay within Remote.com's usage policies
- Use specific keywords like `"Frontend Developer"` or `"React"` for precision
- Parse and enrich the `json_ld` field for structured semantic jobs in platforms like Google Jobs or LinkedIn

***

### 🧰 Advanced Options

- Customize `item_limit` to control load per run
- Easily filter roles post-fetch by `employment_type`, `salary_min`, or `location`
- Integrate with **Zapier**, **Airtable**, or **Google Sheets** via Apify webhooks or dataset exports

***

### 🤝 Support

Need custom output, filtered roles, field-level extraction, or full career site scraping?

**DataWizards are here for you!**

📩 Email: <hello.datawizard@gmail.com>
✉️ **Subject**: `RemoteJobs-Scraper Actor – Support Request`
🔗 Connect: [linkedin.com/in/data-wizards-aa8080342](https://linkedin.com/in/data-wizards-aa8080342)

***

### 🧪 Feedback & Bug Reports

Spotted an issue or need a feature?

📧 Email: `hello.datawizard@gmail.com`
🛠️ **Subject**: `Bug Report – RemoteJobs-Scraper Actor`
--------------------------------------------------------

### 💡 Need More?

Want to scrape other job platforms or track job postings from your competitor’s careers page?

💬 Let’s talk!
DataWizards builds **custom, high-volume, scalable scrapers** tailored to your tech stack.

***

#### 🏁 Get the most out of remote job listings with `RemoteJobs-Scraper` — the reliable, intelligent, and developer-ready way to collect remote employment data.

***

# Actor input Schema

## `query` (type: `string`):

The query term to search for location.

## `employmentType` (type: `string`):

The type of employment to filter results by.

## `workplaceLocation` (type: `string`):

The workplace location to filter results by.

## `item_limit` (type: `integer`):

The maximum number of items to scrape.

## `proxyConfiguration` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "query": "react developer",
  "employmentType": "full-time",
  "workplaceLocation": "remote",
  "item_limit": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "query": "react developer",
    "employmentType": "full-time",
    "workplaceLocation": "remote",
    "item_limit": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("hello.datawizards/remotejobs-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 = {
    "query": "react developer",
    "employmentType": "full-time",
    "workplaceLocation": "remote",
    "item_limit": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("hello.datawizards/remotejobs-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 '{
  "query": "react developer",
  "employmentType": "full-time",
  "workplaceLocation": "remote",
  "item_limit": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call hello.datawizards/remotejobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PFrJPPpPRFWoENWkJ/builds/1W6N9Mmyzp2m4Qigy/openapi.json
