Himalayas Job Scraper
Pricing
Pay per usage
Himalayas Job Scraper
Meet the Himalayas Job Scraper, a lightweight actor designed to efficiently extract remote job listings from Himalayas.app. Fast, reliable, and easy to use. To ensure uninterrupted performance and avoid IP bans, the use of residential proxies is highly recommended.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Actor stats
0
Bookmarked
14
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
Himalayas Jobs Scraper
Extract remote job listings from Himalayas into clean, analysis-ready datasets. Collect job titles, companies, locations, compensation details, work type, requirements, and application deadlines at scale. This scraper is built for recruiting teams, talent intelligence workflows, and job market research.
Features
- Flexible search inputs — Run by
keywordandlocation, or a singlestartUrl. - Rich job coverage — Collect both listing-level and detailed job metadata in one dataset.
- Automatic pagination — Traverse result pages up to your configured limits.
- Null-clean output — Empty fields are removed automatically for cleaner downstream processing.
- Duplicate protection — Canonical URL deduplication avoids repeated job records.
- Integration-ready data — Export clean records for dashboards, CRMs, ATS tools, and automations.
Use Cases
Talent Intelligence
Track hiring patterns across companies, markets, and job families. Build searchable datasets to identify demand trends by role, region, and employment type.
Recruitment Sourcing
Collect high-quality openings for outreach pipelines. Filter by relevant keywords and locations to prioritize matching opportunities faster.
Salary and Market Analysis
Monitor salary visibility, work arrangements, and role requirements across listings. Use historical runs to evaluate market movement over time.
Job Board Monitoring
Run scheduled collections to detect newly posted opportunities and deadlines. Power alerting workflows for teams that need timely updates.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | "https://himalayas.app/jobs" | Start from one Himalayas jobs/search URL. |
keyword | String | No | "software engineer" | Search keyword when URL inputs are not provided. |
location | String | No | "United States" | Optional location filter for keyword-based runs. |
collectDetails | Boolean | No | true | Include extended job information when available. |
results_wanted | Integer | No | 20 | Maximum number of jobs to save. |
max_pages | Integer | No | 5 | Maximum pages to scan per seed URL. |
proxyConfiguration | Object | No | Apify Proxy preset | Proxy settings for run reliability. |
Output Data
Each dataset item may contain the following fields (fields with no value are omitted):
| Field | Type | Description |
|---|---|---|
job_id | String | Job identifier when available. |
title | String | Job title. |
company | String | Hiring company name. |
company_slug | String | Company slug from listing URL. |
job_slug | String | Job slug from listing URL. |
company_logo | String | Company logo URL. |
company_website | String | Company profile or website URL. |
location | String | Consolidated location text. |
applicant_location_requirements | Array | Explicit applicant location requirements. |
date_posted | String | Job posting date or relative post time. |
date_modified | String | Last updated date when available. |
apply_before | String | Application deadline when provided. |
description_html | String | Rich job description HTML. |
description_text | String | Plain-text description. |
salary | String | Human-readable salary summary. |
salary_min | Number | Minimum salary value. |
salary_max | Number | Maximum salary value. |
salary_currency | String | Salary currency code. |
salary_unit | String | Salary period unit. |
job_type | String | Primary employment type. |
employment_types | Array | Full list of employment types. |
industry | String | Industry label. |
occupational_category | String | Occupational category. |
work_hours | String | Work schedule or hour details. |
direct_apply | Boolean | Indicates direct application support. |
remote | Boolean | Whether role is marked remote. |
job_location_type | String | Location type label. |
responsibilities_text | String | Parsed responsibility text. |
qualifications_text | String | Parsed qualification text. |
skills_text | String | Parsed skills text. |
experience_requirements_text | String | Parsed experience requirements. |
education_requirements_text | String | Parsed education requirements. |
incentives_text | String | Parsed incentives or compensation extras. |
raw_job_posting | Object | Full structured job object for advanced use. |
url | String | Canonical job URL. |
source | String | Data source label. |
scraped_at | String | ISO timestamp of extraction. |
Usage Examples
Basic Keyword Search
Collect software engineering jobs with default detail collection:
{"keyword": "software engineer","location": "United States","results_wanted": 20}
URL-Based Collection
Start from a specific jobs URL:
{"startUrl": "https://himalayas.app/jobs?q=data+engineer","results_wanted": 50,"max_pages": 5,"collectDetails": true}
Targeted Keyword Run
Use a focused keyword and location combination:
{"keyword": "python engineer","location": "Canada","results_wanted": 100,"max_pages": 8}
Lightweight Fast Run
Skip extended details for faster scans:
{"keyword": "customer success","location": "Remote","collectDetails": false,"results_wanted": 30,"max_pages": 3}
Sample Output
{"job_id": "7654321","title": "Senior Data Engineer","company": "Example Labs","company_slug": "example-labs","job_slug": "senior-data-engineer","company_logo": "https://cdn-images.himalayas.app/example-logo","company_website": "https://example.com","location": "United States, Canada","applicant_location_requirements": ["United States", "Canada"],"date_posted": "2026-04-01T10:22:00.000Z","apply_before": "2026-05-01T10:22:00.000Z","description_text": "We are looking for a senior data engineer to build scalable data systems...","salary": "120000-160000 USD / YEAR","salary_min": 120000,"salary_max": 160000,"salary_currency": "USD","salary_unit": "YEAR","job_type": "FULL_TIME","employment_types": ["FULL_TIME"],"industry": "Software","remote": true,"skills_text": "Python, SQL, ETL, Cloud","url": "https://himalayas.app/companies/example-labs/jobs/senior-data-engineer","source": "himalayas.app","scraped_at": "2026-04-08T08:35:12.220Z"}
Tips for Best Results
Start Small, Then Scale
- Use
results_wantedaround 20-50 for quick validation. - Increase limits only after confirming your filters produce relevant jobs.
Use Specific Search Intent
- Prefer focused queries like
"backend engineer"over broad terms like"engineer". - Combine
keywordandlocationwhen you need tighter targeting.
Balance Depth and Speed
- Keep
collectDetailsset totruewhen you need enriched fields. - Set
collectDetailstofalsefor faster monitoring runs.
Keep Data Clean
- Canonical URL deduplication is always applied internally to avoid repeated records.
- Run periodic exports to keep downstream datasets current.
Improve Stability on Large Runs
- Use proxy configuration when collecting many pages.
- Increase
max_pagesgradually to avoid unnecessary retries.
Integrations
Connect your collected data with:
- Google Sheets — Build collaborative tracking sheets.
- Airtable — Create searchable recruiting databases.
- Slack — Send job alerts to hiring channels.
- Zapier — Trigger no-code automations.
- Make — Orchestrate multi-step workflows.
- Webhooks — Deliver records to your own systems.
Export Formats
- JSON — Structured integration and application use.
- CSV — Spreadsheet analysis and reporting.
- Excel — Business-friendly data sharing.
- XML — Legacy or enterprise integration flows.
Frequently Asked Questions
Can I run with only a URL and no keyword?
Yes. You can provide startUrl without a keyword.
Can I collect jobs from multiple searches in one run?
Run the actor multiple times with different startUrl or keyword/location inputs, then combine datasets downstream.
Why are some fields missing from some jobs?
Different postings expose different metadata. The actor saves all available fields and omits empty ones.
How can I make runs faster?
Lower results_wanted and max_pages, or set collectDetails to false.
How can I avoid duplicate records?
Deduplication is automatic using canonical job URLs.
Is this suitable for scheduled monitoring?
Yes. It works well for periodic runs that track new postings and market movement.
Support
For issues or enhancement requests, use the actor support channel in the Apify Console.
Resources
Legal Notice
This actor is intended for legitimate data collection and analysis workflows. Users are responsible for ensuring compliance with applicable laws, website terms, and internal data-governance policies.