Indian Job Boards Scraper — Hirist, Internshala, Instahyre
Pricing
from $1.35 / 1,000 results
Indian Job Boards Scraper — Hirist, Internshala, Instahyre
Scrape Hirist, Internshala and Instahyre jobs and internships into one aligned row: full descriptions, salary and stipend as numbers, experience range, absolute posting dates, applicants, perks and company data. Keyword, city, remote, experience and date filters.
Pricing
from $1.35 / 1,000 results
Rating
0.0
(0)
Developer
Banea Teodor
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Indian Job Boards Scraper do?
Indian Job Boards Scraper searches three Indian job boards at once — Hirist (tech jobs, ~30,000 live), Internshala (internships and fresher jobs, ~7,000 internships + ~6,500 jobs) and Instahyre (tech jobs with company profiles, ~12,600 live) — and returns one aligned row per job: title, company, locations, experience range, salary or stipend as numbers, skills, the full job description (clean text and sanitised HTML), an absolute posting date, applicants, openings, apply-by date, perks and company data (AmbitionBox rating, size, founding year, industry). Search by keyword, city or remote, experience and posting date — or paste job page URLs. No login, no browser.
Why use this Actor?
- One schema for three boards. Every row has the same 57 fields whichever board it comes from; values a board does not publish are
nullor[], never missing keys. Load the output straight into one table. - Numbers, not strings. Salaries and stipends become
salaryMin/salaryMaxwithsalaryCurrencyandsalaryPeriod(Hirist "12-18 LPA" → 1,200,000-1,800,000 INR per year; Internshala "₹ 10,000 /month" → 10,000 per month), experience becomes years, applicants and openings are integers. - Absolute dates. Internshala shows "3 days ago"; the Actor reads the exact posting time. Hirist times are exact to the second.
- Full descriptions. The whole job description from the job page, plus Internshala's apply-by date, openings, start date, duration, perks, CTC breakup and employer track record, Hirist's applicant count and AmbitionBox company rating, and Instahyre's job functions and company profile.
- Filters that cost nothing. Keyword, city, experience and posting date are applied by the boards' own search wherever they exist, so you only pay for matching jobs.
- Fair split. "Maximum results" is shared equally between the boards you pick; when one board runs out of matches, the others fill its part.
How much does it cost?
You pay a small start fee per run plus a price per 1,000 jobs returned (see the Pricing tab; planned: $1.00 per 1,000 jobs + $0.005 per run). Platform usage and proxy are included.
| Run | Jobs | Cost at $1.00 / 1,000 |
|---|---|---|
| 30 "python" jobs from the three boards, last 7 days (the prefilled input) | 30 | ~$0.035 |
| 300 "data analyst" jobs in Bangalore with full details | 300 | ~$0.31 |
| Daily feed: every Internshala internship of one keyword posted in the last day (the whole keyword listing is checked, up to 60 pages) | ~20-100 | ~$0.03-0.11 |
| 5,000 Hirist jobs without details | 5,000 | ~$5.01 |
Turning off Include full job details makes runs several times faster (Hirist reads 100 jobs per request, Internshala 40-50). Internshala job pages are large and take a few seconds each.
Input
| Field | Description | Example |
|---|---|---|
boards | hirist, internshala, instahyre (default: all three) | ["hirist", "instahyre"] |
query | Skill, role or keyword. Empty = the newest jobs of each board | "python" |
location | Indian city or Remote / Work from home. Bengaluru, Gurugram, New Delhi, Bombay… are understood | "Bangalore" |
jobUrls | Job page URLs instead of a search (up to 1,000): Hirist https://www.hirist.tech/j/…-<id> or hirist:<id>; Internshala https://internshala.com/internship/detail/… or /job/detail/…; Instahyre https://www.instahyre.com/job-<id>-… or instahyre:<id> | ["instahyre:444586"] |
employmentType | any (default), job, internship | "internship" |
postedWithinDays | Jobs posted in the last N days (1-90) | 7 |
experienceMinYears / experienceMaxYears | Your experience range; jobs whose required range overlaps it | 2, 5 |
includeDetails | Open every job page for the full description and details (default on) | false |
maxResults | Jobs in total, shared between the boards (default 200; 0 = no limit, capped at 10,000 without any keyword, location or date filter; Instahyre is capped at 500 when neither a keyword nor an experience filter narrows it, because it ignores dates and locations) | 100 |
maxJobsPerBoard | Optional cap per board (0 = none) | 50 |
{"boards": ["hirist", "internshala", "instahyre"],"query": "data analyst","location": "Bangalore","postedWithinDays": 7,"maxResults": 100}
How the filters work on each board
| Filter | Hirist | Internshala | Instahyre |
|---|---|---|---|
| Keyword | Hirist search (ordered by relevance — the Actor reads all matches, up to 10,000, and delivers them newest first) | Internshala keyword listing | Instahyre skill search (a phrase without results is retried word by word) |
| Location | Hirist city filter (159 cities + Remote); unknown city → warning, no location filter | City listing / work-from-home listing | Filtered by the Actor (Instahyre has no location search) — it reads more pages per job delivered, at most 2,100 jobs scanned per run |
| Experience | Hirist range filter | Jobs: "at most N years" (maximum) | Instahyre experience filter (minimum) |
| Posted within | Hirist date filter + exact check | Exact check on the posting time. Keyword / city / remote listings mix several newest-first blocks, so they are read to the end (up to 60 pages, disclosed in the status); the plain listing stops after 4 pages in a row without a match | Not available — Instahyre publishes no posting dates (rows have postedAt: null); never counts as a filter for the 500-job cap |
| Employment type | Jobs only (internship runs say "Hirist lists jobs only — no internships") | Internships and/or jobs listings | Instahyre job type |
Keywords are matched by each board's own search, which is fuzzy and board-specific: "python" on Internshala also returns roles that merely list Python among many skills (e.g. robotics trainers), Hirist matches titles and skill tags, and Instahyre matches skill keywords. Expect some loosely related jobs, and filter on title or skills downstream when you need precision.
Output
One row per job. Every row has every field; missing values are null or [].
{"board": "internshala","jobId": "3319766","url": "https://internshala.com/internship/detail/sales-internship-in-bhopal-at-example-careers-private-limited1792392038","title": "Sales","designation": null,"companyName": "Example Careers Private Limited","companyId": "example-careers-private-limited-1597411295","companyLogoUrl": null,"companySize": null,"companyFoundedYear": null,"companyRating": null,"companyReviewsCount": null,"companyIndustry": "Education","companyHq": null,"companyWebsite": null,"employmentType": "internship","isInternship": true,"locations": ["Bhopal"],"isRemote": false,"experienceMinYears": 0,"experienceMaxYears": null,"salaryMin": 4000,"salaryMax": 10000,"salaryCurrency": "INR","salaryPeriod": "month","salaryText": "₹ 4,000 - 10,000 /month","skills": ["Effective Communication", "English Proficiency (Written)", "Interpersonal skills", "MS-Office"],"category": "Sales","descriptionText": "About the internship\nRoles & Responsibilities\n1. Visit schools, colleges, and other educational institutions…","descriptionHtml": "<h3>About the internship</h3>Roles & Responsibilities<br>1. Visit schools, colleges…","postedAt": "2026-10-19T06:40:38.000Z","applyBy": "2026-11-18","openings": 6,"applicantsCount": null,"applicantsText": "Be an early applicant","hasExpired": false,"stipendText": "₹ 4,000 - 10,000 /month","durationMonths": 2,"startDate": "immediately","perks": ["Certificate", "Job offer"],"ppoOfferText": "Job offer upto ₹ 3.5LPA post internship","fixedPay": "₹ 2,000 - 5,000 /month","variablePay": "₹ 2,000 - 5,000 /month","employerHiringSince": "2020-07","employerOpportunitiesPosted": 270,"employerCandidatesHired": 75,"activelyHiring": true,"companyTagline": null,"companyNote": "Example Careers Private Limited focuses on the overall development of students…","jobFunctions": [],"acceptsOutstation": null,"tags": [],"isPremium": null,"functionalArea": null,"detailsScraped": true,"searchQuery": "sales","scrapedAt": "2026-10-23T08:00:00.000Z"}
| Field | Notes |
|---|---|
board + jobId | The board and its job id. Use both together to deduplicate (ids are per board). The same job posted on two boards appears twice, once per board. |
salary* | In the board's unit: Hirist shows salaries as lakhs per annum on 2-5 % of jobs (converted to yearly INR); Internshala stipends are per month, job CTCs per year, and lump-sum stipends (paid once for the whole internship) have salaryPeriod: "total"; Instahyre publishes no salaries. Unpaid internships have salaryMin: 0. salaryText keeps the board's text. |
experienceMinYears / experienceMaxYears | Required experience in years. Internships have a minimum of 0. |
postedAt | ISO 8601 UTC. Instahyre publishes no posting date (null). |
applicantsCount | Applicants as an integer. When the board shows a floor ("1000+ applicants") the number is that floor (1000); applicantsText keeps the board's wording. |
functionalArea | Reserved: Hirist sends a functional-area id but does not publish its names, so it is null for now. |
hasExpired | true for closed jobs. Old Hirist jobs opened by URL are still delivered (with hasExpired: true) rather than reported as not found. |
company* | Hirist: AmbitionBox rating, reviews, size band, founding year, industry, HQ and description. Instahyre: exact employee count, founding year, tagline and note. Internshala: industry, website, description, hiring since, opportunities posted and candidates hired. Confidential Hirist jobs have no company. |
employmentType | full_time, part_time, internship or contract; null for Hirist (it does not say) and for Instahyre jobs without details. |
detailsScraped | false when Include full job details is off, or when a job page could not be read (the row then has the search-result fields and the job is listed in ERRORS). |
Fields that need the job page are empty with Include full job details off: descriptionText, descriptionHtml, applyBy, openings, applicantsCount (Hirist, Internshala), hasExpired, startDate, perks, fixedPay, variablePay, employer*, companyNote (Internshala), companySize / companyRating… (some Hirist companies), jobFunctions, category and experience (Instahyre).
The Actor never outputs recruiter names, designations, photos or profile links, even where a board sends them. Job descriptions are kept as the employer published them; some very old ads (e.g. Hirist jobs from 2012 opened by URL) contain the recruiter's contact details inside the ad text.
Problems
Jobs that could not be read — removed jobs, invalid URLs, jobs delivered without details, list pages that failed — are listed in the run's key-value store under ERRORS with the public job page and a reason. The run's status message shows the jobs per board and any shortfall.
Tips and tricks
- Complete listings vs. samples. A keyword search reads every Hirist match (up to 10,000) and delivers them newest first. Internshala listings are read in the board's order (blocks of new jobs with older promoted ones in between); with Posted within a keyword / city listing is checked to the end (up to 60 pages). Instahyre returns at most 10,000 jobs per search in its own order (the status says when that limit is reached); with a location the Actor checks at most 2,100 Instahyre jobs.
- Cheaper runs: turn off Include full job details when the title, company, location, salary and skills are enough.
- One board at a time for large exports:
"boards": ["hirist"]with"maxResults": 0and a keyword.
Scheduling
The Actor keeps nothing between runs. For a daily feed, schedule it with Posted within = 1 or 2 days (Hirist and Internshala) and de-duplicate downstream by board + jobId; a date-filtered Internshala keyword or city listing is checked page by page to the end (up to 60 pages), so no new job hidden behind older promoted ones is missed. Instahyre has no dates: schedule it with a keyword and a small Maximum results, and de-duplicate by id.
Integrations
Export the dataset as JSON, CSV or Excel, or connect it to Google Sheets, Zapier, Make, Slack or your own API client through the Apify integrations. Each run's dataset has an Overview view and one view per board.