Internshala Scraper | Internships & Jobs, 24 Fields avatar

Internshala Scraper | Internships & Jobs, 24 Fields

Pricing

from $1.20 / 1,000 listing scrapeds

Go to Apify Store
Internshala Scraper | Internships & Jobs, 24 Fields

Internshala Scraper | Internships & Jobs, 24 Fields

Scrape Internshala.com internships and fresher jobs: title, company, stipend/salary, duration, skills, location, work-from-home. Filter by keyword, category, city, stipend and duration. No login, no browser, pay per listing. Use it as an MCP server in Claude, ChatGPT & any AI agent.

Pricing

from $1.20 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

144

Total users

51

Monthly active users

4 days ago

Last modified

Share

๐ŸŽ“ Internshala Scraper: Internships, Fresher Jobs & Stipends ยท From $1.20/1k

What does Internshala Scraper do?

It turns any Internshala search into structured early-career data: title, company, stipend or salary parsed into real numbers, duration, required skills, location and posting date. Internshala is India's dominant internship and early-career job platform, the first stop for students and freshers looking for a paid internship, a work-from-home gig, or an entry-level job, and this actor covers all three of its listing boards.

โœ… No login required | โœ… No captcha or anti-bot friction | โœ… Pay only for delivered listings | โœ… MCP-ready for AI agents

Who is it for?

Campus-hiring and early-career recruiting teams building a pipeline of interns and fresher hires. HR and compensation teams benchmarking internship stipends by city, category or company. Edtech and career-content platforms powering an "internships this week" digest or enriching a student jobs board with live, normalised listings.

How much does it cost to scrape Internshala?

You pay per listing actually delivered. Nothing else: no subscription, no seat licence, no monthly minimum.

Apify planPrice per 1,000 listings
Free$2.00
Bronze$1.68
Silver$1.42
Gold and above$1.20

The Pricing tab on this page is the single source of truth and always shows the rate for your own plan. If this table and the Pricing tab ever disagree, the Pricing tab is right.

What a real pull costs. Apify's Free plan includes $5 of usage credit every month, roughly 2,500 Internshala listings a month at no cost to you. A 500-listing pull costs about $0.60 on Gold. A 5,000-listing category sweep costs about $6.00 on Gold.

What is never charged. Empty searches, blocked pages and duplicate listings are never charged. The charge event fires only once a listing is validated and stored in your dataset.

How does it work?

Internshala's own search page loads results through a plain JSON AJAX endpoint (/internships_ajax/, /jobs_ajax/, /fresher-jobs_ajax/) that returns a JSON object containing an HTML fragment of listing cards plus pagination flags. This actor calls that same endpoint directly with a plain HTTP GET, no browser, no session warm-up, no residential proxy required, since no anti-bot challenge was found anywhere in the search or pagination flow during testing. Each returned fragment is parsed with a lightweight HTML parser, not rendered in a browser.

Filters compose as URL path segments exactly the way Internshala's own front-end search builds them: keywords-<term>, category-<slug>, city-<slug> (not location-<slug>, a plausible-looking segment the site's own server silently ignores), work_from_home-true, part_time-true, stipend-<amount>, duration-<months>. Any combination can be requested at once, and the actor walks pages until Internshala reports its own last-page flag or your maxResults budget is reached, whichever comes first.

Raw stipend and salary strings such as โ‚น 10,000 - 15,000 /month or Unpaid are parsed into compensation_min_inr, compensation_max_inr, compensation_unit and is_unpaid, so you can sort and filter compensation directly instead of regex-ing free text yourself. Duration strings like 6 Months are parsed to a numeric month count, and relative posting labels like 3 weeks ago are parsed to an approximate day count.

๐Ÿงพ What input does it take?

