# Himalayas Remote Jobs Scraper (`logiover/himalayas-remote-jobs-scraper`) Actor

Scrape remote job listings from Himalayas (himalayas.app) — 100,000+ remote jobs. Filter by keyword, category, seniority and employment type. Extract title, company, salary range, location restrictions, categories and apply links.

- **URL**: https://apify.com/logiover/himalayas-remote-jobs-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 147 total users, 41 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 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

## 🏔️ Himalayas Remote Jobs Scraper — 100,000+ Remote Jobs Worldwide

Scrape **remote job listings from Himalayas** (himalayas.app), one of the largest remote-work job boards with **100,000+ remote jobs**, straight from its public API. No login, no API key, no blocking. This Apify Actor extracts job title, company, salary range, location and timezone restrictions, seniority, employment type, categories, and direct apply links — exportable to JSON, CSV, or Excel.

If you need bulk **Himalayas remote jobs data** for sourcing, a job board, or hiring-trend research, this Actor is built for scheduled, recurring use so your feed of worldwide remote openings stays fresh.

### ✨ What this Actor does / Key features

- **Official Himalayas API source** — fast, reliable, and fully paginated.
- **Huge coverage** — 100,000+ remote jobs across engineering, design, marketing, sales, product, support, data, and more.
- **Rich data per job** — title, company, company logo, salary range, currency, location and timezone restrictions, seniority, employment type, and categories.
- **Full job descriptions** — both a short excerpt and the full description text.
- **Powerful filters** — search by keyword, and filter by category, seniority level, and employment type.
- **No API key or login required** — just set your filters and run.
- **Direct apply links** — every job includes a URL to the listing.
- **Built for scheduling** — run daily for a continuously updated remote-jobs dataset.

### 🔍 Input

| Field | Type | Description |
|---|---|---|
| `searchKeyword` | string | Free-text keyword matched against job title, company name, and summary (e.g. `react`, `data scientist`, `product manager`). Leave empty for no keyword filter. |
| `categories` | array | Filter by job category, matched against each job's categories and parent categories (e.g. `Engineering`, `Design`, `Marketing`, `Sales`, `Data`). Leave empty for all. |
| `seniority` | array | Filter by seniority level (e.g. `Entry-level`, `Mid-level`, `Senior`, `Lead`, `Executive`, `Internship`). Leave empty for all. |
| `employmentType` | string | Filter by employment type (e.g. `Full Time`, `Part Time`, `Contract`, `Freelance`, `Internship`). Leave empty for all. |
| `maxJobs` | integer | Maximum matching jobs to save. Set to `0` for unlimited (scrapes the entire Himalayas feed). |

### 🚀 Example input

