Instahyre Jobs Scraper - 14 Fields, Monitor Mode, No Login
Pricing
from $1.20 / 1,000 job scrapeds
Instahyre Jobs Scraper - 14 Fields, Monitor Mode, No Login
Scrape Instahyre's public India tech job-search feed — title, company profile, skills and location. No login, no cookies, pay per job. Full job descriptions require an Instahyre account (see Coverage). Use it as an MCP server in Claude, ChatGPT & AI agents.
Pricing
from $1.20 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
232
Total users
58
Monthly active users
3 days ago
Last modified
Categories
Share
🎯 Instahyre Jobs Scraper: India Tech Hiring Feed · From $1.20/1k
What does Instahyre Jobs Scraper do?
It turns Instahyre's tech job-search feed into structured data: title, employer profile, locations, skills and the public job URL, filtered by job function, employment type and company size. Instahyre is one of India's larger tech-recruiting platforms, and its website is aggressively bot-managed behind a Cloudflare challenge, but this actor reads the same public, unauthenticated JSON API the site's own front end calls, so it never touches the Cloudflare-gated HTML and never needs a browser.
✅ No login required | ✅ No Cloudflare challenge to solve | ✅ Pay only for delivered jobs | ✅ MCP-ready for AI agents
Guide and FAQs: Instahyre Jobs Scraper on themineworks.com.
Who is it for?
Tech recruiters and staffing agencies who want a live feed of India tech job postings and the employer signal behind them, not candidate search (that stays behind Instahyre's login by design). Market-intelligence teams watching hiring trends across job function and company size. Sourcing-tool builders who need employer profiles and skills tags to shortlist target companies before reaching out.
How much does it cost to scrape Instahyre jobs?
You pay per job actually delivered. Nothing else: no subscription, no seat licence, no monthly minimum.
| Apify plan | Price per 1,000 jobs |
|---|---|
| Free | $2.00 |
| Bronze | $1.68 |
| Silver | $1.42 |
| Gold and above | $1.20 |
The Pricing tab on this page is the single source of truth and always shows the rate for your own plan. If this table and the Pricing tab ever disagree, the Pricing tab is right.
What a real pull costs. Apify's Free plan includes $5 of usage credit every month, roughly 2,500 Instahyre jobs a month at no cost to you. A 500-job pull costs about $0.60 on Gold. A 5,000-job market sweep costs about $6.00 on Gold.
What is never charged. Empty results, blocked pages and duplicates are never charged. The charge event fires only once a job record is validated and stored in your dataset.
How does it work?
Every HTML surface on instahyre.com, the homepage, the job-search page, individual job pages, sits behind Cloudflare's browser-integrity challenge: a plain HTTP request or even a Googlebot user agent gets a 403 "Just a moment..." page. That looks like a fully login-walled target. It isn't: the site's own front end calls a public, unauthenticated JSON API to populate its job-search page (/api/v1/job_search/), and that endpoint answers with a clean 200 and zero cookies from a plain datacenter IP, no browser and no challenge-solving required. This actor reads that endpoint only. It does not touch the HTML site and does not attempt to bypass Cloudflare.
Instahyre's index page size is fixed at 35 regardless of what you request, and pagination is offset-based with a hard ceiling: offset plus 35 cannot exceed 10,000, a limit of Instahyre's own search index. That caps any single filter combination at its first roughly 10,000 matches, which is why narrowing by job function, employment type or company size matters for reaching deeper into a large category rather than simply raising maxJobs.
Three parameters are genuine server-side filters, each verified against the API's own facet counts rather than assumed: jobFunctionSlugs (resolved to Instahyre's numeric job-function IDs through its own public catalog), jobType (full-time or internship), and companySize (small, medium or large). Free-text parameters that look plausible, keyword, location, city, experience, are silently accepted by the API but ignored, verified by an identical result count with or without them, so they are deliberately not exposed as inputs here. Each run also pushes one non-billable market-snapshot row built from Instahyre's own live facet counts for your query: total jobs indexed, and breakdowns by job type, company size, experience level, and top locations, companies and functions.
🧾 What input does it take?
{"jobFunctionSlugs": ["backend-development"],"jobType": "any","companySize": "any","maxJobs": 100}
| Input | Required | What it does |
|---|---|---|
jobFunctionSlugs | No | Instahyre job-function slugs, e.g. backend-development, data-science-machine-learning. Resolved against Instahyre's own live list; unknown slugs are skipped with a warning. Leave empty to walk the unfiltered feed |
jobType | No | any, full_time, or internship |
companySize | No | any, small, medium, or large |
maxJobs | No | Maximum jobs to return across all pages and functions. Default 100, hard cap 5,000 |
monitorMode | No | Deliver only jobs not seen in a previous run, see "Run on a schedule" below |
proxyConfiguration | No | Apify's default proxy. This API is not behind the Cloudflare challenge that gates the HTML site, so datacenter is enough |
📤 What data do you get back?
Real record shapes from live runs against jobFunctionSlugs: ["backend-development"], showing a full employer profile, a listing where candidate_title differs from title, and a smaller company with a thinner profile on file:
[{"job_id": 435844,"title": "Senior Software Engineer - Backend","company_name": "Paytm","company_tagline": "India's largest mobile payment and commerce platform","company_founded": 2000,"employee_count": 1000,"company_about": "Paytm is a platform for an e-commerce marketplace, mobile recharge, bill payments, peer-to-peer funds transfer, and more. Also operates a payments bank. Investors include Alibaba, SAIF Partners and Mediatek.","locations": ["Bangalore"],"locations_raw": "Bangalore","skills": ["Data Structures", "Golang", "Java", "Node.js", "Hibernate", "J2EE", "Spring"],"accept_outstation": true,"public_url": "https://www.instahyre.com/job-435844-senior-software-engineer-backend-at-paytm-bangalore/","resource_uri": "/api/v1/job_search/435844","scraped_at": "2026-09-09T18:22:11.000Z"},{"job_id": 436920,"title": "SDE II","candidate_title": "Software Development Engineer II - Backend","company_name": "Razorpay","company_tagline": "Full-stack financial solutions company for businesses in India","company_founded": 2014,"employee_count": 1000,"company_about": "Razorpay is a payments and banking platform for businesses in India, offering payment gateway, payroll, and lending products.","locations": ["Bangalore", "Pune"],"locations_raw": "Bangalore, Pune","skills": ["Java", "Spring Boot", "Kafka", "MySQL", "System Design"],"accept_outstation": false,"public_url": "https://www.instahyre.com/job-436920-sde-ii-at-razorpay-bangalore/","resource_uri": "/api/v1/job_search/436920","scraped_at": "2026-09-09T18:23:47.000Z"},{"job_id": 437210,"title": "Machine Learning Engineer","company_name": "Nimble AI Labs","locations": ["Hyderabad"],"locations_raw": "Hyderabad","skills": ["Python", "PyTorch", "NLP", "MLOps"],"public_url": "https://www.instahyre.com/job-437210-machine-learning-engineer-at-nimble-ai-labs-hyderabad/","resource_uri": "/api/v1/job_search/437210","scraped_at": "2026-09-09T18:25:03.000Z"}]
Every job record contains these fields:
| Field | Description |
|---|---|
🆔 job_id | Instahyre's internal job ID |
📌 title | Job title |
🏷️ candidate_title | Present only when it differs from title |
🏢 company_name / company_tagline / company_founded / employee_count / company_about | Employer profile fields, each present only when Instahyre publishes it |
📍 locations / locations_raw | Parsed location array and the original comma-separated string |
🛠️ skills | Keywords tagged on the listing, as an array |
✈️ accept_outstation | Whether the employer accepts relocating candidates |
🔗 public_url | Public Instahyre job page URL |
🔖 resource_uri | Instahyre's internal API resource path |
🕒 scraped_at | ISO timestamp the record was captured |
Each run also pushes one non-billable _type: "market_snapshot" row: total jobs indexed and the job-type, company-size, experience-level and top-locations/companies/functions breakdowns, straight from Instahyre's own live facet counts for your query, useful as a standalone hiring signal even before you look at individual listings.
What are the limitations?
Worth knowing before you buy, so there are no surprises:
- No salary and no per-job experience range. Instahyre does not publish either in its public search feed. The
market_snapshotrow's experience-level breakdown is an aggregate across the whole index, not a per-listing field. - No full job description. That renders only on the individual job page, which sits behind the same Cloudflare challenge as the rest of the HTML site. This actor does not attempt to solve it, so descriptions are out of scope entirely rather than offered as an unreliable option.
- No free-text keyword or city search server-side. Those parameters are silently accepted by Instahyre's API but ignored. Only
jobFunctionSlugs,jobTypeandcompanySizeare genuine filters; filter client-side on the returnedskills/locationsfields if you need a keyword cut. - A roughly 10,000-result ceiling per filter combination. Instahyre's own search index caps offset pagination there. Narrow with
jobFunctionSlugs/jobType/companySizeto reach deeper into a large category. - Candidate search is out of scope by design. Instahyre's recruiter-side candidate database sits entirely behind a logged-in dashboard, and this actor does not attempt to log in or emulate a recruiter session.
💼 What can you use it for?
India tech hiring-demand tracking. The skills array and job-function facets give a structured read on what is actively being hired for, without NLP over free text.
Company hiring-signal monitoring. Track which employers are posting roles in a given function, paired with employee_count for company-size segmentation.
Recruiter sourcing lists. Filter by function, type and size to build a target list of companies actively hiring in a niche.
Scheduled new-postings monitor. Enable monitorMode and run this on an Apify schedule to get only newly posted jobs each time, without re-paying for the whole feed.
🚀 How do I get started?
- Open the actor and optionally add one or more
jobFunctionSlugs, for examplebackend-development. - Optionally set
jobTypeandcompanySize. - Set
maxJobsto control cost. - Click Start. Download as JSON, CSV or Excel, or pull the dataset via API or MCP.
🔁 Run on a schedule
Turn this from a one-off pull into a standing feed with Apify's built-in Schedules. No code, no cron server of your own.
- Run the actor once with the input you want repeated, then click Save as a task at the top of the run form. This keeps your exact input attached for every future run.
- In the Apify Console, go to Schedules in the left sidebar, then Create new.
- Name it, set your timezone, and pick a frequency: a preset (hourly, daily, weekly) or a cron expression such as
0 6 * * *for daily at 6am. - Under Actors or tasks to run, add the task you saved in step 1.
- Save. It then runs unattended, billed the same pay-per-job way as a manual run. Nothing is charged just for the schedule existing.
Or automate the setup itself via the API:
curl -X POST "https://api.apify.com/v2/schedules?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"name":"instahyre-jobs-daily","cronExpression":"0 6 * * *","isEnabled":true,"actions":[{"type":"RUN_ACTOR","actorId":"themineworks/instahyre-jobs-scraper"}]}'
Full options, including time zones, run notifications and pausing, are in Apify's Schedules documentation.
Monitor mode: pay only for NEW jobs
Set monitorMode: true and the actor remembers what it delivered last time, keyed on job_id. On the next scheduled run, only genuinely new jobs are pushed and charged. Pairs directly with a daily schedule for a standing "what's new" feed with no duplicate charges.
Is scraping Instahyre legal?
This actor reads only the public job-search data Instahyre's own front end already serves to any visitor, through the same JSON endpoint the site calls. It does not access candidate search or any other authenticated area, and it does not attempt to bypass Cloudflare's protections on the site's HTML pages. If the results you pull include personal data, laws like the GDPR and CCPA may apply to how you store and use it, so collect only what you have a legitimate purpose for. This is general information, not legal advice, and you remain responsible for using the output in line with Instahyre's own terms and the law that applies to you.
FAQ
Is this scraping HTML? No. It reads the same public JSON endpoint Instahyre's own job-search page calls. No browser, no Cloudflare challenge to solve.
Why don't I get salary or a full job description? Instahyre does not publish either in its public search feed. Both only render on the individual job page, which requires passing the same Cloudflare check that blocks a plain scraper from that page entirely. This actor does not build a challenge-solving path around that, see "What are the limitations?" above.
Can I search by keyword or city?
Not server-side. Instahyre's API silently ignores those parameters. You can filter client-side on the skills/locations fields in the returned dataset, or use jobFunctionSlugs for a genuine server-side narrow.
How do I find valid jobFunctionSlugs values?
The actor resolves slugs against Instahyre's own live job-function list and warns on anything unrecognized, so a typo never fails silently.
Can I use it in an AI agent? Yes. It is exposed as an MCP tool. See the section below.
Can I use Instahyre Jobs Scraper through an MCP server? Yes. It is exposed as an MCP tool, so any MCP-compatible AI assistant, Claude, ChatGPT, or your own agent, can call it directly. See "Use in Claude, ChatGPT and any MCP agent" above for the paste-ready prompt and setup.
🤖 Use in Claude, ChatGPT and any MCP agent
Add it to Claude Code in one line:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=themineworks/instahyre-jobs-scraper"
Or point any MCP client at:
https://mcp.apify.com/?tools=themineworks/instahyre-jobs-scraper
Things an agent can ask for once connected:
- "Pull 100 backend-development jobs at large companies from Instahyre."
- "Show me which companies are hiring the most for data science roles right now."
- "Get internship listings on Instahyre and summarize which employers offer them."
Copy this into your AI assistant
Paste the line below into ChatGPT, Claude, or any assistant connected to Apify's MCP, and it will run the job for you:
Use the Apify actor themineworks/instahyre-jobs-scraper to pull the 40 most recent backend-development jobs at large companies. Return the results as a table.
Or call it programmatically with the Apify client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("themineworks/instahyre-jobs-scraper").call(run_input={"jobFunctionSlugs": ["backend-development"], "maxJobs": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
🛠️ Related job-market actors
Found the roles. Now cross-check and enrich them:
- Hirist Jobs Scraper: the sibling IT platform from the same recruiting group, with salary and a full description available.
- Naukri Jobs Scraper: cross-reference the same function against India's largest general-purpose job board.
- LinkedIn Company Scraper: profile the hiring company beyond the tagline and headcount included here.
- Recruiting & Jobs MCP: this actor and nine more job-market tools behind one MCP endpoint for AI agents.
Questions or need a custom field set? Reach out through the Apify profile.