Internshala has no public API. Here is the one we use

688 words ~3 min read Updated 2026-08-24

There is no public Internshala API. The data lives on the page and nowhere else. Anyone who needs that data in bulk has to write a scraper, maintain it, and watch for breakage.

Here is what our Internshala Actor returns, what it costs, and where its limits are.

Calling it as an API

Start a run and wait for the dataset with one call:

curl -X POST "https://api.apify.com/v2/acts/blackfalcondata~internshala-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
 -H 'Content-Type: application/json' \
 -d '{"listingType": "..."}'

The Python version looks like this:

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("blackfalcondata~internshala-scraper").call(run_input={"listingType": "..."})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
 print(item)

What comes back

Each record contains 65 fields, split across several groups:

Here is a real record from a run, trimmed to its first fields:

{
 "jobId": "59db134543d36eebaa2ece379f79dd87c4462de58167ea8c452b8a60f53dbfdc",
 "jobKey": "3232934",
 "listingType": "internship",
 "title": "Front End Development",
 "company": "Synergy Labs",
 "companyLogo": "/static/images/search/placeholder_logo.svg",
 "companyUrl": null,
 "location": "Panipat, Panipat Sub-District",
 "isWorkFromHome": false,
 "isPartTime": false,
 "workMode": "onsite",
 "inOfficeDaysPerWeek": null,
 "category": null,
 "skills": [
 "HTML",
 "CSS",
 "JavaScript",
 "... +2"
 ]
}

What you give it

The input accepts 40 options, including listingType, query, category, location, workFromHome, partTime, durationMonths, withJobOffer, fastResponse, earlyApplicant, and more. Filters run server-side. You pay for the records you requested instead of fetching everything and filtering afterwards.

Coverage is India. The country field takes IN and defaults to IN. Each run is limited to one market before any records are produced, so data outside that market is neither fetched nor billed.

What it costs

Pricing is per event, with no subscription:

These figures come from a measured run, not an estimate:

Where it stops

Practical details

Official API availability

Internshala does not offer an official public API for this data. It publishes the data on its pages, so every option here involves reading those pages.

Authentication

Authenticate with an Apify API token, either through ?token= or an Authorization: Bearer header. The token belongs to you, not us. It is the only credential involved, and no separate account on the source site is required.

Call duration

The measured run returned 80 records in 7.7 seconds. run-sync-get-dataset-items keeps the connection open for the entire run. For larger runs, start the run and poll the dataset instead.

Reading results in chunks

Runs use maxResults rather than paginated responses: request a number of records and receive one dataset. If you want to read that dataset in chunks, its endpoint accepts offset and limit.

Output formats

Results come back as JSON by default. The dataset endpoint can also serve CSV, XLSX and JSONL from the same run by changing the format parameter. No separate export step is needed.

Try it

our hosted Internshala API runs on Apify. The endpoint above is the entire integration. New accounts receive $5 of free platform credit each month, enough to cover a real run of this size several times over.

Disclosure: we build and maintain this Actor, and the link above is an affiliate link.

Further reading

Also published on