Instahyre Jobs Scraper
Pricing
Pay per event
Instahyre Jobs Scraper
Scrape tech job listings from Instahyre, the Indian hiring platform. Title, company profile, locations, skill tags and job link per job, with search by skill and location. Pay-per-result.
Pricing
Pay per event
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Instahyre Jobs Scraper: India Tech Jobs
Get the public job listings of Instahyre, an Indian hiring platform for tech roles, as one clean dataset. Search by skill and city and get one row per job with the title, the skill tags, the locations and the full public company profile. No login needed.
What you can do with it
- Build a daily feed of new tech jobs in India per skill, for example Python, React or DevOps.
- See which companies hire for a skill in Bangalore, Pune, Hyderabad or Gurgaon, with company size band, founding year and a short description.
- Compare the demand for skills across cities by counting jobs per keyword and location.
- Find hiring companies for lead lists and recruiting research, with logo, tagline and description.
- Feed job boards, market reports or alerts with structured data instead of web pages.
What you get
One row per job. Fields that a job does not carry are null, lists are always [] when empty.
| Field | What it holds |
|---|---|
id, job_id | Row id (instahyre-<job id>) and Instahyre's own job id |
title | Job title |
company, company_id | Name and Instahyre id of the hiring company |
company_tagline, company_description, company_description_short | The company's tagline and the descriptions Instahyre shows for it (the short one is null when Instahyre gives none) |
company_founded, company_employee_count | Founding year and company size as Instahyre publishes it: a size band value such as 1, 10, 50, 200, 500 or 1000, not an exact head count |
company_logo_url | Link to the company logo |
company_featured, company_diversity_employer | Whether Instahyre marks the company as a featured or diversity employer |
locations, location | Job locations as a list and joined as text, for example ["Bangalore", "Pune"] and Bangalore, Pune. Work From Home appears as a location name |
keywords | Skill and keyword tags of the job |
accept_outstation | Whether the employer accepts candidates from outside the job city |
job_url | Link to the public job page on Instahyre |
source_query, source_location, scraped_at | The skill and location of the search that found the job (empty when the search had none) and the collection time |
Every job appears once per run, even when several searches or pages find it.
There is no full job description, salary or posting date in the data: Instahyre does not publish them in its public job list, so this actor does not return them. Use job_url to read the full posting on Instahyre.
Input
| Field | Type | Description |
|---|---|---|
searchQueries | string list | Skills or keywords such as python, react or devops. Each one runs as its own search; a keyword with commas is split into one search per part. Empty means all jobs |
location | string list | Optional cities such as Bangalore or Pune. Each location runs with every keyword |
strictLocation | boolean | Default true: keep only jobs where one of locations contains the location text (Bangalore also matches Bengaluru, Gurgaon matches Gurugram, Mumbai matches Bombay). Jobs filtered out are never charged. false keeps everything Instahyre returns for the search, including jobs for other cities |
maxResults | integer | Total number of jobs over everything. Default 100, 0 means no limit |
maxResultsPerQuery | integer | Jobs per keyword and location. Default 100, 0 means no limit |
Example: Python jobs in Bangalore
{"searchQueries": ["python"],"location": ["Bangalore"],"maxResults": 200,"maxResultsPerQuery": 200}
Example: several skills, two cities
{"searchQueries": ["react", "devops", "data engineer"],"location": ["Pune", "Hyderabad"],"maxResults": 0,"maxResultsPerQuery": 100}
Example: all jobs
{"maxResults": 500}
Output
{"id": "instahyre-447614","job_id": "447614","title": "Python Developer","company": "TopDoc","company_id": "50756","company_tagline": "A leading technology-enabled healthcare platform","company_description": "TopDoc is a US-based healthcare platform that simplifies the patient experience.","company_description_short": null,"company_founded": 2000,"company_employee_count": 1,"company_logo_url": "https://media.instahyre.com/images/profile/base/employer/50756/logo.webp","company_featured": false,"company_diversity_employer": false,"locations": ["Bangalore"],"location": "Bangalore","keywords": ["Backend", "FastAPI", "Python"],"accept_outstation": true,"job_url": "https://www.instahyre.com/job-447614-python-developer-at-topdoc-bangalore/","source_query": "python","source_location": "","scraped_at": "2026-11-04T09:00:00Z"}
The example is shortened and the values are illustrative.
Pricing
Pay per result, two events:
apify-actor-start: $0.001 once per run.job-result: $0.0008 per job in the dataset ($0.80 per 1,000 jobs).
Duplicate jobs are never charged. Set a maximum total charge on the run to stop at a budget; the run then ends cleanly with the message "Stopped at the max charge limit. N jobs delivered." The pricing box on the actor page always shows the current rates.
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client, such as Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Example prompts once connected:
"Use
instahyre-jobs-scraperto find Python jobs in Bangalore and list the company, skills and company size."
"Use
instahyre-jobs-scraperfor react, devops and golang in Pune and count the jobs per skill."
Configure the MCP server with the Instahyre Jobs Scraper preconfigured at mcp.apify.com?tools=nanoscrape/instahyre-jobs-scraper:
{"mcpServers": {"apify": {"command": "npx","args": ["mcp-remote","https://mcp.apify.com/?tools=nanoscrape/instahyre-jobs-scraper","--header","Authorization: Bearer <YOUR_API_TOKEN>"]}}}
See the auto-generated API tab on the actor page for language-specific examples (cURL, JavaScript, Python, and more).
FAQ
What does one run cost?
A start fee plus one result fee per job in the dataset. Use maxResults or a maximum total charge to cap it.
Does it return the full job description or the salary?
No. Instahyre does not publish a description, salary or posting date in its public job list, so each row has the title, skills, locations and company profile. job_url links to the full posting.
Why do I see jobs from other cities when I set a location?
Instahyre uses the location to rank jobs, so other cities can follow. With strictLocation on (the default) those jobs are dropped before they are charged. Turn it off to keep them and use locations and accept_outstation to decide yourself.
Why is company_employee_count not an exact number?
Instahyre publishes the company size as a band value (1, 10, 50, 200, 500, 1000), not a head count.
What if a search finds nothing? The run ends successfully with the message "0 jobs." and the reason, for example no hits for the keyword.
Can I get only new jobs?
The job list carries no posting date, so the actor cannot filter by date. Run it on a schedule and compare job_id values with the previous run.
Limits
- Jobs are read 35 per page, one page at a time with a short pause, so very large runs take a while.
- Instahyre lets a search read only its first 10,000 jobs. When a search has more, the run still succeeds and the status message says "first 10,000 of N jobs; narrow the search with keywords or location". Use keywords and locations to split larger searches.
- Only public listing data is returned.
- You are responsible for using the data lawfully, including data-protection laws and unfair-competition rules for marketing and outreach.
Support
Questions, feature requests or a field you miss: contact@nanoscrape.com.
Built by NanoScrape. Not affiliated with Instahyre.