Internshala Scraper — Internships & Fresher Jobs avatar

Internshala Scraper — Internships & Fresher Jobs

Pricing

from $0.89 / 1,000 job listings

Go to Apify Store
Internshala Scraper — Internships & Fresher Jobs

Internshala Scraper — Internships & Fresher Jobs

Scrape Internshala internships and fresher jobs by keyword, city, category, or start URLs — an Internshala API alternative. Export title, company, stipend or salary (INR), skills, duration, PPO flags, and apply URLs as JSON for campus hiring and recruiting.

Pricing

from $0.89 / 1,000 job listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Disclaimer: Unofficial tool for publicly accessible Internshala listings. Internshala and internshala.com are trademarks of their respective owners. Not affiliated with, sponsored by, or endorsed by Scholiverse Educare Pvt. Ltd. For informational, research, aggregation, and recruiting-intelligence use only. Respect applicable terms of use and law.

Internshala scraper for India’s campus and early-career board — a practical Internshala API alternative, Internshala internship scraper, and fresher jobs scraper. Search by keyword, city, category, work-from-home, stipend / salary, or paste search start URLs. Export title, company, location, stipend or CTC (INR), duration, skills, job-offer (PPO) flags, posted dates, and apply URLs as JSON, CSV, or Excel via fast HTTPno headless browser and no login. Scrape Internshala with Python, Node.js, cURL, or Apify MCP / AI assistants.

Ideal for campus hiring feeds, stipend benchmarking, fresher-job aggregation, PPO / pre-placement tracking, and India early-career recruiting intelligence across Bangalore, Mumbai, Delhi, Hyderabad, Pune, Chennai, and remote roles.

ActorFocus
Internshala Scraper ◄── you are hereInternshala internships & fresher jobs
Naukri Jobs ScraperIndia’s largest job board (Naukri.com)
Foundit Jobs ScraperFoundit.in / Monster India job listings
Glassdoor ScraperEmployer reviews, salaries, and jobs

When to use this Actor

  • You need an Internshala scraper / Internshala internship scraper / Internshala API alternative that returns structured JSON
  • You want internships, jobs, and fresher jobs from one Actor
  • You need parsed INR stipend / salary, skills, duration, and PPO / work-from-home flags
  • You want to scrape Internshala with Python, Node.js, or MCP and export a dataset
  • You run a daily monitor and only want new listing IDs billed

When not to use this Actor

  • Experienced / mid-career India jobs — use Naukri Jobs Scraper or Foundit Jobs Scraper
  • Guaranteed emails or phones — public listing cards rarely include direct contacts
  • Login-walled apply-form automation — public search data only
  • Historical archives — currently listed internships and jobs only

Key Features

  • Three Internshala boards — internships, jobs, fresher jobs, or internships + jobs in one run
  • Keyword + city + category — Internshala’s own SEO URL grammar (python-internship-in-bangalore), plus extra keyword/city fan-out
  • Start URL parsing — paste search pages or a single detail URL; WFH, stipend, duration, and PPO path filters map automatically
  • Server-side filters — work-from-home, part-time, min stipend, min salary, max duration, PPO / job offer, fast response, internships for women
  • Structured compensation — Indian numbering (₹ 5,00,000), /month vs /year vs lump sum, unpaid flag, LPA for jobs and PPO amounts
  • Optional detail enrichment — apply-by, start date, perks, openings, who-can-apply, about-company, full description
  • HTTP AJAX path — same JSON endpoint Internshala’s search UI uses (/internships_ajax/, /jobs_ajax/, /fresher-jobs_ajax/); 256–512 MB, no Playwright
  • Datacenter-friendly — no residential proxy required in testing (optional if you scale)
  • Monitor mode — named Key-Value store of seen listing IDs; later scheduled runs emit only new listings
  • Deduplicated listing IDs across pages, keywords, cities, and boards
  • MCP / AI ready — call from assistants via Apify MCP

Use Cases

