Internshala Scraper API - Internships & Jobs in India
Pricing
from $0.34 / 1,000 posting returneds
Internshala Scraper API - Internships & Jobs in India
Scrape Internshala, India's biggest internship and fresher-job board: role, company, city, stipend with an honesty flag (range, fixed or unpaid), duration, apply-by date, openings, exact posted date, work-from-home flag and skills. No login. At $0.34 per 1,000 postings, the lowest price on Apify.
Pricing
from $0.34 / 1,000 posting returneds
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Internshala Scraper — internships and fresher jobs in India
Pulls live postings from Internshala, India's biggest internship and entry-level job board. No login, no cookies, no browser.
Every row comes back with the role, the company, the city, the stipend or salary with a flag saying what kind of figure it is, the duration, the apply-by date, the number of openings, the exact posted date, a work-from-home flag, the required skills, the perks and the eligibility rules.
On 2026-08-08 the site had 7,007 live internships and 8,663 live jobs. Both boards are reachable, in full, page by page.
What you get per posting
| Field | Example | Where it comes from |
|---|---|---|
title | Front End Development | listing card |
companyName, companyUrl, companyLogo | SciAstra Education Private Limited | card + posting page |
locations, locationLabel, region | ["Pune","Mumbai","Virar"], Maharashtra | card + posting page |
isWorkFromHome, isHybrid, isPartTime | true / false | card + employmentType |
stipendText | ₹ 12,000 - 17,000 /month | card |
stipendMin, stipendMax, stipendCurrency, stipendPeriod | 12000, 17000, INR, MONTH | parsed |
stipendType | range, fixed, unpaid, lump-sum, performance-based | parsed |
stipendIsEstimate | always false — see below | — |
durationText, durationMonths | 6 Months, 6 | card |
experienceText, experienceYears | 1 year(s), 1 | jobs board |
skills | ["HTML","React","Node.js"] | card + posting page |
postedRelative, postedAt, postedAtIsExact | 2 days ago, 2026-08-06, true | posting page JSON-LD |
applyByText, applyBy | 5 Sep' 26, 2026-09-05 | posting page |
openings | 3 | posting page |
startDateText, startsImmediately | Immediately, true | posting page |
perks | ["Certificate","Letter of recommendation","Job offer"] | posting page |
eligibility | ["are available for duration of 6 months", …] | posting page |
hasJobOfferAfterInternship, jobOfferText | true, Job offer upto ₹ 2.4LPA post internship | card |
industry, employmentType | Engineering, INTERN, FULL_TIME | posting page JSON-LD |
aboutCompany, descriptionText | full text | posting page |
url, id, type, countryCode | internship / job, IN | — |
Three real rows, copied out of live runs:
Mobile App Testing | Shreyans Industries | Bangalore | ₹ 5,000 /month (fixed)| 1 Month | posted 2026-08-06 | apply by 2026-09-05 | 5 openingsMeta Ads Executive | EMIAC Technologies | Jaipur | ₹ 2,00,000 - 2,40,000 /year (range)| job, 1 year(s) experience | posted 2026-08-01 | apply by 2026-08-31 | 2 openingsBackend Development | Pledge India Foundation | Work from home | Unpaid (unpaid)| 2 Weeks | posted 2026-08-07 | apply by 2026-09-06 | 20 openings
About the stipend — read this before you trust the number
Internshala mixes several kinds of pay, and a scraper that flattens them into one "stipend" column
is lying to you. Every row therefore carries stipendType.
Measured on two real runs of this actor on 2026-08-08 — 1,000 internships and 300 jobs:
stipendType | Internships (n=1,000) | Jobs (n=300) |
|---|---|---|
range (e.g. ₹ 12,000 - 17,000 /month) | 867 (86.7%) | 283 (94.3%) |
fixed (e.g. ₹ 5,000 /month) | 114 (11.4%) | 17 (5.7%) |
unpaid | 16 (1.6%) | 0 |
lump-sum | 2 (0.2%) | 0 |
performance-based | 1 (0.1%) | 0 |
| missing / not stated | 0 | 0 |
An independent 1,050-internship / 530-job sample taken the same day landed within 0.5 points of every one of those figures, so this is the shape of the board, not a lucky page.
Two things follow from that:
- Every posting states its own pay. There were no blanks in either sample. That is unusual for a job board and it is the main reason this data is worth having.
stipendIsEstimateisfalseon every row, and it always will be. Internshala publishes what the employer typed. It never invents a "salary estimate" the way some Western boards do, so there is no guessed figure hiding in this dataset. Filter onstipendTypewhen you need only hard numbers:rangeandfixedtogether are 98.2% of internships and 100% of jobs.
Note that a range is a range. stipendMin and stipendMax differ on 87% of internship rows, so
averaging stipendMin alone will understate the market.
Searching
You can drive it three ways, and mix them.
Keywords — searchQueries: ["python", "data science"]. Each one is walked separately.
Filters — category, city, work-from-home, part-time, minimum stipend, maximum duration, pre-placement offer, start date, women-only, international, early-applicant, fast-response. On the jobs board: minimum annual salary, experience band, fresher-only, and Internshala's "also show internships" toggle. They compose:
categories: ["computer science"], cities: ["bangalore","mumbai"],workFromHome: true, maxDurationMonths: 3, minStipend: 5000
Pasted URLs — startUrls accepts any Internshala listing page
(https://internshala.com/internships/work-from-home-computer-science-internships/) and any single
posting (https://internshala.com/internship/detail/...). Listing URLs are walked page by page from
wherever you pasted them.
Measured filter sizes on 2026-08-08, so you know what to expect:
| Filter | Result count |
|---|---|
| everything, internships | 7,007 |
| everything, jobs | 8,663 |
| work from home (internships) | 2,154 |
| work from home (jobs) | 1,456 |
| part time | 1,449 |
| with a job offer afterwards (PPO) | 1,223 |
| internships for women | 3,379 |
| international internships | 85 |
| fresher jobs | 4,179 |
| jobs paying ≥ ₹600,000/year | 2,281 |
keywords: python | 262 |
keywords: python + Bangalore | 163 |
Speed and limits
Real runs of this actor, all at the default 1,024 MB:
| Run | Rows | Wall time |
|---|---|---|
searchQueries: ["python"] | 5 | 5 s |
categories: ["computer science"] | 250 | 34 s |
listing: "jobs" | 300 | 47 s |
listing: "both" | 1,000 | 107 s |
cities: ["bangalore"], details off | 200 | 19 s |
- A listing page is one request and returns 40–50 postings. Measured 430 ms per page from the plain Apify container address; 60 pages in a row took 29.6 s and produced 2,400 rows with zero failures and no rate limiting.
- With Open each posting on (the default), each posting costs one extra request, measured at
84 ms per posting at concurrency 10. That is where
applyBy,openings, the exactpostedAt,startDateText,perks,eligibility,regionand the full description come from. - A single search runs out at Internshala's own last page. The unfiltered internships board ends at page 176 (7,007 rows) and returns an empty page after that — there is no hidden ceiling and no silent row clamp. To go wider, use several keywords, cities or categories.
Field coverage, measured
From the 1,000-internship run and the 300-job run, percentage of rows where the field is filled:
| Field | Internships | Jobs |
|---|---|---|
title, companyName, companyUrl, locationLabel, stipendText, stipendMin/Max, skills, descriptionText, url, openings, startDateText, postedAt | 100% | 100% |
durationText | 100% | 12% (jobs rarely have one) |
experienceText | 0% (internships have none) | 100% |
applyBy | 100% | 83% |
applyByText (Internshala's 5 Sep' 26 wording) | 100% | 0% — the jobs board does not print it |
postedAtIsExact | 83% | 83% |
region, industry, employmentType, aboutCompany | 83% | 83% |
eligibility | 83% | 78% |
perks | 78% | 51% |
companyWebsite | 52% | 50% |
jobOfferText (post-internship offer) | 16% | 0% — jobs have no PPO |
What this does not do
- No applicant counts, no employer contact details, no candidate data. Internshala hides those behind a student login and this actor never logs in.
- Multi-city postings carry no JSON-LD. Internshala only emits structured data for
single-location postings, so 17% of rows (169 of 1,000 internships, 52 of 300 jobs — always
the "in multiple locations" ones) come back with
postedAtIsExact: false, and withregion,industry,employmentTypeandisPartTimenull. Everything else on those rows, includingapplyByandopenings, is read out of the HTML and is still there. companyWebsiteis missing about half the time. It only exists when the employer filled it in. It is emitted when it is there and leftnullwhen it is not — never guessed.- No expired postings. Internshala takes a posting down once its apply-by date passes; a pasted URL for a dead posting returns an uncharged diagnostic row, not a charge.
- India only (plus the 85 international internships Internshala itself lists).
- Posted dates without the detail pass are approximate. With Open each posting off, the
board only says "2 days ago", so
postedAtis derived from that andpostedAtIsExactisfalseon every row.
Price
$0.0005 to start a run, then $0.34 per 1,000 postings. That is the cheapest of the 13 Internshala scrapers on the Apify Store as of 2026-08-08; the next cheapest is $0.40 per 1,000 and the rest run from $1.00 to $5.00. The start fee matches the cheapest rival's exactly, so this actor is cheaper at every run size, not just at large ones.
Sample rows, diagnostic rows, failed requests and empty searches are all uncharged. One charge per genuine posting, and nothing else. A run that returns nothing costs you the start fee alone.
FAQ
Is there an Internshala API?
Not a public one. Internshala paginates its own listings over XHR — internships_ajax and
jobs_ajax — and that is what this actor reads. It is the same data the website shows you, in JSON,
without rendering a browser.
Do I need an Internshala account or a login? No. Every request in this actor is anonymous.
Can I scrape Internshala internships by city?
Yes. cities: ["bangalore","delhi"] combines cities with OR, and it composes with category,
work-from-home and every other filter.
Can I get remote / work-from-home internships only?
Yes — workFromHome: true. 2,154 of the 7,007 live internships were work-from-home on 2026-08-08.
Does it return the stipend? Yes, on every row, and it says what kind of figure it is. 87% of internships quote a range, 11% a fixed monthly amount, 1.5% are unpaid. Nothing is estimated.
How do I get the application deadline?
applyBy (ISO date) and applyByText (Internshala's own 5 Sep' 26 wording). Both need
Open each posting to be on, which it is by default.
How many results can I get from one run?
As many as the search has. A 1,000-row run finished in 107 seconds. The whole internships board —
7,007 rows — is reachable in one run; maxItems is the only cap, and it goes to 20,000.
What does it cost? $0.0005 per run plus $0.34 per 1,000 postings — the cheapest Internshala scraper on the Apify Store on 2026-08-08, against a field of 13 where the next cheapest is $0.40 and most are $1 to $5.
Does it work outside India? Yes. The actor runs from Apify's own network and Internshala serves the same board regardless. An Indian residential exit and a US datacenter address were compared side by side and returned the same 40 postings, in the same order, with the same 7,007 total.
What is the difference between the internships board and the jobs board?
Internships are short placements with a monthly stipend and a duration. Jobs are full-time
fresher/early-career roles with an annual salary and an experience requirement. Set
listing: "both" to walk both; every row carries a type field.