{
"searchKeywords": ["digital marketing"],
"employmentType": "internship",
"location": "bangalore",
"workFromHome": false,
"stipendMin": 5000,
"durationMaxMonths": 3,
"maxResults": 100
}
InputRequiredWhat it does
searchKeywordsNoFree-text keywords, e.g. digital marketing, python. Leave empty to browse by category, location or filters only
employmentTypeNointernship (default), job, or fresher_job, which Internshala board to search
categoryNoInternshala profile or category slug, e.g. computer-science, content-writing
locationNoCity name, e.g. bangalore, mumbai. Leave blank for all locations
workFromHomeNoOnly return remote or work-from-home listings
partTimeNoOnly return part-time listings
stipendMinNoMinimum monthly stipend (internships) or annual salary (jobs) in INR. Internshala's own filter is inclusive of Unpaid listings alongside anything meeting the minimum, see the FAQ
durationMaxMonthsNoInternships only. Caps internship duration in months
maxResultsNoMaximum listings to return across all keywords. Hard cap 1,000
includeDescriptionNoReturn the full description text. Off by default, which truncates to 400 characters
monitorModeNoDeliver only listings not seen in a previous run, see "Run on a schedule" below
proxyConfigurationNoApify's default proxy. No anti-bot wall was found on this endpoint in testing

๐Ÿ“ค What data do you get back?

Real record shapes from live runs, showing all three boards: a paid internship, a fresher job (which carries experience fields instead of duration), and an unpaid internship:

[
{
"listing_id": "3226637",
"employment_type": "internship",
"title": "Digital Marketing",
"company": "Sanyukt Organisation",
"company_logo": "https://internshala.com/static/images/default_logo.png",
"actively_hiring": true,
"location": "Work from home",
"work_from_home": true,
"compensation_text": "โ‚น 9,000 - 10,000 /month",
"compensation_min_inr": 9000,
"compensation_max_inr": 10000,
"compensation_unit": "month",
"is_unpaid": false,
"duration_text": "6 Months",
"duration_months": 6,
"skills": ["Social Media Marketing", "Digital Marketing", "Email Marketing"],
"description": "1. Manage and actively contribute to social media platforms...",
"apply_url": "https://internshala.com/internship/detail/work-from-home-digital-marketing-internship-at-sanyukt-organisation1784697392",
"posted_text": "1 week ago",
"posted_days_ago": 7,
"scraped_at": "2026-09-09T18:12:02.910Z"
},
{
"listing_id": "3218954",
"employment_type": "job",
"title": "Business Development Executive",
"company": "Zolo Stays",
"company_logo": "https://internshala.com/static/images/default_logo.png",
"actively_hiring": false,
"location": "Bangalore",
"work_from_home": false,
"compensation_text": "โ‚น 4,00,000 - 6,00,000",
"compensation_min_inr": 400000,
"compensation_max_inr": 600000,
"compensation_unit": "year",
"is_unpaid": false,
"experience_text": "1-3 years",
"experience_min_years": 1,
"experience_max_years": 3,
"skills": ["Sales", "Lead Generation", "Communication", "CRM"],
"description": "Zolo Stays is looking for a Business Development Executive to drive lead generation and closing for our managed-living properties.",
"apply_url": "https://internshala.com/job/detail/business-development-executive-job-at-zolo-stays1784712456",
"posted_text": "4 days ago",
"posted_days_ago": 4,
"scraped_at": "2026-09-09T18:13:44.552Z"
},
{
"listing_id": "3229781",
"employment_type": "internship",
"title": "Content Writing",
"company": "Vidya Foundation",
"actively_hiring": false,
"location": "Delhi",
"work_from_home": false,
"compensation_text": "Unpaid",
"is_unpaid": true,
"duration_text": "2 Months",
"duration_months": 2,
"skills": ["Content Writing", "Research", "Proofreading"],
"description": "Vidya Foundation is looking for a Content Writing intern to help draft blog posts, research briefs, and social copy for our education outreach programs.",
"apply_url": "https://internshala.com/internship/detail/content-writing-internship-at-vidya-foundation1784720981",
"posted_text": "2 days ago",
"posted_days_ago": 2,
"scraped_at": "2026-09-09T18:14:59.017Z"
}
]

Every record contains these fields:

