India Jobs API
Pricing
from $2.00 / 1,000 jobs
India Jobs API
One search across Foundit, Shine, Instahyre and Internshala, returned as one clean table with salaries in rupees and duplicates removed. Half a cent per search, a fifth of a cent per job.
Pricing
from $2.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Asgard Labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
India Jobs API – Foundit, Shine, Instahyre, Internshala
Give it job keywords and Indian cities. Get jobs from four Indian job boards at once, Foundit (formerly Monster India), Shine, Instahyre and Internshala, in one identical format: title, company, cities, experience range, salary in rupees per year, skills, employment type, posting date, apply link. The same posting on several boards is delivered once.
Run it again with only new on and you get only jobs not seen before. Schedule it daily and you have a job alert for any keyword and city.
Public search endpoints only. No login, no proxies, no browser.
India job data per posting
- id, provider, jobId, title, company, url, applyUrl
- location – raw text, cities (Bangalore and Bengaluru become one), remote, hybrid, country
- experience – min, max, text; salary – min, max in INR per year (lakh converted), text
- skills, employmentType, functions, industries, postedAt, postedText, extra (board-specific: recruiter contact on Shine, walk-in venue on Foundit, company size on Instahyre)
- query, isNew, firstSeenAt
Use cases
- Job boards and aggregators.
- Recruiters tracking a skill in a city.
- Career coaches.
- Market research on hiring and salaries.
Input
| Field | Default | Meaning |
|---|---|---|
keywords, locations | – | Every keyword × city combination is one search per board. Spelling and case variants count once. Leave locations empty for all of India. |
boards | all four | Any of foundit, shine, instahyre, internshala. |
maxJobsPerBoard | 100 | Per board per search. |
onlyNew | false | Only jobs not seen in earlier runs. The seen list lives in a key-value store per board and search. |
dedupeAcrossBoards | true | Deliver the same posting once when it appears on several boards. |
minExperience, maxExperience, minSalary, remoteOnly, excludeKeywords | – | Filters. Jobs hidden by a filter are not marked seen, so widening the filter later surfaces them as new. |
timeoutSecs | 300 | Time budget per board search. |
concurrency | 4 | Searches in parallel. |
stateStoreName | india-jobs-state | Where the seen list lives. Use a different name for a separate watchlist. |
Output example
{ "id": "shine:19381323", "provider": "shine", "title": "Senior Python Developer", "company": "Vontier","location": { "raw": "Bangalore, Chennai", "cities": ["Bengaluru", "Chennai"], "remote": false, "hybrid": false, "country": "IN" }, "remote": false,"experience": { "min": 5, "max": 9, "text": "5 to 9 Yrs" }, "salary": { "min": 700000, "max": 1200000, "currency": "INR", "period": "year", "text": "Rs 7 - 12 Lakh/Yr" },"skills": ["python", "django", "aws"], "employmentType": "Full time", "industries": ["IT Services & Consulting"],"postedAt": "2026-08-04T02:22:25.000Z", "url": "https://www.shine.com/jobs/…", "applyUrl": "https://…", "extra": { "expiresAt": "2026-10-02T00:00:00", "walkIn": false, "vacancies": 99 },"query": { "keyword": "python developer", "location": "bengaluru" }, "firstSeenAt": "2026-09-05T…", "isNew": true }
How to use
- Paste your keywords and cities into the input form. The example input is ready to run as is.
- Click Start. Rows appear in the Output tab as they are found.
- Download the table as CSV, JSON or Excel, or read it through the API.
- For monitoring, create a Schedule and switch on
onlyNew: later runs return only what changed, and only that is charged.
Pricing
Pay per event: search $0.005 per board search that answered, job $0.002 per job in the output. Four boards, one keyword and city, 100 jobs each is about $0.82. A daily onlyNew alert run is a few cents. Searches that fail are free.
Board notes
- Foundit: structured experience; salary and company are hidden on some postings.
- Shine: salary text, expiry date, sometimes recruiter contact. Its search service answers in about 30 seconds per page, so a Shine search is slow but complete.
- Instahyre: the public search does not publish experience, salary or posting date, so those fields are empty for this board. Keyword and city matching are done by the actor: the first keyword must appear in the title, or every keyword in title plus skills; only jobs in the requested city (or remote) are kept.
- Internshala: jobs and internships; salary is often "Competitive".
- Not covered: Naukri (blocks automated access), TimesJobs, NaukriGulf.
- Errors are in plain words:
timeout,blocked (403),rate limited (429),ENOTFOUND (domain not found). Stopping at your spend limit is safe: the seen list is not touched by a stopped run.
Use from code or an AI agent
Every run can be started and read through the Apify API, the JavaScript and Python clients, or an AI agent with tool access. Open the API tab on this page for ready-made snippets. Pricing is per event, so an agent pays only for what it receives.
FAQ
Is Naukri included? No. It blocks automated access. Foundit, Shine, Instahyre and Internshala are covered.
Why is salary missing on some jobs? Instahyre's public search has no salary, experience or date. Other boards return them when the posting states them. Salary is normalised to rupees per year.
Do city spellings matter? No. Bangalore and Bengaluru, Gurgaon and Gurugram, and case or spacing differences map to one search.
Can I get only new jobs each run?
Yes. Switch on onlyNew; job ids are remembered per board and query in your account.
Is there a remote filter?
Yes, remoteOnly keeps postings marked remote or work from home.