Himalayas Remote Jobs Scraper
Pricing
from $0.89 / 1,000 job scrapeds
Himalayas Remote Jobs Scraper
Scrape remote job listings from Himalayas — titles, salaries, seniority, employment type, company data, and full descriptions via the public search API.
Pricing
from $0.89 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Himalayas Remote Jobs Scraper
Extract remote job listings from Himalayas, a job board dedicated exclusively to remote positions. The Himalayas Remote Jobs Scraper searches by keyword, filters by seniority, employment type, and country, and returns clean, structured job data — titles, salaries, company details, tags, and full HTML descriptions — ready for analysis, monitoring, or integration into your own job board or ATS.
| Run multiple keywords in one job, automatically deduplicate overlapping results, and filter out non-technical roles — all without touching Himalayas' rate limits, since retries on HTTP 429 are handled for you. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/himalayas-remote-jobs-scraper. Scrapes remote job listings from Himalayas (himalayas.app). Call via ApifyClient: client.actor("parsebird/himalayas-remote-jobs-scraper").call(run_input={"keywords": ["backend engineer"], "seniority": ["Senior","Mid-level"], "employmentType": "Full Time", "worldwide": true, "maxResultsPerKeyword": 50}). Returns per job: id, source, source_url, apply_url, title, description, type, work_mode, location, experience_level, salary_min, salary_max, currency, salary_period, company_name, company_slug, company_url, company_logo_url, tags, markets, posted_at, expires_at, scraped_at, data_source, data_source_url. Full API spec: https://apify.com/parsebird/himalayas-remote-jobs-scraper/api. Get your token: https://console.apify.com/settings/integrations.
What does Himalayas Remote Jobs Scraper do?
This actor queries Himalayas' public job search API directly — no browser, no HTML parsing, no anti-bot workarounds. You give it one or more search keywords and it returns every matching remote job with salary, seniority, employment type, location restrictions, company info, and the full job description.
- 🔍 Multi-keyword search — run "backend engineer", "react developer", and "devops" in a single job; results are merged and deduplicated by job ID automatically.
- 🌍 Worldwide or country-specific filtering — restrict to jobs explicitly open to any country, or filter to a specific country by ISO code, name, or slug.
- 🎚️ Seniority and employment type filters — Entry-level through Executive; Full Time, Part Time, Contractor, Temporary, Intern, Volunteer, or Other.
- 🧹 Non-tech role filtering — optionally strip out clearly non-technical listings (nursing, accounting, legal, driving, etc.) that occasionally appear in Himalayas' broader feed.
- 🔗 Webhook delivery — optionally POST every result to your own endpoint in batches of 50, authenticated with a shared secret header.
- 📊 Sortable results — most recent, most relevant, salary ascending/descending, or company name A–Z/Z–A.
What job data can you extract from Himalayas?
| Field | Description |
|---|---|
title | Job title as posted |
description | Full job description (HTML) |
type | Employment type — full-time, part-time, contract, temporary, internship, volunteer, other |
work_mode | Always remote — Himalayas only lists remote jobs |
location | Worldwide, or a comma-separated list of allowed countries |
experience_level | Seniority level(s) — Entry-level, Mid-level, Senior, Manager, Director, Executive |
salary_min / salary_max / currency / salary_period | Compensation range where disclosed |
company_name / company_slug / company_url / company_logo_url | Hiring company details |
tags / markets | Himalayas' own role and market taxonomy |
posted_at / expires_at | Listing publish and expiry timestamps |
apply_url / source_url | Link to the job on Himalayas |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | string[] | No | ["software engineer"] | Keywords to search. Each keyword runs a separate search; results are deduplicated |
seniority | string[] | No | ["Senior","Mid-level","Entry-level"] | Filter by seniority: Entry-level, Mid-level, Senior, Manager, Director, Executive. Empty = all levels |
employmentType | string | No | Full Time | Full Time, Part Time, Contractor, Temporary, Intern, Volunteer, Other, or empty for any |
worldwide | boolean | No | true | When true, only returns jobs explicitly open to candidates worldwide |
country | string | No | "" | Filter by country (ISO alpha-2 code, name, or slug, e.g. "US", "Germany", "spain"). Only applied when worldwide is false |
sortBy | string | No | recent | recent, relevant, salaryAsc, salaryDesc, nameAToZ, nameZToA |
maxResultsPerKeyword | integer | No | 100 | Max jobs to collect per keyword (1–500). Himalayas returns up to 20 results per page |
filterNonTech | boolean | No | false | Removes clearly non-technical roles (receptionist, accountant, driver, nurse, etc.) via keyword heuristic |
webhookUrl | string | No | "" | POSTs all results to this URL in batches of 50 on completion |
webhookSecret | string | No | "" | Sent as the X-Scraper-Secret header when webhookUrl is set |
Output example
{"id": "senior-backend-engineer-546640181","source": "himalayas","source_url": "https://himalayas.app/companies/acme-corp/jobs/senior-backend-engineer-546640181","apply_url": "https://himalayas.app/companies/acme-corp/jobs/senior-backend-engineer-546640181","title": "Senior Backend Engineer","description": "<p>We are looking for a Senior Backend Engineer to join our platform team...</p>","type": "full-time","work_mode": "remote","location": "Worldwide","experience_level": "Senior","salary_min": 120000,"salary_max": 160000,"currency": "USD","salary_period": "annual","company_name": "Acme Corp","company_slug": "acme-corp","company_url": "https://himalayas.app/companies/acme-corp","company_logo_url": "https://cdn-images.himalayas.app/acme-corp-logo","tags": ["Backend Engineering", "Software Engineering", "Senior Backend Engineer"],"markets": [],"posted_at": "2026-04-20T10:30:00.000Z","expires_at": "2026-07-19T10:30:00.000Z","scraped_at": "2026-08-09T00:33:49.000Z","data_source": "Himalayas","data_source_url": "https://himalayas.app"}
Download results as JSON, CSV, Excel, HTML, or XML directly from the Apify Console, or fetch them via the Apify API / dataset endpoint.
Use cases
- Remote job aggregation — feed a job board, newsletter, or Slack/Discord bot with fresh remote listings filtered by keyword and seniority.
- Talent sourcing pipelines — pair
webhookUrlwith your ATS or CRM to automatically ingest new candidates' target roles as they're posted. - Salary benchmarking — collect compensation data by role, seniority, and country to inform hiring budgets.
- Market research — track which companies and roles are hiring remotely, and how employment type and seniority mix shifts over time.
- Competitive intelligence — monitor how competitors' remote hiring compares across regions and levels.
How to scrape Himalayas remote jobs
- Set your keywords — add one or more search terms (e.g.
"backend engineer","react developer"). Each keyword runs as a separate search internally. - Choose filters — pick seniority levels, employment type, and whether you want worldwide-only jobs or a specific country.
- Set limits —
maxResultsPerKeywordcaps how many jobs each keyword can return (1–500). - Run the actor — click Start in the Apify Console, or trigger it via the API or on a schedule.
- Get your data — download the dataset as JSON/CSV/Excel, pull it via the API, or have it delivered straight to your
webhookUrl.
How much does it cost to scrape Himalayas job listings?
This actor uses Pay-Per-Event (PPE) pricing — you're charged per job listing extracted, not per compute unit.
| Event | Price per event | Price per 1,000 |
|---|---|---|
job-scraped (Free plan) | $0.00099 | $0.99 |
job-scraped (Bronze / Silver / Gold plans) | $0.00089 | $0.89 |
A run collecting 500 jobs costs roughly $0.45–$0.50 depending on your Apify plan. All Apify accounts include a free trial with credits to try the actor before committing to a paid plan.
FAQ
What's the difference between location and country?
country is an input filter (which country to search for). location is an output field showing the actual countries a specific job allows, or "Worldwide" if there are no restrictions.
Why are some salary_min / salary_max fields null?
Not every Himalayas listing discloses a salary range. When compensation isn't published, both fields are returned as null.
How does filterNonTech decide what's "non-technical"?
It matches job titles against a curated keyword list (nurse, accountant, driver, receptionist, attorney, etc.). It's a heuristic, not a classifier — review results if your keywords are broad and industry-agnostic.
Can I search for jobs from a specific company?
Not directly through this actor's input, but you can filter tags in your downstream tooling, or add the company name as a keyword.
Does this actor support scheduling and integrations? Yes. Use Apify Schedules to run it daily or weekly, connect it to Zapier, Make, or Slack, or call it through the Apify API from your own backend.
What are the limitations of this actor? ⚠️
- Maximum 500 results per keyword per run
- Himalayas API rate limits apply — built-in retry on 429 responses
- Individual job detail endpoint not available in public API — full description is returned directly in search results
- Results reflect Himalayas public listings only
Is it legal to scrape Himalayas?
Yes. This actor only accesses publicly available job listings that Himalayas and its customers have made visible for the purpose of recruitment. It does not bypass login walls, access private accounts, or collect personal data about individuals. Scraping publicly available data is generally considered legal — see Apify's overview of web scraping legality for more detail. Users are responsible for ensuring their use of the collected data complies with applicable laws and Himalayas' Terms of Service.
Python and JavaScript usage
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run_input = {"keywords": ["backend engineer"],"seniority": ["Senior", "Mid-level"],"employmentType": "Full Time","worldwide": True,"maxResultsPerKeyword": 50,}run = client.actor("parsebird/himalayas-remote-jobs-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["company_name"])
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const input = {keywords: ['backend engineer'],seniority: ['Senior', 'Mid-level'],employmentType: 'Full Time',worldwide: true,maxResultsPerKeyword: 50,};const run = await client.actor('parsebird/himalayas-remote-jobs-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related Actors
- Hiring.cafe Jobs Scraper — 2.8M+ aggregated postings across 46 ATS platforms
- Workable Job Scraper — jobs from companies hiring on Workable
- JobsDB Job Scraper — jobs from JobsDB (APAC)
- JustJoin.it Jobs Scraper — tech jobs from Poland's JustJoin.it
- eFinancialCareers Jobs Scraper — finance and banking jobs
- Workopolis Job Scraper — Canadian job listings
Browse the full catalog on the ParseBird Apify Store page.