FieldDescription
๐Ÿ†” listing_idInternshala's internal listing ID
๐Ÿท๏ธ employment_typeinternship, job, or fresher_job
๐Ÿ“Œ titleListing title
๐Ÿข company / company_logoCompany name and logo image URL
๐Ÿ”ฅ actively_hiringWhether Internshala shows the "Actively hiring" badge
๐Ÿ“ locationLocation text, city name(s) or "Work from home"
๐Ÿ  work_from_homeTrue if the listing is remote
๐Ÿ’ฐ compensation_textRaw stipend or salary string from Internshala
๐Ÿ’ต compensation_min_inr / compensation_max_inrParsed numeric stipend or salary
๐Ÿ”– compensation_unitmonth (internship stipend), year (job salary), or lump_sum
๐Ÿšซ is_unpaidTrue if explicitly marked Unpaid
โณ duration_text / duration_monthsInternship duration, raw and normalised. Internships only
๐Ÿ“ˆ experience_text / experience_min_years / experience_max_yearsExperience requirement. Jobs and fresher jobs only
๐Ÿ› ๏ธ skillsRequired skills as an array
๐Ÿ“ descriptionListing description, truncated to 400 characters unless includeDescription: true
๐Ÿ”— apply_urlURL to the Internshala listing detail or apply page
๐Ÿ—“๏ธ posted_text / posted_days_agoRaw and parsed posting recency
๐Ÿ•’ scraped_atISO timestamp the record was captured

A minority of remote and global listings on Internshala are quoted in USD rather than INR. compensation_text always carries the raw string with its currency symbol, so check it when compensation_unit alone is not enough. Any field Internshala did not publish for a given listing is dropped rather than sent as null, exactly like the unpaid internship above, which carries no compensation_min_inr/compensation_max_inr and no company_logo.

Every run also ends with a final _type: "info" record. It is informational only and never billed.

What are the limitations?

Worth knowing before you buy, so there are no surprises:

  • City matching depends on Internshala's own slugs. The city-<slug> filter only works for names the site recognizes; an unusual spelling may not match anything, and there is no error, just no results for that segment.
  • stipendMin is inclusive of Unpaid listings. This mirrors Internshala's own filter behaviour, not a strict floor. Check is_unpaid and compensation_min_inr in the output if you need a strict "paid only, above X" cut.
  • A minority of listings are quoted in USD, not INR. compensation_unit does not carry currency, only the time period, so check compensation_text for global or remote-for-overseas-employer listings.
  • durationMaxMonths only applies to internships. Jobs and fresher jobs carry experience_text/experience_min_years/experience_max_years instead of a duration.
  • Full description text costs nothing extra but is off by default. includeDescription returns the full text; without it, descriptions are truncated to 400 characters to keep payload size down.
  • Per-run caps. maxResults hard-caps at 1,000, and the actor stops walking a keyword after 40 pages or three consecutive pages with nothing new, whichever comes first.

๐Ÿ’ผ What can you use it for?

Internship and fresher-job market monitoring. Track how many internships or fresher roles open in a category or city each week, and what stipend range they cluster around.

Stipend and salary benchmarking. Pull every work-from-home digital marketing internship and compute the median and range of stipends offered.

Talent sourcing for campus and early-career hiring. Feed listings into a sourcing tool to see what competitors are offering freshers in a given function.

Career-content and jobs-board feeds. Power a niche "internships this week" digest, or enrich an existing student jobs board with fresh listings and normalised stipend data.

๐Ÿš€ How do I get started?

  1. Open the actor and add one or more search keywords, for example digital marketing, or leave blank and use category or location filters only.
  2. Pick employmentType: internships, jobs, or fresher jobs.
  3. Optionally set category, city, work-from-home, part-time, minimum stipend and max duration.
  4. Set maxResults to control cost.
  5. Click Start. Download as JSON, CSV or Excel, or pull the dataset via API or MCP.

๐Ÿ” Run on a schedule

Turn this from a one-off pull into a standing feed with Apify's built-in Schedules. No code, no cron server of your own.

  1. Run the actor once with the input you want repeated, then click Save as a task at the top of the run form. This keeps your exact input attached for every future run.
  2. In the Apify Console, go to Schedules in the left sidebar, then Create new.
  3. Name it, set your timezone, and pick a frequency: a preset (hourly, daily, weekly) or a custom cron expression.
  4. Under Actors or tasks to run, add the task you saved in step 1.
  5. Save. From then on it runs unattended, billed the same pay-per-listing way as a manual run. Nothing is charged just for the schedule existing.

