Instahyre Jobs Scraper | India Tech Jobs API with Descriptions avatar

Instahyre Jobs Scraper | India Tech Jobs API with Descriptions

Pricing

from $0.56 / 1,000 jobs

Go to Apify Store
Instahyre Jobs Scraper | India Tech Jobs API with Descriptions

Instahyre Jobs Scraper | India Tech Jobs API with Descriptions

$0.80 per 1,000 jobs, full description included | Scrape Instahyre India tech jobs by skill, city, experience, company and company size. Only-new mode + skipJobIds for daily schedules. JSON API, no login, no proxy.

Pricing

from $0.56 / 1,000 jobs

Rating

0.0

(0)

Developer

Daemon Data

Daemon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Instahyre Jobs Scraper | India Tech Jobs API with Full Descriptions

Instahyre Jobs Scraper is a pay-per-result Apify Actor that returns Instahyre job listings (the hiring platform Indian product companies and startups use for engineering, data, product and design roles) as JSON, CSV or Excel. It is for tech recruiters and staffing agencies, job aggregators, B2B sales teams that track startup hiring, workforce analysts and job-alert builders. Each row has the full job description (HTML and plain text), experience range, skills, job functions, posting date and the company profile (headcount, founding year, tagline, website, logo); filters cover skill or role, city, experience, company and company size. Price: $0.80 per 1,000 jobs with the description included, plus $0.001 per run; no login, cookies, proxy or browser. On 21 October 2026 Instahyre listed 12,743 open tech jobs, 6,764 of them in Bangalore and 1,095 work from home; python matched 4,300.

$0.80 per 1,000 jobs, full description included, plus $0.001 per run. No login, cookies, proxy or browser: the Actor reads the JSON API behind the Instahyre website and the public job pages. Apify's free plan ($5 credit every month) covers about 6,000 jobs with full descriptions. Built for schedules: switch on Only new jobs since the last run and a daily run returns, and charges for, only the jobs you have not received before. Jobs you already have can also be passed in skipJobIds.

Live check, 21 Oct 2026: python matched 4,300 open Instahyre jobs (2,600 in Bangalore), react 1,600, data science 8,000 (title and skill-tag matching is broad), devops work-from-home 134. A 50-job run with descriptions takes well under a minute on the Apify platform and costs $0.04 plus the $0.001 start fee.

Who buys Instahyre data, and what for

You areWhat this Actor gives you
Tech recruiters and staffing agenciesA daily list of new openings by skill, city, experience band and company size, with the hiring company's headcount and founding year, so you know which startups and product companies are hiring right now.
Job aggregators and HR-tech productsInstahyre as a source with stable job IDs (dedupKey), full JD text, de-duplication across keywords and runs, and an API you can call on a schedule. Same conventions as the IIMJobs, Hirist and Foundit Actors by the same publisher.
B2B sales and lead generationA company hiring five backend engineers is buying cloud, tooling and services. Each row carries the company name, size, tagline, website and logo.
Workforce and market analystsDemand by skill, city, experience band and company size over time; share of remote roles; which skills large companies ask for versus startups.
Candidates and job-alert buildersYour own alert for golang jobs at small companies in Bangalore, delivered to a sheet, Slack or email the moment they appear.
AI agents (MCP)Ask Claude or ChatGPT "new Python jobs in Hyderabad at startups posted this week" and let it call this Actor through Apify's MCP server.

Quick start (about a minute)

  1. Click Try for free. The form is pre-filled with python.
  2. Optionally add skills or roles (react, data science, product management), cities (Bangalore, Hyderabad, Work From Home), a company size and Posted within (days) = 30.
  3. Click Start. 50 jobs with full descriptions take well under a minute and cost $0.04.
  4. Download the results as JSON, CSV or Excel, or save the input as a task, tick Only new jobs since the last run and schedule it daily to get a fresh feed in Google Sheets, a webhook, Make, Zapier or n8n.

From code (returns the jobs in one call):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~instahyre-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": ["python"], "locations": ["Bangalore"], "companySizes": ["small", "medium"], "maxJobs": 100}'

