Instahyre Scraper - India Tech Jobs & Company Data avatar

Instahyre Scraper - India Tech Jobs & Company Data

Pricing

from $1.46 / 1,000 job returneds

Go to Apify Store
Instahyre Scraper - India Tech Jobs & Company Data

Instahyre Scraper - India Tech Jobs & Company Data

Every job on Instahyre with the hiring company attached: company size, founding year, Instahyre’s own note about the company, locations and the skills each posting asks for. A rejected filter or a rate limit comes back as its own row and is never charged. Unofficial, not affiliated with Instahyre.

Pricing

from $1.46 / 1,000 job returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 hours ago

Last modified

Share

Pull jobs from Instahyre with the hiring company attached: how many people the company has, what year it was founded, Instahyre's own note about the company, the locations, and the exact skills each posting asks for.

Unofficial. This Actor is not affiliated with, endorsed by, or sponsored by Instahyre. All product names are trademarks of their respective owners.

No API key. Reads Instahyre's own public job feed.


Why this one is different

It does not pretend to filter by things Instahyre cannot filter

Measured on 2026-09-03 against the live API: sending location, city, company_size, experience or min_experience changes nothing - the total stays at 13,844 jobs. The request answers HTTP 200 and quietly ignores what you asked for.

Only job_functions actually filters (id 10 narrows 13,844 → 3,869). So this Actor offers only that. A location field would look better on the input form and would be a lie.

A filter Instahyre rejects tells you so, and is not charged

An unknown job function id makes the API answer HTTP 400. You get one row naming the ids that do work:

10 = Backend Development 1 = Full-Stack Development
9 = Data Science / ML 76 = Other Software Development

That row is not charged. The run does not fall back to "all jobs" and let you think you filtered.

You are not charged for jobs you did not ask for

Instahyre answers with 35 jobs per request no matter what limit is set to (asking for 10 still returns 35). This Actor cuts the last page down to your maxJobs, so asking for 40 jobs charges 40 events - not 70.

The rate limit is handled, and told to you when it bites

Measured: about 20 requests in quick succession returns HTTP 429, clearing after roughly an hour. With the Apify residential proxy on (default), sessions rotate so larger runs finish - measured on 2026-09-03: 300 jobs in 9 requests, 17 seconds, no 429, no duplicate ids. If a run is still cut short, you get a row saying how many jobs were returned before it happened - and that row is not charged.

Nothing is invented

Instahyre's job feed carries no salary, no years of experience and no posted date - the detail endpoint returns the same 14 fields as the list. So those columns do not exist in the output. Empty columns that look like data are worse than no columns.


Input

FieldTypeDefaultDescription
jobFunctionsarray[] (all)Instahyre job function ids. Several are combined as a union (10 + 1 = 4,900 jobs)
maxJobsinteger351-1000. One job = one row = one charged event
useProxybooleantrueRotates the session so bigger runs are not cut off by the rate limit
keywordsarrayKeep only jobs containing one of these words
keywordMatchstringanyany or all
excludeKeywordsarrayDrop jobs containing one of these
companyNamesarrayKeep only these companies (partial match)
postedWithinDaysinteger00 = no limit. An unreadable date is kept
monitoringModebooleanfalseReturn only jobs not returned on a previous run
resetMonitoringStatebooleanfalseOne-shot: forget what was already returned

Filters are applied before you are charged

The filters narrow the jobs already read - nothing extra is fetched from Instahyre - and a job that does not match is never delivered and never charged. If the search returns jobs but none match your filters you get one unpaid row saying exactly that (no-filter-match), so you can tell "the filter was too tight" apart from "there is nothing there".

There is deliberately no salary filter: Instahyre's public search does not publish a salary, and a filter over a field that is always empty would be a filter that silently drops everything.

Monitoring mode turns this into a daily feed

Schedule it with monitoringMode: true and each run reads the newest jobs and returns only the ones it has not returned before. Jobs read but filtered out are remembered too, so changing a filter later does not resurrect them as false "new" postings.

The minimal call is an empty input: 35 jobs from the whole board.


Output columns

ColumnExample
jobId434743
urlthe public job page
titleSenior Business Consultant (Life Insurance)
companyInfosys BPM
companyTaglineReboot, reconnect, revive
companyFounded2002
companyEmployeeCount1000
companyNoteInstahyre's own description of the company
companyLogoimage URL
locationsPune
skills["Business Analyst", "JIRA", "SQL", ...]
acceptsOutstationtrue
status / noteonly on rows that carry no job, with the reason
scrapedAtISO timestamp of the fetch

Measured, not estimated

Checked against the live API on 2026-09-03, not read off documentation:

  • 13,844 jobs in the feed (meta.total_count).
  • limit is ignored: 10, 35, 50 and 100 all return exactly 35 rows.
  • Only job_functions filters: id 10 → 3,869 · id 1 → 1,890 · ids 10+1 → 4,900 (a union, not a sum).
  • Unknown ids return HTTP 400, they are not silently ignored.
  • Rate limit: 300 ms apart, the 20th request returned HTTP 429; it had cleared about 80 minutes later.
  • https://www.instahyre.com/robots.txt is 62 bytes and contains no Disallow rules at all.

The Actor ships with 9 checks run against a saved copy of the real API response, and a mutation suite of 14 deliberate breakages - all 14 are caught.


Typical uses

  • Build a live picture of who is hiring in Indian tech, with company size attached to every role.
  • Track which skills a function is asking for right now (the skills array is the posting's own list).
  • Feed a recruiter workflow or a job board with fresh roles and the company context already joined.
  • Compare hiring volume between functions - Backend vs Data Science vs Full-Stack - from the counts the API returns.

Notes and limits

  • Instahyre is an Indian tech hiring platform. Roles and companies are India-based.
  • There is no salary, experience or posted-date field in Instahyre's feed. See above - they are not invented here.
  • acceptsOutstation is Instahyre's own flag for whether the employer considers candidates from other cities.

Other tools by NeverEmpty

Support

Found a row that looks wrong? Open an issue on the Actor page with the url from the row.