Unstop Competitions Scraper avatar

Unstop Competitions Scraper

Pricing

from $1.58 / 1,000 item extracteds

Go to Apify Store
Unstop Competitions Scraper

Unstop Competitions Scraper

Export public Unstop competitions with organizer, posting metadata, visible registration deadlines, closing windows, eligibility and canonical URLs for student opportunity research. Bounded pagination; no account required.

Pricing

from $1.58 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Export public Unstop competitions listings for student opportunity research and recurring campus opportunity feeds. Each row includes a stable opportunity ID, title, organizer, posting metadata, visible registration deadline and closing-window text, category, eligibility labels and canonical link.

This Actor reads competition listing pages. It does not apply for opportunities, access accounts, submit forms, or fetch private information. Jobs, internships, standalone hackathon boards, scholarships and other opportunity types are outside this release.

Who is it for?

  • Student advisers building a competition calendar.
  • Campus communities collecting public opportunities for a reviewed newsletter.
  • Researchers comparing organizers and registration windows across repeated snapshots.

Why use it?

The dataset has one row per unique public competition. Stable source IDs make snapshots easy to compare. Hidden deadlines stay null instead of being guessed from event-end dates. Source status and closing-window labels remain separate, because a listing marked LIVE can have an ended registration window.

The Actor is deliberately narrow: it exports the listing metadata needed for a campus opportunity feed, without downloading banners, adding account dependencies or sending records to an AI provider.

Getting started

  1. Choose the maximum number of competition rows you want.
  2. Set a page budget. The source returns 10 raw listings per page, some of which may be excluded as non-public or duplicate.
  3. Run the Actor and open the Competitions dataset view.
  4. Export JSON or CSV, or connect the dataset to your own workflow.
  5. Check the source link and eligibility rules before sharing an opportunity.

Example input:

{"maxItems":20,"maxPages":3}

Inputs

InputDefaultMeaning
maxItems100Global maximum unique public competition rows, 1–10000. Zero is invalid.
maxPages10Fetch at most this many pages starting at page 1, 1–1000.

The run stops when the record limit, page limit or source exhaustion is reached. There is no unlimited mode. A page contains at most 10 upstream records; exclusions can reduce delivered results. For example, maxItems=100 with maxPages=1 may return fewer than 10 rows.

There is no keyword search, custom URL input, date filter, status filter or open-only filter. Unsupported input fields fail validation rather than being silently ignored. Page order is the source's returned order; newest-first ordering and complete historical coverage are not guaranteed.

Extracted fields

FieldMeaning
opportunityIdStable public Unstop ID represented as a string.
titlePublic competition title.
organizerDisclosed organization name; null when absent.
categorySource type, always competitions in this release.
urlCanonical public competition URL.
postedDateSource approved_date metadata, preserved verbatim. Not necessarily ISO formatted.
updatedAtSource last-update timestamp when present.
registrationDeadlineRegistration end timestamp only when the source marks the deadline visible.
closingWindowSource remaining-time text, including Ended; not recalculated.
statusSource listing status. LIVE does not imply open registration.
modeSource region or mode such as online.
eligibilityVisible eligibility labels, not the full admission rules.
scrapedAtExtraction timestamp in UTC.

Output example

A representative public listing returned during development:

{
"opportunityId": "1720769",
"title": "iCEO : The Gamified Business Development Competition (July Edition - MBA)",
"organizer": "Gogo Pogo",
"category": "competitions",
"url": "https://unstop.com/competitions/iceo-the-gamified-business-development-competition-july-edition-mba-gogo-pogo-1720769",
"postedDate": "2026-07-20 09:41:05 GMT+0530",
"updatedAt": "2026-07-20T09:41:05+05:30",
"registrationDeadline": "2026-07-25T00:00:00+05:30",
"closingWindow": "Ended",
"status": "LIVE",
"mode": "online",
"eligibility": ["Postgraduate", "Management"],
"scrapedAt": "2026-10-01T06:10:00.000Z"
}

The extraction timestamp is illustrative. Dates are source metadata, not promises of availability. Missing fields are null or an empty eligibility array.

How much does it cost to collect Unstop competitions?

Pay-per-event pricing has a $0.002 start event and one item event per saved competition. Spend tiers follow qualifying aggregate monthly Apify Store spend, not the number of competitions collected from this Actor.

Spend tierPrice per competition
FREE$0.003036
BRONZE$0.00264
SILVER$0.0020592
GOLD$0.001584
PLATINUM$0.001584
DIAMOND$0.001584

