Unstop Jobs Search Scraper
Pricing
from $2.99 / 1,000 unstop job records
Unstop Jobs Search Scraper
Scrape job and internship listings from Unstop.com, India's talent discovery and hiring platform for students and graduates. Extract job titles, companies, locations, stipends, and application links for campus recruitment.
Pricing
from $2.99 / 1,000 unstop job records
Rating
0.0
(0)
Developer
Jobs API
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
4
Monthly active users
11 days ago
Last modified
Categories
Share
Search Unstop's current public jobs feed or resolve one or more public Unstop job URLs. The Actor reads the first-party public jobs API and emits source-grounded job records with listing facts, salary and work details when published, structured eligibility and locations, readable description sections, registration information, and request provenance.
The Actor uses ordinary sequential HTTPS requests without a login, browser, proxy, cookies, custom identity, or fingerprint changes. It does not submit applications and does not invent an application URL. jobUrl is the public listing URL.
Input modes
search: scan bounded pages of the open jobs feed and match every query word, plus every supplied location word, against the public opportunity payload.single: look up one currently open public Unstop/jobs/URL by its numeric opportunity ID.multiple: look up the supplied currently open public Unstop job URLs by numeric opportunity ID.
Direct modes scan the same public feed for the requested IDs. They do not fetch browser detail pages. The source API does not expose every value visible in Unstop's page UI: for example, the inspected Telesales page showed “Working Days: 5 Days” and a perk, but those values were absent from the public feed's job-detail and registration objects and are therefore omitted from that record.
Example search input:
{"mode": "search","query": "sales","location": "","maxItems": 3,"maxPages": 1,"maxRequests": 2,"requestDelayMs": 250,"requestTimeoutSecs": 60}
The public input schema also accepts jobUrl, jobUrls, or startUrls for direct lookups. maxItems, maxPages, and maxRequests have hard bounds; each feed page consumes one request. Use a modest delay for larger scans. The feed's current maximum is 55 pages.
Dataset fields
Records retain only populated values. Depending on what Unstop publishes for a role, the dataset can include:
- Opportunity identity and employer:
jobId,shortId,title,company,organizationId,organizationUrl, andcompanyLogo. - Job attributes:
opportunityType,opportunitySubtype,workFunctions,skills,tags, andeligibilityCategories. - Location and schedule: structured
locations,location,workLocationType,workMode,employmentType,paidStatus, andworkingDayswhen present in the API response. - Compensation and eligibility: disclosed
salaryMin,salaryMax,salaryCurrency,salaryPeriod, experience limits,eligibilityRules, team-size limits, and registration dates/status. - Description: readable
description, source HTML indescriptionHtml, and parseddescriptionSectionswith headings, paragraphs, and bullets. - Registration and provenance: views/registration counts, source page/API URLs,
apiPage,detailVerified,verificationEvidence, and the preserved source job-detail and registration-requirement objects.
Each row must have more than 20 distinct populated source facts. The fieldCoverage count ignores IDs, URLs, repeated representations of the same description, receipts, and run metadata. Sparse source rows are kept out of the dataset and explained in QUALITY_AUDIT.
Selected fields from a real emitted example (the complete record contains additional facts):
{"jobId": "1761985","title": "Telesales Associate","company": "fabasian industires Pvt Ltd","locations": [{ "city": "Delhi", "state": "Delhi", "country": "India" },{ "city": "Noida", "state": "Uttar Pradesh", "country": "India" }],"workMode": "In Office","employmentType": "Full Time","salaryMin": 20000,"salaryMax": 20000,"salaryCurrency": "INR","salaryPeriod": "Monthly","skills": ["Sales Prospecting","Telephone Etiquette","Customer Handling","Lead Qualification","Follow-Up Communication"],"registrationDeadline": "2026-10-10T00:00:00+05:30","fieldCoverage": {"meaningfulFactCount": 40,"moreThan20SourceFacts": true},"jobUrl": "https://unstop.com/jobs/telesales-fabasian-industires-pvt-ltd-1761985","detailVerified": true}
Run status and access handling
Inspect RUN_SUMMARY, OUTPUT_SUMMARY, OUTPUT, REQUEST_RECEIPTS, RUN_DIAGNOSTICS, and QUALITY_AUDIT in the default key-value store. status is the Apify platform run status (SUCCEEDED or FAILED); resultStatus describes the dataset outcome (COMPLETE, LIMITED, SKIPPED, NO_DATA, DEFERRED, or FAILED). limitedResults is true exactly when resultStatus is LIMITED. Record counts represent rows whose Actor.pushData() calls completed successfully. Request receipts include HTTP metadata and a SHA-256 body digest for each request.
If the public source returns HTTP 401, 403, 429, or 451, or a visible source-authored security challenge, the Actor stops requests, discards all buffered job rows, and records resultStatus: SKIPPED with the request evidence; the handled run may have platform status: SUCCEEDED. HTTP 407 and unverified network/transport failures are DEFERRED; if any verified rows were stored before the interruption, the result is LIMITED and those rows are retained. A fatal failure before any normal row is stored persists a FAILED summary/diagnostic where possible and invokes the Apify SDK failure lifecycle. The Actor does not retry or attempt to get around an access barrier.
Local development and validation
From this directory:
npm ci --no-audit --no-fundnpm run checknpm testapify validate-schema
For a local run, first select a new actor-relative storage directory and confirm it does not exist. Inspect and preserve any existing storage, apify_storage, or other local actor data before invoking the CLI; some CLI versions can move a legacy apify_storage directory into the selected storage root. In PowerShell, a safe isolated run looks like this after that inspection:
$env:APIFY_LOCAL_STORAGE_DIR = 'storage-local-validation-01'apify run --resurrect --input-file .\INPUT.jsonnpm run validate -- storage-local-validation-01
Never point validation at an existing dataset directory or use --purge. Use another new relative directory for each validation run. Local datasets stay on disk and are not uploaded to Apify Console. No Cloud push or run is implied by local validation.
Limitations
- Only currently open opportunities visible through the public feed can be resolved. Closed or removed IDs are not represented with fabricated placeholder rows.
- The API may omit facts shown in the page UI. The Actor records only the values present in the public API payload.
- Salary values are included only when the source marks compensation as disclosed.
- The Actor does not extract candidate profile data or private recruiter information.
Use the Actor only for lawful purposes, respect Unstop's terms and applicable robots directives, and apply appropriate data-retention controls. For support, include a redacted input and run ID.