```json
{
  "searchKeyword": "react",
  "categories": ["Engineering"],
  "seniority": ["Senior"],
  "employmentType": "Full Time",
  "maxJobs": 0
}
````

### 📦 Output

Each dataset item is one remote job listing. Output fields:

| Field | Description |
|---|---|
| `title` | Job title. |
| `company` | Hiring company name. |
| `companySlug` | Himalayas company slug. |
| `companyLogo` | Company logo image URL. |
| `employmentType` | Employment type (full-time, contract, etc.). |
| `seniority` | Array of seniority levels for the role. |
| `categories` | Array of job categories. |
| `parentCategories` | Array of parent categories. |
| `minSalary` / `maxSalary` | Salary range. |
| `currency` | Salary currency. |
| `locationRestrictions` | Array of allowed locations/countries for the role. |
| `timezoneRestrictions` | Array of allowed timezones. |
| `excerpt` | Short job summary. |
| `description` | Full job description text. |
| `url` | Direct link to the job listing on Himalayas. |
| `postedAt` | When the job was posted. |
| `expiresAt` | When the listing expires. |
| `guid` | Unique job identifier. |
| `scrapedAt` | Timestamp of when the record was scraped. |

### 💡 Use cases

- **Recruiters & sourcers** — work from a fresh daily feed of worldwide remote roles filtered by category and seniority.
- **Job boards & aggregators** — keep a remote-jobs section automatically current with structured data.
- **Market research** — track remote hiring trends by category, seniority, salary, and location.
- **Lead generation** — find companies actively hiring remote talent for outreach lists.
- **Career platforms & coaches** — surface relevant remote openings to candidates by skill and level.

### ❓ Frequently Asked Questions

**Do I need an API key or login?**
No. The Actor pulls from the public Himalayas API and handles everything — you only need an Apify account.

**Is it legal to use this data?**
The Actor accesses publicly available job listings from Himalayas. Use the data responsibly and in line with Himalayas' terms of service.

**How many jobs can I get in one run?**
Up to the full Himalayas feed of 100,000+ remote jobs. Set `maxJobs` to `0` for everything, or cap it for a smaller, faster run.

**Can I filter the results?**
Yes. Filter by keyword, category, seniority level, and employment type, in any combination. Leave a filter empty to include everything.

**Does it include salary information?**
Yes, when the listing provides it — `minSalary`, `maxSalary`, and `currency` are extracted per job.

**How fresh is the data?**
It reflects what is currently listed on Himalayas. Schedule the Actor daily to keep a continuously updated remote-jobs dataset.

**What output formats are supported?**
JSON, CSV, Excel (XLSX), HTML, and JSONLines, available through the Apify dataset and API.

### ⏰ Scheduling & integration

Schedule the Actor on Apify to run daily for a self-updating remote-jobs dataset. Export results to JSON, CSV, or Excel, call it from the Apify API, or connect it to Google Sheets, Airtable, your ATS, or Slack with webhooks and no-code tools like Make, n8n, and Zapier.

***

**Keywords:** himalayas remote jobs scraper, himalayas.app scraper, remote jobs scraper, remote job listings api, remote work data, scrape remote jobs, remote hiring data, remote tech jobs scraper, job board scraper, remote jobs dataset

# Actor input Schema

## `searchKeyword` (type: `string`):

Free-text keyword matched against job title, company name and summary. Examples: 'react', 'data scientist', 'product manager'. Leave empty for no keyword filter.

## `categories` (type: `array`):

Filter by job category. Matched against each job's categories and parent categories. Common values: 'Engineering', 'Design', 'Marketing', 'Sales', 'Product', 'Customer Success', 'Operations', 'Finance', 'Data', 'Human Resources', 'Writing', 'Legal'. Leave empty for all categories.

## `seniority` (type: `array`):

Filter by seniority level. Common values: 'Entry-level', 'Mid-level', 'Senior', 'Lead', 'Executive', 'Internship'. Leave empty for all levels.

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

Filter by employment type. Common values: 'Full Time', 'Part Time', 'Contract', 'Freelance', 'Internship'. Leave empty for all types.

## `maxJobs` (type: `integer`):

Maximum number of matching jobs to save. Set to 0 for unlimited (scrapes the entire Himalayas feed).

## Actor input object example

```json
{
  "searchKeyword": "",
  "categories": [],
  "seniority": [],
  "employmentType": ""
}
```

# Actor output Schema

## `title` (type: `string`):

Job title

## `company` (type: `string`):

Hiring company name

## `companyLogo` (type: `string`):

Company logo URL

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

Full Time / Part Time / Contract

## `seniority` (type: `string`):

Seniority levels

## `categories` (type: `string`):

Job categories

## `minSalary` (type: `string`):

Minimum salary

## `maxSalary` (type: `string`):

Maximum salary

## `currency` (type: `string`):

Salary currency

## `locationRestrictions` (type: `string`):

Allowed candidate locations

## `excerpt` (type: `string`):

Short job summary

## `url` (type: `string`):

Job listing URL

## `postedAt` (type: `string`):

Publication date (ISO)

## `scrapedAt` (type: `string`):

Scrape timestamp

# 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 = {
    "categories": [],
    "seniority": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/himalayas-remote-jobs-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 = {
    "categories": [],
    "seniority": [],
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/himalayas-remote-jobs-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 '{
  "categories": [],
  "seniority": []
}' |
apify call logiover/himalayas-remote-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Himalayas Remote Jobs Scraper",
        "description": "Scrape remote job listings from Himalayas (himalayas.app) — 100,000+ remote jobs. Filter by keyword, category, seniority and employment type. Extract title, company, salary range, location restrictions, categories and apply links.",
        "version": "1.0",
        "x-build-id": "ncl0r6iCZvHbRs1O5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~himalayas-remote-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-himalayas-remote-jobs-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/logiover~himalayas-remote-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-himalayas-remote-jobs-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/logiover~himalayas-remote-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-himalayas-remote-jobs-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": {
                    "searchKeyword": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Free-text keyword matched against job title, company name and summary. Examples: 'react', 'data scientist', 'product manager'. Leave empty for no keyword filter.",
                        "default": ""
                    },
                    "categories": {
                        "title": "Categories",
                        "type": "array",
                        "description": "Filter by job category. Matched against each job's categories and parent categories. Common values: 'Engineering', 'Design', 'Marketing', 'Sales', 'Product', 'Customer Success', 'Operations', 'Finance', 'Data', 'Human Resources', 'Writing', 'Legal'. Leave empty for all categories.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "seniority": {
                        "title": "Seniority",
                        "type": "array",
                        "description": "Filter by seniority level. Common values: 'Entry-level', 'Mid-level', 'Senior', 'Lead', 'Executive', 'Internship'. Leave empty for all levels.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "employmentType": {
                        "title": "Employment Type",
                        "type": "string",
                        "description": "Filter by employment type. Common values: 'Full Time', 'Part Time', 'Contract', 'Freelance', 'Internship'. Leave empty for all types.",
                        "default": ""
                    },
                    "maxJobs": {
                        "title": "Max Jobs",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of matching jobs to save. Set to 0 for unlimited (scrapes the entire Himalayas feed)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
