Himalayas Remote Jobs Scraper
Pricing
Pay per event
Himalayas Remote Jobs Scraper
Scrape Himalayas remote job listings with company details, salaries, locations, dates, and full descriptions. HTTP-only and export-ready.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape remote job listings from Himalayas.app into a clean dataset with job titles, company details, locations, employment type, salaries, full descriptions, and source URLs.
What does Himalayas Remote Jobs Scraper do?
Himalayas Remote Jobs Scraper extracts public remote job listings from Himalayas. It starts from job search pages or keyword queries, discovers job detail pages, reads the structured JobPosting data, and saves normalized rows to your Apify dataset.
Use it when you need recurring remote-job intelligence without manually copying listings from the website.
Who is it for?
- 🧑💼 Recruiters building remote talent-market maps
- 🕵️ Sourcing teams watching which companies are hiring remotely
- 📈 Labor-market analysts tracking demand by role, region, and salary
- 🧰 Job board operators enriching their own remote job feeds
- 🤖 Automation teams feeding job data into CRM, Airtable, Google Sheets, or data warehouses
Why use this scraper?
- It uses lightweight HTTP requests rather than a browser.
- It reads public job detail pages and schema.org JobPosting data.
- It supports both direct Himalayas URLs and simple search queries.
- It returns a flat dataset that is easy to export to CSV, JSON, Excel, BigQuery, or an API.
- It includes source URLs and scrape timestamps for auditing.
What data can you extract?
| Field | Description |
|---|---|
jobTitle | Job title from the detail page |
jobUrl | Canonical Himalayas job URL |
companyName | Hiring company name |
companyUrl | Himalayas company profile URL |
companyLogo | Company logo URL when available |
description | Clean text job description |
descriptionHtml | Original HTML job description |
locationRestrictions | Countries or “Anywhere” requirements |
remoteType | Remote/telecommute marker |
employmentType | Full-time, contract, or other employment type |
salaryMin | Minimum salary when available |
salaryMax | Maximum salary when available |
salaryCurrency | Salary currency |
postedDate | Date posted |
validThrough | Expiration date when present |
applicationUrl | Apply/source URL available from the page |
sourceUrl | Listing page that led to the job |
scrapedAt | Timestamp of extraction |
How much does it cost to scrape Himalayas remote jobs?
This actor uses pay-per-event pricing. You pay a small start fee per run and then per saved job listing. For example, a run that saves 100 job listings is charged for one start event plus 100 result events. See the Apify Store pricing panel for the exact current tiered price.
Input options
The actor accepts these inputs:
{"startUrls": [{ "url": "https://himalayas.app/jobs/software-engineer" }],"searchQueries": ["software engineer"],"maxItems": 20,"maxPages": 3,"includeDescriptions": true}
Start URLs
Use startUrls when you already have a Himalayas page to crawl.
Examples:
https://himalayas.app/jobshttps://himalayas.app/jobs/software-engineer- Any public Himalayas jobs search page that contains job cards
Search queries
Use searchQueries when you want the actor to build the Himalayas job URL for you. For example, software engineer becomes https://himalayas.app/jobs/software-engineer.
You can combine search queries and start URLs in one run. The actor deduplicates job URLs before scraping details.
Limits and pagination
maxItems controls how many jobs are saved. maxPages controls how many paginated listing pages are scanned per source. Keep prefilled runs small for quick tests, then increase limits for recurring production jobs.
Output example
{"jobTitle": "Software Engineer","jobUrl": "https://himalayas.app/companies/example/jobs/software-engineer","companyName": "Example Inc","companyUrl": "https://himalayas.app/companies/example","locationRestrictions": ["Anywhere"],"remoteType": "TELECOMMUTE","employmentType": "FULL_TIME","salaryMin": 150000,"salaryMax": 250000,"salaryCurrency": "USD","postedDate": "2026-05-14T10:24:53.000Z","sourceUrl": "https://himalayas.app/jobs/software-engineer","scrapedAt": "2026-05-27T00:00:00.000Z"}
How to scrape Himalayas jobs
- Open the actor on Apify.
- Enter one or more Himalayas job listing URLs or search queries.
- Set
maxItemsto the number of jobs you need. - Keep
includeDescriptionsenabled if you need full job text. - Click Start.
- Export the dataset as CSV, JSON, Excel, XML, RSS, or access it through the API.
Tips for best results
- Use specific role pages such as software engineer, product manager, or designer.
- Increase
maxPageswhen you need more than the first page of jobs. - Disable full descriptions if you only need quick lead lists.
- Schedule the actor daily or weekly to monitor new remote hiring.
- Use source URLs to separate results by search segment.
Integrations
You can connect the dataset to:
- Google Sheets for recruiter review queues
- Airtable for remote-job databases
- Slack alerts for newly discovered roles
- CRM systems for hiring-company outreach
- BigQuery, Snowflake, or S3 for labor-market analysis
- Zapier or Make for no-code workflows
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/himalayas-remote-jobs-scraper').call({searchQueries: ['software engineer'],maxItems: 50});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/himalayas-remote-jobs-scraper').call(run_input={'searchQueries': ['software engineer'],'maxItems': 50,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~himalayas-remote-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchQueries":["software engineer"],"maxItems":50}'
Using with MCP
Use this actor from Claude Desktop, Claude Code, Cursor, VS Code, or any MCP-compatible client through Apify MCP.
MCP endpoint:
https://mcp.apify.com/?tools=automation-lab/himalayas-remote-jobs-scraper
Claude Code setup
Run this command locally, replacing $APIFY_TOKEN with your Apify API token:
$claude mcp add --transport http apify-himalayas-remote-jobs "https://mcp.apify.com/?tools=automation-lab/himalayas-remote-jobs-scraper&token=$APIFY_TOKEN"
Claude Desktop, Cursor, and VS Code setup
Add this server to your MCP configuration file. Replace YOUR_APIFY_TOKEN with your Apify API token:
{"mcpServers": {"apify-himalayas-remote-jobs": {"url": "https://mcp.apify.com/?tools=automation-lab/himalayas-remote-jobs-scraper&token=YOUR_APIFY_TOKEN"}}}
After saving the configuration, restart your MCP client and ask it to run the automation-lab/himalayas-remote-jobs-scraper tool.
Example prompts:
- “Scrape 30 software engineering jobs from Himalayas and summarize the top hiring companies.”
- “Find remote product jobs and group them by location restriction.”
- “Export Himalayas job listings with salaries to a spreadsheet-ready table.”
Scheduling
Create an Apify schedule to run the scraper every day, every week, or before sales standups. A scheduled run can monitor new roles and feed downstream workflows automatically.
Data quality notes
The actor reads public page data. Some jobs do not publish salary ranges, company logos, or location restrictions. Missing source values are returned as null or empty arrays rather than guessed.
Legality
This actor extracts publicly available job listing pages. You are responsible for using the data in compliance with applicable laws, website terms, privacy rules, and your own internal policies.
FAQ
Why did I get fewer jobs than maxItems?
The selected search page may not contain enough unique jobs within the maxPages limit. Increase maxPages or add more search queries.
Why are salary fields empty?
Many listings do not publish salary information. When a salary is present in structured data or obvious text ranges, the actor normalizes it.
Why is applicationUrl the same as jobUrl?
When Himalayas does not expose a separate external apply URL in public structured data, the actor returns the canonical Himalayas job page.
Related scrapers
You may also need these Apify Store actors from automation-lab:
- https://apify.com/automation-lab/linkedin-jobs-scraper
- https://apify.com/automation-lab/indeed-scraper
- https://apify.com/automation-lab/upwork-job-scraper
Changelog
- Initial version: scrape Himalayas listing pages and job detail pages.
Support
If a run fails or a field looks wrong, open an issue on the actor page and include the run ID plus the input you used.
Performance
The actor is HTTP-based and configured for low memory. It is designed for small scheduled checks as well as larger remote-job discovery runs.
Dataset exports
After a run finishes, open the dataset tab to export results as JSON, CSV, Excel, XML, HTML, or RSS. You can also pull the dataset using the Apify API.
Field mapping
Use jobUrl as the unique listing key. Use companyUrl as a stable company profile key. Use sourceUrl to identify which listing page or query produced the row.