Use caseWhat you get
Campus / internship feedsFresh Internshala internships into a board, newsletter, or student portal
Stipend benchmarkingParsed INR min/max by role × city × duration
Fresher hiring intelEntry-level jobs with CTC in INR and LPA when disclosed
PPO pipelinesInternships with a guaranteed job offer (pre-placement)
Skills demandRequired-skill arrays for Python, marketing, content, finance, and more
Daily “what’s new”monitorMode on a schedule — pay only for new listing IDs

Quick Start

Keyword + city internships:

{
"position": "python",
"location": "Bangalore",
"listingType": "internships",
"maxItems": 50,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Work-from-home internships with a stipend floor + details:

{
"position": "digital marketing",
"listingType": "internships",
"workFromHome": true,
"minStipend": 8000,
"includeDetails": true,
"maxItems": 100
}

Fresher jobs in a city:

{
"listingType": "fresher_jobs",
"location": "Bangalore",
"minSalary": 500000,
"maxItems": 80
}

Paste an Internshala search URL:

{
"startUrls": [
{ "url": "https://internshala.com/internships/python-internship-in-bangalore/" }
],
"maxItems": 100
}

Monitor only new listings:

{
"position": "content writing",
"workFromHome": true,
"maxItems": 200,
"monitorMode": true,
"monitorStoreName": "internshala-content-wfh"
}

Input Parameters

ParameterTypeDefaultDescription
listingTypeStringinternshipsinternships / jobs / fresher_jobs / internships_and_jobs
positionStringKeyword / role (e.g. python, digital marketing)
searchKeywordsArrayExtra keyword queries (merged, deduped)
categoryStringInternshala profile slug when keyword is empty
locationStringCity (comma-separated split into searches)
locationsArrayExtra cities
startUrlsArrayInternshala search or detail URLs
workFromHomeBooleanfalseRemote / WFH only
partTimeBooleanfalsePart-time only
minStipendIntegerInternship stipend floor, INR / month
minSalaryIntegerJob salary floor, INR / year
durationMaxMonthsIntegerInternship duration cap
withJobOfferBooleanfalsePPO / internship-with-job-offer
fastResponseBooleanfalseFast-response employers
forWomenBooleanfalseInternshala internships-for-women board
includeDetailsBooleanfalseFetch detail pages (extra request per listing)
maxItemsInteger100Max listings (0 = unlimited subject to maxPages)
maxPagesInteger20Pagination safety cap (max 100)
monitorModeBooleanfalseEmit only new listing IDs vs previous run
monitorStoreNameStringinternshala-monitorNamed KV store for seen IDs
resetMonitorStateBooleanfalseWipe the seen-listing cache
proxyConfigurationObjectoffOptional; IN residential if you hit blocks

Output Format

Each dataset item is one Internshala listing.

FieldTypeDescription
listingIdStringInternshala listing id
listingTypeStringinternship / job / fresher_job
urlStringListing detail / apply URL
titleStringRole title
employerStringCompany name
employerLogoUrlStringLogo URL when Internshala hosts one
locationStringCity text, or Work from home
workModeStringremote / hybrid / office when detected
isWorkFromHomeBooleanRemote flag
isPartTimeBooleanPart-time badge
isActivelyHiringBooleanActively hiring badge
hasJobOfferBooleanPPO / job offer after internship
jobOfferText / jobOfferLpaString / NumberRaw PPO label and parsed LPA
compensationTextStringRaw stipend or salary string
compensationMinInr / compensationMaxInrIntegerParsed INR
compensationUnitStringmonth / year / lump_sum / unpaid / performance
isUnpaidBooleanExplicit unpaid internships
salaryLakhsMin / salaryLakhsMaxNumberLPA when unit is year
durationText / durationMonthsString / IntegerInternship length
experienceText / experienceMinYears / experienceMaxYearsString / IntegerJobs only
skillsArraySkill labels from the card
descriptionStringCard snippet (full text when includeDetails is on)
postedText / postedDaysAgoString / IntegerRelative posting age
applyBy / startDate / perks / openings / whoCanApply / aboutCompanyDetail-page fields when enrichment is enabled
sourceStringAlways internshala

Example row:

{
"listingId": "3247413",
"listingType": "internship",
"title": "Data Analytics - Walk in interview",
"employer": "Deep Life Savers",
"location": "Secunderabad, Hyderabad (Hybrid)",
"workMode": "hybrid",
"isPartTime": true,
"isActivelyHiring": true,
"hasJobOffer": true,
"jobOfferLpa": 15.0,
"compensationText": "₹ 50,000 - 60,000 /month",
"compensationMinInr": 50000,
"compensationMaxInr": 60000,
"compensationUnit": "month",
"durationText": "2 Months",
"durationMonths": 2,
"skills": ["Python", "SQL", "Data Analytics", "MS-Excel"],
"postedText": "1 day ago",
"postedDaysAgo": 1,
"url": "https://internshala.com/internship/detail/data-analytics-internship-in-multiple-locations-at-deep-life-savers1787216646",
"source": "internshala"
}

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/internshala-scraper').call({
position: 'python',
location: 'Bangalore',
listingType: 'internships',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/internshala-scraper").call(
run_input={
"position": "python",
"location": "Bangalore",
"listingType": "internships",
"maxItems": 50,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("employer"), item.get("compensationText"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~internshala-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"position":"python","location":"Bangalore","listingType":"internships","maxItems":50}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/internshala-scraper.

Example prompts:

  • "Run Internshala Scraper for python internships in Bangalore, max 50, and return title, employer, compensationText, url as JSON"
  • "Scrape Internshala work-from-home digital marketing internships with stipend at least 8000 INR and summarize stipend bands"
  • "Pull Internshala python internships in Bangalore, then run Naukri Jobs Scraper for the same role to compare early-career vs experienced salary bands"
  • "Monitor Internshala content writing internships daily and return only new listing IDs"

Suite next step

Internshala is the campus / fresher layer of the India jobs suite. For the same Indian role on Naukri.com (experienced listings, CTC bands, AmbitionBox), run Naukri Jobs Scraper next. For Monster India / Foundit coverage, continue with Foundit Jobs Scraper.

FAQ

Is this an official Internshala API?
No. It calls the same public AJAX search the website uses (/internships_ajax/, /jobs_ajax/, /fresher-jobs_ajax/) and returns structured dataset rows — a practical Internshala API alternative for pipelines.

Does it work as an Internshala internship scraper and a fresher jobs scraper?
Yes. Set listingType to internships, jobs, fresher_jobs, or internships_and_jobs. One Actor covers all three Internshala boards.

Can I export CSV or Excel?
Yes. Download the default dataset as JSON, CSV, or Excel from Apify Console, or pull it via the API / MCP.

Can I paste an Internshala search URL?
Yes — startUrls accepts internship, job, fresher-job, and internships-for-women search pages, plus individual detail URLs. Path filters such as stipend, duration, and work-from-home map automatically.

Do I need an Internshala login?
No — public listing cards only.

Does it need a residential proxy?
Usually not. Internshala’s AJAX search is unauthenticated and worked over datacenter connections in testing. A proxyConfiguration input is still available if you scale up and start seeing blocks.

Internships vs jobs vs fresher jobs?
Internships use monthly stipend and duration. Jobs and fresher jobs use annual CTC and experience. Set listingType accordingly, or internships_and_jobs to cover both boards in one run.

How do I get apply-by dates and perks?
Set includeDetails: true. This fetches each listing page (one extra HTTP request per row).

What is monitor mode?
With monitorMode: true, seen listing IDs are stored in a named Key-Value store. The first run is the baseline (all matches are new). Later scheduled runs push and charge only IDs not seen before.

Python / Node.js / MCP?
Yes — use the Apify client examples above or Apify MCP prompts.

How many listings per search?
Internshala paginates about 40–50 cards per page. Use extra locations / searchKeywords or start URLs to cover more.

ActorFocus
Internshala Scraper ◄── you are hereInternshala internships & fresher jobs
Naukri Jobs ScraperNaukri.com India jobs
Foundit Jobs ScraperFoundit.in / Monster India jobs
Glassdoor ScraperReviews, salaries, interviews, jobs
Stepstone Jobs ScraperDACH job listings
Arbeitsagentur Jobs ScraperGermany BA Jobsuche