From an AI assistant: add the MCP connector https://mcp.apify.com/?tools=data_daemon/instahyre-jobs-scraper in Claude, ChatGPT, Cursor or VS Code.

Need other India boards too? IIMJobs Jobs Scraper, Hirist.tech Jobs Scraper and Foundit Jobs Scraper by the same publisher use the same queries / locations / onlyNewSinceLastRun / skipJobIds / RUN-SUMMARY conventions, so one pipeline handles all four boards.

Input

{
"queries": ["python", "golang"],
"locations": ["Bangalore", "Work From Home"],
"companySizes": ["small", "medium"],
"minExperience": 2,
"maxExperience": 6,
"postedWithinDays": 30,
"includeDescription": true,
"maxJobsPerQuery": 50
}
FieldTypeDescription
queriesarraySkills or roles, one Instahyre search per item, matched against job titles and skill tags (python, react, data science, java developer). A job found by two keywords is saved and charged once. Required; skills, query, keywords and search are accepted as aliases.
locationsarrayOptional cities as Instahyre lists them: Bangalore, Mumbai, Delhi, Gurgaon, Noida, Hyderabad, Chennai, Pune, Kolkata, Ahmedabad, Work From Home; regions (South India) and about 300 smaller cities also work. Several cities = any of them. Applied by the site. Bengaluru, Gurugram, Bombay, New Delhi and Remote are mapped; an unknown name is ignored and reported in the status message.
companySizesarrayAny of small (under 100 employees), medium (100-1,000), large (over 1,000). Applied by the site.
companiesarrayOnly jobs posted by these companies (Amazon, Deutsche Telekom Digital Labs). With an empty keyword list this watches everything a company posts.
jobTypestringall (default), full-time or internship.
experienceYearsintegerInstahyre's own filter: jobs open to a candidate with exactly this many years. Applied by the site, so nothing outside it is fetched.
minExperience / maxExperienceintegerExperience band in years (0-30), overlap semantics: a 3-6 year job matches minExperience: 5. Read from each job page; jobs that state no range are kept.
postedWithinDaysintegerOnly jobs posted in the last N days (1-365). Instahyre keeps jobs open for months and its search has no date filter, so the Actor reads the posting date from each job page and leaves out older jobs without charging; in only-new mode those are remembered too, so later runs do not re-check them.
includeDescriptionbooleanFetch the public job page for each job (default true, one extra request per job, same price): full description, posting date, experience range, employment type, job functions and company website. Off = listing fields only (title, company profile, cities, skills, URL), about three times as fast.
maxJobsPerQueryintegerStop a keyword after this many new jobs (default 50). The site serves 35 jobs per page, so 1,000 jobs are about 29 search requests.
maxJobsintegerHard cap on saved jobs for the whole run (0 = no cap).
onlyNewSinceLastRunbooleanDeliver only jobs that an earlier run with the same stateName has not delivered; skipped jobs are not charged (default false).
stateNamestringName of this saved search's memory for onlyNewSinceLastRun. Derived from the keywords, cities and filters when empty. Use a new name to start over.
skipJobIdsarrayJob ids you already have, as an array of strings or numbers. Skipped before any page fetch and never charged. Large arrays are fine.
proxyConfigurationobjectOptional (Advanced). Instahyre answers Apify's datacenter IPs directly, so none is needed.

Bad input never fails the run: unknown fields are ignored with a warning, a reversed experience range is swapped, an unknown city is dropped and named in the status message, a keyword with no matches ends with Saved 0 jobs, and an empty keyword list with a city, company or size filter still searches that filter.

Output

One record per job. Example from a real run on 21 Oct 2026 (description shortened):

