Internshala Jobs Scraper: Applicants per Opening & Hiring Data avatar

Internshala Jobs Scraper: Applicants per Opening & Hiring Data

Pricing

from $0.98 / 1,000 job leads

Go to Apify Store
Internshala Jobs Scraper: Applicants per Opening & Hiring Data

Internshala Jobs Scraper: Applicants per Opening & Hiring Data

Scrape public Internshala internship and job listings with verified filters. Extract the applicants-per-opening ratio no competitor computes, employer hiring history, and application counts. Filter by keyword, city, type, and compensation. Emit change-only feeds on recurring runs.

Pricing

from $0.98 / 1,000 job leads

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

98

Total users

38

Monthly active users

10 days ago

Last modified

Share

๐ŸŽ“ Internshala Jobs Scraper: Applicants per Opening & Hiring Data

India jobs suite Public job-listing data for recurring hiring research.
ย Apna.co Jobs
Blue and grey collar roles
ย Internshala Jobs
โžค You are here
ย Instahyre Jobs
Tech jobs and hiring alerts
ย India Job Feed
Combined multi-source job inventory
Apply where your odds are actually good, not just where there are openings
Collect public Internshala listings with applicant counts, employer hiring history, and the applicants-per-opening ratio. The one metric none of the other Internshala scrapers on the Store compute.
รท Ratio that matters
Applicants divided by openings: the number that reveals your real competition.
๐Ÿ“… Employer track record
Hiring since date and opportunities posted, so you know who actually hires.
โœ“ Honest fields
Missing values stay missing. No guessed or padded data.
โ†ป Change-only feed
New and changed listings only, on recurring scheduled runs.

๐Ÿ” What does Internshala Jobs Scraper do?

Internshala Jobs Scraper collects public internship and job listings from Internshala and, when you enable detail enrichment, adds the intelligence no other scraper provides: how many people applied, how many openings exist, and the ratio between them.

A listing with 32 applicants and 40 openings is a much better bet than one with 32 applicants and 2 openings. Raw counts alone do not tell you that. This Actor computes the ratio, and it is the only one in the Internshala category on Apify Store that does.

On top of the ratio, enrichment pulls employer hiring history (hiring-since date and total opportunities posted) and full listing details including description, perks, eligibility, and application deadline. Monitoring mode keeps a change-only feed across scheduled runs so repeat listings never fill your dataset.

๐ŸŽฏ Who is this for?

Students deciding where to send their next application. You have time to apply to maybe a handful of roles carefully. Sorting by applicants-per-opening shows which listings have genuine room for you and which are already crowded, before you spend the effort.

Hiring researchers and placement teams. Track which companies are actively posting, how long they have been hiring on the platform, and how quickly applicant counts rise across a scheduled feed, without manually checking each listing.

Recruiters and sourcing tools. Pull a structured, filter-narrowed feed of listings with company context, application pressure signals, and change tracking for downstream processing.

๐Ÿš€ How to collect Internshala listings

STEP 1
Choose your source
Pick internships or jobs. Add keyword, city, category, or badge filters to narrow the match window.
STEP 2
Turn on detail enrichment
Enable Fetch public detail pages to get applicant counts, employer history, openings, and application deadline per listing.
STEP 3
Read the ratio
Sort your dataset by applicantsPerOpening to find where competition is genuinely light.

For recurring tracking, create an Apify schedule with the same input and select a monitoring mode. The first successful run saves a baseline; later runs emit only new or changed listings.

โš™๏ธ Input