At BRONZE, 20 competitions cost approximately $0.0548, 100 cost $0.266, and 1000 cost $2.642 including the start event. Your actual price depends on the applicable spend tier and delivered record count.

Failed, duplicate, private and rejected source rows are not item-charged. The start event is charged after valid input is accepted, including a valid run that finds no public results. Budget controls can stop collection before the requested record limit.

Cost examples are estimates rather than guaranteed invoices. Refunds, fraud, disputes, taxes, corrections and contractual clawbacks can affect finalized amounts or payouts. No external paid API account or proxy is required. No undisclosed off-platform payment is used.

Tips and limitations

Use a moderate page budget first. The underlying public endpoint can change, limit or reorder listings. The feed may contain older or ended competitions and does not prove that an opportunity is accepting entries. Always follow the canonical link before making an eligibility or registration decision.

Only public competitions are delivered. The Actor does not enrich details, awards, contact information or admission rules. It does not create alerts or compare snapshots itself. A schedule reruns the feed; any downstream change comparison belongs to your workflow.

Integrations

  • Export CSV to a spreadsheet and sort registrationDeadline, checking null values separately.
  • Schedule runs in Apify, then compare opportunityId and updatedAt in your own database.
  • Connect a dataset webhook to Make, Zapier or n8n for a reviewed campus digest.
  • Use canonical URLs in your student portal rather than republishing application instructions without checking them.

API usage

Replace the token placeholder with your own Apify credential. Keep it private.

cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~unstop-public-opportunities/runs' \
-H 'Authorization: Bearer YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"maxItems":20,"maxPages":3}'

The asynchronous response identifies a run and its default dataset. Wait for the run to finish before exporting its items.

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/unstop-public-opportunities').call({maxItems:20,maxPages:3});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/unstop-public-opportunities').call(run_input={'maxItems':20,'maxPages':3})
items = client.dataset(run['defaultDatasetId']).list_items().items

MCP

For Claude Code, add the Actor-specific Apify endpoint:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/unstop-public-opportunities"

For Claude Desktop, Cursor, and VS Code, use the equivalent remote HTTP configuration supported by your client:

{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/unstop-public-opportunities"}}}

Authenticate with your Apify account when requested. Client configuration formats can differ. Example prompts: “Collect 20 public Unstop competitions from at most 3 pages”; “Summarize the returned organizers and show which records have a visible registration deadline.” Missing deadlines must not be inferred.

Legality and data handling

Unstop is named to identify the source. This Actor is independently operated and is not affiliated with or endorsed by Unstop. Use collected data responsibly and comply with applicable law, source rights and Apify's standard user terms. Public availability does not authorize spam or unrestricted republication.

The Actor collects public opportunity metadata and organization names, not applicant profiles, email addresses or account data. It uses no runtime AI and sends no input or scraped records to an AI service. Processing uses Unstop's public endpoint and Apify hosting/storage. No proxy or additional paid recipient is enabled. Generated icon artwork is only a Store asset, not runtime AI processing.

Results and logs remain in your Apify run storage under your account's retention settings until deletion or expiration. The Actor creates no global cache, persistent session or external backup and does not set a separate retention period. Delete run datasets and logs through your account when no longer needed. Logs contain counters and request failure reasons, not full response bodies, tokens or applicant data.

Troubleshooting

A malformed limit fails before extraction. A denied, non-JSON or malformed upstream response fails the run instead of pretending the feed is empty. Temporary network failures, 429 and 5xx responses receive at most three attempts. No paid proxy fallback occurs.

A failed run may have partial results from earlier pages. Check run status as well as dataset count. A legitimate empty public page can return zero records, with the start event still applicable. Increasing a page budget does not fix access denial.

FAQ

Why are some deadlines missing? The source may omit or hide registration deadlines. They are not substituted with event end dates.

Why does LIVE appear with Ended? Listing status and registration status are distinct source signals. The Actor preserves that distinction.

Can I search by keyword or fetch internship listings? Not in this release. Input supports only bounded competition feed collection.

Can I monitor changes? Schedule snapshots and compare their stable IDs in your own integration. Built-in change alerts are not included.

For a different source of student competitions, see our Devpost Scraper. Its coverage and fields differ; this Actor only reads Unstop.

Support

Open an issue in the Actor's Apify Issues tab with your input, run link and expected behavior. Avoid posting credentials or private participant information. Source changes and limitations are recorded in the changelog.