{
"id": 446412,
"dedupKey": "instahyre:446412",
"url": "https://www.instahyre.com/job-446412-python-engineer-at-nineleaps-2-bangalore-hyderabad/",
"applyUrl": "https://www.instahyre.com/job-446412-python-engineer-at-nineleaps-2-bangalore-hyderabad/",
"title": "Python Engineer",
"company": {
"id": 5003,
"name": "Nineleaps",
"tagline": "We build high performance solutions",
"about": "Nineleaps are enablers of Digital Transformation across industries, helping partner companies become future ready…",
"founded": 2014,
"employeeCount": 200,
"size": "medium",
"logo": "https://media.instahyre.com/images/profile/base/employer/5003/dcac758458/nineleaps.webp",
"website": "https://www.nineleaps.com/",
"featured": false,
"diversityEmployer": false
},
"locations": ["Bangalore", "Hyderabad"],
"remote": false,
"acceptsOutstation": true,
"experienceMinYears": 2,
"experienceMaxYears": 4,
"employmentType": "FULL_TIME",
"skills": ["FastAPI", "MySQL", "PostgreSQL", "Python", "SQL"],
"functions": ["Backend Development", "Full-Stack Development", "Other Software Development"],
"postedAt": "2026-10-09T00:00:00.000Z",
"descriptionHtml": "<p><strong>Responsibilities: </strong></p><ul><li>Backend Development: Design, develop, and maintain robust, scalable…",
"description": "Responsibilities:\nBackend Development: Design, develop, and maintain robust, scalable, and high-performance backend systems using Python and FastAPI…",
"query": "python",
"scrapedAt": "2026-10-21T05:42:36.132Z"
}
FieldNotes
id, dedupKey, url, applyUrlInstahyre job id, a stable instahyre:<id> key for your own de-duplication, and the public job page (applications go through Instahyre, so applyUrl is the same page).
title, skillsAs tagged by the employer; skills is Instahyre's skill-tag list for the job.
company.*name, tagline, about (Instahyre's own note on the company), founded, employeeCount with a size band (small under 100, medium 100-1,000, large over 1,000), logo, website, and the site's featured / diversityEmployer badges.
locations, remote, acceptsOutstationCity names as Instahyre spells them (Work From Home for remote roles, with remote: true), and whether the employer considers candidates from other cities.
experienceMinYears, experienceMaxYears, employmentType, functionsFrom the job page: the stated experience band, FULL_TIME or INTERN, and Instahyre's job-function tags (Backend Development, Data Science / Machine Learning, …).
postedAtPosting date from the job page (day precision, as ISO midnight UTC). null when includeDescription is off.
descriptionHtml, descriptionFull JD as HTML and plain text (includeDescription: true); null when the page has none.
query, scrapedAtThe keyword that found the job and the collection time.

Recruiter names shown on job pages are not output. Download as JSON, CSV, Excel, or push to Google Sheets, webhooks and other Apify integrations. Field names are stable; new fields are only added, so your Sheets, Zapier or Make mappings keep working.

Scheduling & automation

The heavy users of this Actor run it on a schedule with a short keyword list and a city or company-size filter, and let the Actor remember what it has already delivered.

Recipe: skills × cities, only new jobs, every morning

{
"queries": ["python", "golang", "node.js"],
"locations": ["Bangalore", "Hyderabad", "Work From Home"],
"companySizes": ["small", "medium"],
"onlyNewSinceLastRun": true,
"stateName": "backend-startups-daily",
"maxJobsPerQuery": 500
}
  1. Paste the input, click Save as task, then Schedules → Create schedule → Daily (for example 0 8 * * *, 08:00 IST) and add the task.
  2. The first run delivers every matching job (set maxJobsPerQuery high enough to take the whole list, or add postedWithinDays to start from recent postings only). Every later run delivers only the jobs that were not delivered before, and skipped jobs are not charged. The memory lives in a key-value store named instahyre-jobs-state in your own Apify account, one record per stateName, and forgets ids after 120 days.
  3. Give each saved search its own stateName (or leave it empty and the Actor derives one from the keywords, cities and filters). Change the name to start over.
  4. Already de-duplicating on your side? Pass the ids you have in skipJobIds instead; they are skipped before any page fetch and never charged.

Where the results go

  • Integrations tab of the task: Google Sheets (append rows), Slack or email (a message per run), or a webhook to your backend when the run finishes.
  • Make, Zapier, n8n: use the Apify module/node with the task id, or poll the dataset with the API call below.
  • Every run writes a RUN-SUMMARY record to its key-value store: keywords, jobs found, new, filtered, skipped (already delivered / skipJobIds) and charged counts, so a webhook consumer can decide what to do without opening the dataset.

Synchronous API call (waits for the run and returns the new jobs):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~instahyre-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries": ["python"], "locations": ["Bangalore"], "onlyNewSinceLastRun": true, "stateName": "python-blr-daily", "maxJobsPerQuery": 500}'

Pricing and what a month costs

Pay per event. Platform compute is included; the Actor runs in 512 MB, so the start fee is always a single event.

EventPriceWhen it is charged
Job$0.0008Each job saved to your dataset, full description included
Actor start$0.001Once per run

That is $0.80 per 1,000 jobs with full descriptions. Jobs skipped by Only new jobs since the last run, skipJobIds, de-duplication across keywords or your date and experience filters are never charged.

Plan discounts: prices above are for the Free and Starter plans; Scale plans pay 15% less ($0.68 per 1,000) and Business plans 30% less ($0.56 per 1,000).

How teams use itVolume (measured 21 Oct 2026)Cost
Quick look: 50 python jobs with descriptions50 jobs, 1 run$0.041
One-off export: every open react job in Bangaloreabout 900 jobs, 1 run$0.72
Full export of one skill: all open python jobs in Indiaabout 4,300 jobs, 1 run$3.44
Daily feed, only new jobs: golang at small companiesabout 200 jobs on the first run, then a few a dayabout $0.25 a month after the first run
Daily feed, only new jobs: 10 skills × 3 cities, about 60 new jobs a day1,800 jobs, 30 runsabout $1.50 a month

Apify's free plan includes $5 of usage a month: about 6,000 jobs with descriptions, enough for a trial and several small daily feeds.

Tips

  • Keyword matching is broad (titles and skill tags), so data science also returns data-engineering roles; add companySizes, experienceYears or a city to narrow it before you raise maxJobsPerQuery.
  • experienceYears, companySizes, companies, jobType and locations are applied by the site before anything is fetched, so they make runs fast and cheap; postedWithinDays and the experience band are checked on each job page.
  • Set includeDescription: false when you only need titles, companies, cities and skills; it makes a run about three times as fast.
  • maxExperience: 1 is a good early-career filter; jobType: "internship" lists the internships (a few dozen at any time).
  • Set a maximum cost per run on the task; the Actor stops cleanly at the limit and says so in the status message.

FAQ

How much does it cost to scrape Instahyre?

$0.0008 per job with its full description plus $0.001 per run, so 100 jobs cost about $0.08 and a 50-jobs-a-day feed about $1.25 a month.

Is there an official Instahyre API?

No public one. This Actor reads the JSON that the Instahyre website itself loads for its job search, plus the public job pages, and exposes them as a REST API with schedules, webhooks and only-new-jobs runs.

Does it return the full job description?

Yes, as HTML and plain text, plus the experience range, posting date, job functions, skills and the company profile with headcount, founding year and website.

Why is the posting date old on many jobs?

Instahyre keeps a job open until the employer closes it, so a feed without postedWithinDays includes jobs posted months ago. Use postedWithinDays for recent postings, or only-new mode, which after the first run delivers only jobs that are new on the site.

Does it include salaries or applicant counts?

No. Instahyre does not publish salary ranges or applicant counts on public job pages, and this Actor only reads public data.

Why does a city return nothing?

The site only accepts the location names it lists; the Actor maps the common alternative spellings and names any location it had to ignore in the status message. Use Bangalore, Delhi, Gurgaon, Noida, Mumbai, Hyderabad, Chennai, Pune, Kolkata, Ahmedabad or Work From Home.

Do I need a proxy or login?

No.

Support

Found a bug or need another field or filter? Open an issue on the Issues tab; issues are usually answered within a day. Custom variants of this Actor are available on request.

A quick review on the actor page helps other users find it.

Disclaimer

This Actor collects publicly available job listings for informational purposes and deliberately leaves out recruiters' personal details. Respect the source website's terms of use and applicable data-protection laws when using the data.