Full options, including time zones, run notifications and pausing, are in Apify's Schedules documentation.

Monitor mode: pay only for NEW listings

Set monitorMode: true and this actor remembers what it delivered last time, keyed on listing_id. On the next scheduled run, only genuinely new listings are pushed and charged.

{ "monitorMode": true }

Pairs directly with "Run on a schedule" above: save a task with monitorMode: true, attach it to a daily schedule, and you have a standing "what's new" feed with no duplicate charges. The summary row reports new_this_run and skipped_duplicates. The first run establishes the baseline; every run after that is incremental.

This actor reads only Internshala's public listing search results, the same listings any visitor sees without logging in. It does not access any authenticated area of the site and does not attempt to bypass any access control. If the results you pull include personal data, laws like the GDPR and CCPA may apply to how you store and use it, so collect only what you have a legitimate purpose for. This is general information, not legal advice, and you remain responsible for using the output in line with Internshala's own terms and the law that applies to you.

FAQ

Does it log in to Internshala? No. The actor works from public search endpoints only. No account, no cookies, no captcha, no ban risk.

Why do some listings show Unpaid with no numeric stipend? Internshala allows unpaid internships. is_unpaid is set to true and compensation_min_inr/compensation_max_inr are omitted rather than set to zero, so they do not skew any average you compute.

I set stipendMin but I still got some Unpaid listings, is that a bug? No, this matches Internshala's own filter behaviour. Their minimum-stipend filter is inclusive of Unpaid listings, not a strict floor. Filter on is_unpaid or check compensation_min_inr in the output if you need a strict "paid only, above X" cut.

Can I search jobs and fresher jobs, not just internships? Yes, set employmentType to job or fresher_job. Field coverage differs slightly: job and fresher-job listings carry experience_text/experience_min_years/experience_max_years instead of duration_text/duration_months.

How do I get more than one page of results? Set maxResults to whatever budget you want. The actor follows Internshala's paginated result set until the budget is reached or Internshala reports the last page.

Can I use it in an AI agent? Yes. It is exposed as an MCP tool. See the section below.

Can I use Internshala Scraper through an MCP server? Yes. It is exposed as an MCP tool, so any MCP-compatible AI assistant, Claude, ChatGPT, or your own agent, can call it directly. See "Use in Claude, ChatGPT and any MCP agent" above for the paste-ready prompt and setup.

๐Ÿค– Use in Claude, ChatGPT and any MCP agent

Add it to Claude Code in one line:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=themineworks/internshala-jobs-scraper"

Or point any MCP client at:

https://mcp.apify.com/?tools=themineworks/internshala-jobs-scraper

Things an agent can ask for once connected:

  • "Find 100 work-from-home digital marketing internships paying at least 5,000 rupees a month."
  • "Pull fresher jobs in Bangalore and tell me the salary range."
  • "Get every content writing internship posted on Internshala this week."

Copy this into your AI assistant

Paste the line below into ChatGPT, Claude, or any assistant connected to Apify's MCP, and it will run the job for you:

Use the Apify actor themineworks/internshala-jobs-scraper to find the 40 most recent work-from-home digital marketing internships paying at least 5,000 rupees a month. Return the results as a table.

Or call it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/internshala-jobs-scraper').call({
searchKeywords: ['digital marketing'],
workFromHome: true,
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Found the roles. Now cross-check and enrich them:

  • Naukri Jobs Scraper: cross-check the same category against India's broader experienced-hire market as candidates graduate out of internships.
  • CutShort Jobs Scraper: tech-focused roles for candidates who outgrow entry-level internships.
  • Apna Jobs Scraper: entry-level and local-hiring roles across India, a useful complement for early-career sourcing beyond Internshala.
  • LinkedIn Company Scraper: profile the hiring company, size, industry and HQ.

Questions or need a custom field set? Reach out through the Apify profile.