FieldTypeRequiredDescription
modeenumNointernships or jobs. Public startUrls derive their mode from the URL. Default: internships.
startUrlsarray of URLsNoPublic Internshala listing pages. Replace automatic source construction; record-level filters still apply.
keywordstringNoMatches listing title, company, summary, and skills. Also selects an Internshala keyword page for automatic sources.
locationsarray of stringsNoKeep only listings whose location contains one of these cities. Multiple cities use OR semantics. Work-from-home does not count as a city match.
categorystringNoInternship category, e.g. Computer Science. Only for internships mode; cannot combine with startUrls.
workFromHomebooleanNoKeep only listings explicitly marked as work from home. Default: false.
partTimebooleanNoKeep only listings explicitly marked as part time. Default: false.
minStipendintegerNoKeep only internships whose published minimum monthly stipend is at least this amount (INR). Unpaid or undisclosed stipends do not pass a positive minimum.
minSalaryintegerNoKeep only jobs whose published minimum annual salary is at least this amount (INR).
maxDurationMonthsintegerNoKeep only internships with a published duration at or below this value. 0 disables the filter.
maxExperienceYearsintegerNoKeep only jobs with a minimum experience requirement at or below this value. 0 disables the filter.
datePostedenumNoFilter by relative posting age: all, 24h, 3d, 7d, or 30d. Records without a parseable age do not pass a selected window.
specialFiltersarrayNoKeep only listings with every selected badge: actively_hiring, early_applicant, job_offer.
sortByenumNorelevance (source order, default) or newest (by relative posting age).
includeDetailsbooleanNoFetch each listing's public detail page. Adds applicant counts, employer hiring history, openings, description, and more. Default: false.
maxResultsintegerNoStop after this many listings pass the filters. 0 means no limit. Default: 25.
monitoringModeenumNooff (default), new_only, new_and_changed, or all_with_status.
monitoringStoreNamestringNoPersistent named store for recurring run state. Default: internshala-monitor-state.
monitorStateKeystringNoauto derives a deterministic key from the source and filters. Set an explicit key to share history between workflows.
proxyConfigurationobjectYesApify proxy configuration for page requests.
maxConcurrencyintegerNoMaximum parallel requests. Default: 10.

Automatic source URLs use verified path-based Internshala patterns. URLs with query parameters, fragments, or from non-Internshala domains are rejected as startUrls.

๐Ÿ“Š Output

Each record contains only fields present or verifiably derived from the public source. The Actor does not fill missing values with "Unknown", "N/A", or generic placeholders.

This example uses a real public listing:

{
"id": "3220046",
"dedupeId": "internshala:internships:3220046",
"mode": "internships",
"title": "Supply Chain & Logistics Operations",
"company": "WeMee โ€“ Corporate Gifting Company",
"url": "https://internshala.com/internship/detail/supply-chain-logistics-operations-internship-in-pune-at-wemee1784879458",
"location": "Pune",
"isWorkFromHome": false,
"isPartTime": false,
"stipendText": "โ‚น 7,000 - 15,000 /month",
"stipendMin": 7000,
"stipendMax": 15000,
"durationMonths": 4,
"skills": ["MS-Office", "Operations", "MS-Excel", "Google Sheets", "Logistics Management"],
"isActivelyHiring": true,
"badges": ["actively_hiring"],
"postedAgo": "5 days ago",
"openings": 3,
"applicantCount": 45,
"isEarlyApplicant": false,
"applicantsPerOpening": 15.0,
"employerHiringSince": "April 2026",
"employerOpportunitiesPosted": 8,
"detailsFetched": true
}

You can download the dataset in JSON, CSV, HTML, or Excel format from Apify Console or via the API.

๐Ÿ—‚๏ธ Data fields

FieldTypeDescription
idstringInternshala's public listing ID.
dedupeIdstringStable internshala:<mode>:<id> identifier for downstream deduplication.
modestringinternships or jobs.
title, company, urlstringPublished listing identity and canonical public detail URL.
companyLogo, location, summarystringPublic card values when present. Placeholder logos are omitted.
isWorkFromHome, isPartTimebooleanDerived from explicit public listing markers.
stipendText, stipendMin, stipendMaxstring / integerPublished monthly internship stipend text and parsed INR range.
salaryText, salaryMin, salaryMaxstring / integerPublished annual job salary text and parsed INR range, including LPA notation.
durationMonths, experienceMin, experienceMaxintegerPublished duration or required experience when parseable.
skills, badges, isActivelyHiringarray / booleanPublic skills list and card badge markers.
postedAgo, postedDate, scrapedAtstringRelative card age, exact detail-page date when available, and extraction timestamp.
detailsFetchedbooleanWhether optional detail enrichment succeeded for this listing.
description, eligibility, perks, openings, applicationDeadline, aboutCompanyvariousPublic detail-page fields. Present only when includeDetails: true.
applicantCountintegerNumber of applicants shown on the detail page. Absent when the listing shows "Be an early applicant" (genuinely low competition, not a data gap). Requires includeDetails: true.
isEarlyApplicantbooleantrue when the listing shows "Be an early applicant" instead of a count. Requires includeDetails: true.
applicantsPerOpeningnumberapplicantCount divided by openings, rounded to 2 decimal places. Present only when both values are available. Requires includeDetails: true.
employerHiringSincestringMonth and year the employer first posted on Internshala, e.g. April 2026. Requires includeDetails: true.
employerOpportunitiesPostedintegerTotal public opportunities this employer has posted. Requires includeDetails: true.
employerCandidatesHiredintegerCandidates hired, when shown on the employer profile. Present on some listings only. Requires includeDetails: true.
changeType, contentHash, firstSeenAtstringChange status (new/changed/unchanged), fingerprint hash, and first-seen timestamp. Present when monitoring is enabled.
applicantCountPrevious, applicantCountDelta, applicantsPerDayinteger / numberPrior applicant count, change since last run, and estimated daily velocity. Present starting the second scheduled run when both includeDetails: true and a monitoring mode are active.

