Internshala Scraper | Internships & Jobs, 24 Fields
Pricing
from $1.20 / 1,000 listing scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
144
Total users
51
Monthly active users
4 days ago
Last modified
Categories
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 plan | Price 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}
| Input | Required | What it does |
|---|---|---|
searchKeywords | No | Free-text keywords, e.g. digital marketing, python. Leave empty to browse by category, location or filters only |
employmentType | No | internship (default), job, or fresher_job, which Internshala board to search |
category | No | Internshala profile or category slug, e.g. computer-science, content-writing |
location | No | City name, e.g. bangalore, mumbai. Leave blank for all locations |
workFromHome | No | Only return remote or work-from-home listings |
partTime | No | Only return part-time listings |
stipendMin | No | Minimum 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 |
durationMaxMonths | No | Internships only. Caps internship duration in months |
maxResults | No | Maximum listings to return across all keywords. Hard cap 1,000 |
includeDescription | No | Return the full description text. Off by default, which truncates to 400 characters |
monitorMode | No | Deliver only listings not seen in a previous run, see "Run on a schedule" below |
proxyConfiguration | No | Apify'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:
| Field | Description |
|---|---|
๐ listing_id | Internshala's internal listing ID |
๐ท๏ธ employment_type | internship, job, or fresher_job |
๐ title | Listing title |
๐ข company / company_logo | Company name and logo image URL |
๐ฅ actively_hiring | Whether Internshala shows the "Actively hiring" badge |
๐ location | Location text, city name(s) or "Work from home" |
๐ work_from_home | True if the listing is remote |
๐ฐ compensation_text | Raw stipend or salary string from Internshala |
๐ต compensation_min_inr / compensation_max_inr | Parsed numeric stipend or salary |
๐ compensation_unit | month (internship stipend), year (job salary), or lump_sum |
๐ซ is_unpaid | True if explicitly marked Unpaid |
โณ duration_text / duration_months | Internship duration, raw and normalised. Internships only |
๐ experience_text / experience_min_years / experience_max_years | Experience requirement. Jobs and fresher jobs only |
๐ ๏ธ skills | Required skills as an array |
๐ description | Listing description, truncated to 400 characters unless includeDescription: true |
๐ apply_url | URL to the Internshala listing detail or apply page |
๐๏ธ posted_text / posted_days_ago | Raw and parsed posting recency |
๐ scraped_at | ISO 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. stipendMinis inclusive of Unpaid listings. This mirrors Internshala's own filter behaviour, not a strict floor. Checkis_unpaidandcompensation_min_inrin the output if you need a strict "paid only, above X" cut.- A minority of listings are quoted in USD, not INR.
compensation_unitdoes not carry currency, only the time period, so checkcompensation_textfor global or remote-for-overseas-employer listings. durationMaxMonthsonly applies to internships. Jobs and fresher jobs carryexperience_text/experience_min_years/experience_max_yearsinstead of a duration.- Full description text costs nothing extra but is off by default.
includeDescriptionreturns the full text; without it, descriptions are truncated to 400 characters to keep payload size down. - Per-run caps.
maxResultshard-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?
- Open the actor and add one or more search keywords, for example
digital marketing, or leave blank and use category or location filters only. - Pick
employmentType: internships, jobs, or fresher jobs. - Optionally set category, city, work-from-home, part-time, minimum stipend and max duration.
- Set
maxResultsto control cost. - 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.
- 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.
- In the Apify Console, go to Schedules in the left sidebar, then Create new.
- Name it, set your timezone, and pick a frequency: a preset (hourly, daily, weekly) or a custom cron expression.
- Under Actors or tasks to run, add the task you saved in step 1.
- 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.
Is scraping Internshala legal?
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);
๐ ๏ธ Related job-market actors
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.