Daemon Data

Unstop jobs, internships & hackathons JSON API

Unstop Scraper is a pay-per-record Apify Actor by Daemon Data that returns Unstop jobs, internships, hackathons and competitions with salary or stipend, prizes, deadlines and eligibility as JSON, CSV or Excel. It costs $0.0015 per opportunity with the default options ($1.50 per 1,000); no login to the source site, no proxy, no browser, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.

Daemon Data Unstop Scraper on Apify   Listing as plain text

Checked on 26 Oct 2026

137 jobs were posted in the last 3 days, 47 of them in Bangalore or remote. 60 open jobs and 309 internships are work from home, and 146 internships are unpaid. 89 hackathons are offline (in person). Results come newest first.

Who uses it, for what

You areWhat you get
Campus recruiters, placement cells and staffing agenciesEvery fresher and graduate-trainee drive on Unstop (Reliance, Polycab, IndiGo and hundreds of startups), with deadlines, eligibility (course, passing-out year) and salary, refreshed daily.
Job and internship aggregatorsUnstop as a source with stable ids, full description text, salary or stipend, workplace type and de-duplication across types, keywords and runs. Same conventions as the IIMJobs, Hirist, Foundit and Instahyre Actors by the same publisher.
Student communities, college clubs and newslettersA weekly digest of hackathons and competitions: online or offline, team size, entry fee and prize pool.
EdTech and career-platform buildersA clean, structured feed of opportunities for freshers and students to show in your app or match against profiles.
Employer-branding and market analystsWhich companies hire freshers, at what salaries, in which cities; how many students register for each drive.
AI agents (MCP)Ask Claude or ChatGPT "remote paid data internships on Unstop posted this week" and let it call this Actor through Apify's MCP server.

Output fields

The most useful top-level fields with values from a real record; the full list is id, type, subtype, title, url, organization, organizationUrl, organizationLogo, program, mode, locations, locationText, workplaceType, timing, paid, salaryMin, salaryMax, salaryCurrency, salaryPeriod, experienceMinYears, experienceMaxYears, eligibility, skills, jobFunctions, registrationOpen, registrationStart, registrationDeadline, daysLeft, startsAt, endsAt, teamSizeMin, teamSizeMax, entryFee, isPaidEntry, prizes, totalPrizeCashInr, registrations, views, postedAt, updatedAt, description, descriptionHtml, searchTerm, scrapedAt. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idnumber1777503
typestring"job"
subtypestring"jobs"
titlestring"PEB Marketing & Business Development Executive"
urlstring"https://unstop.com/jobs/peb-marketing-business-development-executi...
organizationstring"Omniventra Manpower Solutions"
organizationUrlstring"https://unstop.com/c/omniventra-manpower-solutions-2112886"
modestring"online"
locationsarray[{"city": "Jamshedpur", "state": "Jharkhand", "country": "India"}, ...
locationTextstring"Jamshedpur, Jharkhand, India | Kolkata, West Bengal, India"
workplaceTypestring"in_office"
timingstring"full_time"
paidbooleantrue
salaryMinnumber35000
salaryMaxnumber40000

Input and how to call it

A verified example input (it returned data on 2026-10-26):

{
  "opportunityTypes": [
    "internships"
  ],
  "workplaceTypes": [
    "wfh"
  ],
  "pay": "paid",
  "maxResultsPerSearch": 50
}

One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~unstop-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"opportunityTypes": ["internships"], "workplaceTypes": ["wfh"], "pay": "paid", "maxResultsPerSearch": 50}'

Python: ApifyClient(token).actor("data_daemon/unstop-scraper").call(run_input=...), full file python/unstop-scraper.py. Node.js: node/unstop-scraper.mjs. n8n: importable workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/unstop-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

All input fields

FieldTypeMeaning
opportunityTypesarrayUnstop listing types. Each type is one search; a listing is saved and charged once. On 26 Oct 2026 Unstop had about 710 open jobs, 570 internships, 670 competitions, 210 hackathons, 110 workshops, 75 quizzes and 5 scholarships.
searchTermsarrayOptional. Unstop matches them against listing titles and organisation names, e.g. data analyst, marketing, software engineer, Reliance. Each keyword runs once per type. Leave empty to get every open listing of the chosen types.
workplaceTypesarrayOnly jobs and internships with these workplace types. Empty = any.
timingstringOnly full-time or only part-time jobs and internships.
paystringMostly useful for internships: paid (with a stipend) or unpaid.
eligibilitystringOnly listings open to this group, as set by the organiser.
modestringOnly online or only in-person events.
entryFeestringOnly free or only paid-entry events.
postedWithinDaysintegerOnly listings published on Unstop in the last N days (e.g. 1 for a daily feed, 7 for weekly). 0 or empty = any date.
locationsarrayOnly listings whose city, state or country contains one of these words, e.g. Bangalore, Mumbai, Maharashtra. remote matches work-from-home jobs. Listings without a location (many online events) are left out when this is set.
includeDescriptionbooleanFull description as plain text (description) and HTML (descriptionHtml). It costs the same either way; turn it off for smaller files.
maxResultsPerSearchintegerCap for each type (and keyword). Newest listings come first. 0 = no cap: every open listing, about 2,350 across all types.
maxResultsintegerStop after this many saved listings. 0 or empty = no total cap (the run's maximum cost still applies).
onlyNewSinceLastRunbooleanFor schedules: remember delivered listing ids (in a named key-value store in your account) and save only listings that earlier runs with the same settings did not deliver. Skipped listings are not charged.
stateNamestringName of the only-new memory. Empty = derived from the types, keywords and filters. Give two schedules the same name to share one memory.
skipIdsarrayUnstop listing ids you already have (the id field). They are neither saved nor charged.

Price

$0.0015 per opportunity ($1.50 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.

EventPricePer 1,000Charged when
Opportunity$0.0015$1.50One Unstop listing saved to the dataset (job, internship, hackathon, competition, quiz, workshop or scholarship): id, URL, title, organiser, locations, workplace type, salary or stipend, eligibility, skills, registration dates and deadline, team size, entry fee, prizes, registration and view counts, and the full description (text + HTML). Skipped or filtered listings are never charged.
Actor Start$0.001Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).

Worked example: the input above, capped at 50 opportunitys, costs at most $0.076. Apify's free plan includes $5 of usage a month, about 3,333 opportunitys; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.

Questions buyers ask

Is there an official Unstop API?

Unstop does not offer a documented public API. This Actor reads the public JSON endpoints (/api/public/opportunity/...) that the unstop.com website loads, which robots.txt allows. It exposes them as a REST API with schedules, webhooks and only-new runs.

Does it return closed listings?

No. It returns listings that are open for registration, which is what Unstop shows by default.

Does it include participants or applicant details?

No. It returns listing data only: the organiser, the role or event, deadlines and counts. No personal data about candidates or participants is collected.

Why does a salary show as empty?

The organiser chose not to disclose it. About 80% of jobs and internships show a salary or stipend.

Do I need a proxy or login?

No.

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
Unstop website and appBrowse and register as a student or professionalNo export; one listing at a time
Other Unstop Actors on Apify StoreSame sourceCompare listing types covered (jobs, internships, hackathons, competitions), prize and eligibility fields and price per 1,000
Build your own clientFull controlYou map filters, paging and the listing types yourself

Published by Daemon Data (data_daemon on Apify Store). Prices, fields and example pages on this page were read from the live Apify listing on 2026-10-26; the listing is the canonical description of the Actor.