The default key-value store also contains run-summary with page, parser, filter, detail, warning, and monitoring counts.

๐Ÿ”„ How recurring monitoring works

Monitoring stores compact fingerprints in a persistent store named by monitoringStoreName. With monitorStateKey: "auto", the source URL, filters, and enrichment setting produce a deterministic key, so different searches never overwrite one another's state.

State is only updated after a complete crawl. Partial runs (where some listing or detail requests fail) can still return available records but do not overwrite the prior baseline.

Monitoring reports new, changed, unchanged, and unseen counts. It does not emit removal events: a listing can leave a limited result window without being removed from Internshala.

When includeDetails: true and a monitoring mode are both active, the second run and later also compute applicant-count velocity fields (applicantCountDelta, applicantsPerDay), showing whether a listing is gaining applicants quickly (closing soon) or staying flat (still open and low-pressure).

๐Ÿ’ฐ Pricing

Pricing is pay per result with no subscription. Empty runs and runs that return no matching listings cost nothing. Enabling detail enrichment bills a small additional event per listing fetched. Check the Store pricing panel before a large run.

โญ Enjoying Internshala Jobs Scraper?

โญ โญ โญ โญ โญ
A review helps students and hiring teams find a smarter way to read the Internshala market.
Tell us which field or workflow you found most useful.
โ˜…ย ย Rate this Actor on Apify

๐Ÿ’ก Tips and advanced options

  • Start with maxResults: 25 while validating a new filter combination.
  • Enable includeDetails: true only after confirming your filters return the right listings, to keep enrichment costs predictable.
  • Keep the same source, filters, monitoringStoreName, and state key across scheduled monitor runs.
  • Use separate explicit state keys when two workflows need independent history for the same search.
  • Inspect run-summary when output unexpectedly drops. The pagesWithoutListings, parseFailures, warning, and error counts are early drift signals.
  • Sort by applicantsPerOpening ascending to find listings with the least competition first.

โ“ FAQ, disclaimer, and support

Does the Actor access private Internshala data?

No. It is scoped to public, logged-out listing and detail pages. It does not submit applications, access candidate or employer accounts, or collect private profile data.

Why did a requested filter return fewer records than expected?

Filters are strict. All selected filter groups use AND semantics, while multiple cities use OR within the city list. When a requested field is absent or unparseable, the listing is excluded rather than guessed.

What does "Be an early applicant" mean in the data?

It means genuinely low or zero competition on that listing. The Actor sets isEarlyApplicant: true and omits applicantCount rather than recording a zero, because zero implies measurement where there is none. In practice this is the most favorable signal the Actor can return.

How should I read the applicants-per-opening ratio?

Lower is better for applicants. A ratio of 2.5 means roughly 2.5 people applied per available seat. A ratio above 20 means the listing is heavily contested. The ratio is only computed when both applicantCount and openings are available from the detail page, so its absence on a record does not indicate high competition.

Why can a monitor run emit zero records?

new_only and new_and_changed suppress unchanged listings. Check run-summary.monitoring to distinguish "no changes found" from an incomplete crawl or a filter that matched nothing.

Are applicant velocity fields available on the first run?

No. applicantCountPrevious, applicantCountDelta, and applicantsPerDay are computed by comparing the current applicant count with the prior run's stored value. They appear starting the second scheduled run when both includeDetails: true and a monitoring mode are active against the same monitorStateKey.

Use the Actor's Issues tab to report a reproducible public URL, input, and run ID. Internshala is a trademark of Scholiverse Educare Private Limited. This independent Actor is not endorsed by or affiliated with Internshala. You are responsible for using public data in accordance with applicable laws and the website's terms.

๐Ÿ”— Other actors