Himalayas Remote Jobs Scraper avatar

Himalayas Remote Jobs Scraper

Pricing

from $0.89 / 1,000 job scrapeds

Go to Apify Store
Himalayas Remote Jobs Scraper

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

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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?

FieldDescription
titleJob title as posted
descriptionFull job description (HTML)
typeEmployment type — full-time, part-time, contract, temporary, internship, volunteer, other
work_modeAlways remote — Himalayas only lists remote jobs
locationWorldwide, or a comma-separated list of allowed countries
experience_levelSeniority level(s) — Entry-level, Mid-level, Senior, Manager, Director, Executive
salary_min / salary_max / currency / salary_periodCompensation range where disclosed
company_name / company_slug / company_url / company_logo_urlHiring company details
tags / marketsHimalayas' own role and market taxonomy
posted_at / expires_atListing publish and expiry timestamps
apply_url / source_urlLink to the job on Himalayas

Input parameters

ParameterTypeRequiredDefaultDescription
keywordsstring[]No["software engineer"]Keywords to search. Each keyword runs a separate search; results are deduplicated
senioritystring[]No["Senior","Mid-level","Entry-level"]Filter by seniority: Entry-level, Mid-level, Senior, Manager, Director, Executive. Empty = all levels
employmentTypestringNoFull TimeFull Time, Part Time, Contractor, Temporary, Intern, Volunteer, Other, or empty for any
worldwidebooleanNotrueWhen true, only returns jobs explicitly open to candidates worldwide
countrystringNo""Filter by country (ISO alpha-2 code, name, or slug, e.g. "US", "Germany", "spain"). Only applied when worldwide is false
sortBystringNorecentrecent, relevant, salaryAsc, salaryDesc, nameAToZ, nameZToA
maxResultsPerKeywordintegerNo100Max jobs to collect per keyword (1–500). Himalayas returns up to 20 results per page
filterNonTechbooleanNofalseRemoves clearly non-technical roles (receptionist, accountant, driver, nurse, etc.) via keyword heuristic
webhookUrlstringNo""POSTs all results to this URL in batches of 50 on completion
webhookSecretstringNo""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 webhookUrl with 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

  1. Set your keywords — add one or more search terms (e.g. "backend engineer", "react developer"). Each keyword runs as a separate search internally.
  2. Choose filters — pick seniority levels, employment type, and whether you want worldwide-only jobs or a specific country.
  3. Set limitsmaxResultsPerKeyword caps how many jobs each keyword can return (1–500).
  4. Run the actor — click Start in the Apify Console, or trigger it via the API or on a schedule.
  5. 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.

EventPrice per eventPrice 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

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 ApifyClient
client = 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);

Browse the full catalog on the ParseBird Apify Store page.