# Unstop Scraper — Hackathons, Competitions, Jobs & Internships (`hipersoft/unstop-scraper`) Actor

Scrape Unstop (formerly Dare2Compete): hackathons, competitions, quizzes, jobs, internships and scholarships. Organizer, prizes, deadlines, team size, registrations, salary, skills, eligibility and full description. Open opportunities only or all.

- **URL**: https://apify.com/hipersoft/unstop-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00125 / opportunity

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Unstop Scraper: Hackathons, Competitions, Jobs & Internships from Unstop

**Unstop Scraper** extracts opportunities from **Unstop** (formerly **Dare2Compete**), India's largest platform for **hackathons, competitions, case studies, quizzes, jobs, internships, scholarships and workshops**. For every opportunity you get the **title, type, organizer, online/offline mode, locations, registration start and deadline, days left, team size, number of registrations and views, prizes (with total prize cash), salary for jobs and internships, required skills, eligibility, functional area** and the **full description**. Export to **CSV, Excel or JSON**.

### What does Unstop Scraper do?

- 🏆 **Hackathons and competitions** with prizes, team sizes, deadlines and organizers.
- 💼 **Jobs and internships** with salary or stipend, timing, workplace type and skills.
- 🧠 **Quizzes, scholarships and workshops** too.
- 🔎 **Keyword search**, e.g. AI, data science, case study, marketing.
- ✅ **Open-only filter** for opportunities still accepting registrations.
- 📈 **Popularity**: registration and view counts for every opportunity.

### What data can you scrape from Unstop?

| Field | Description |
|---|---|
| `title`, `type`, `subtype`, `url` | Opportunity identity |
| `organization`, `organizationUrl` | Organizer (company, college, startup) |
| `mode`, `locations` | Online/offline and cities |
| `registrationStart`, `registrationDeadline`, `endDate`, `daysLeft`, `status` | Timeline |
| `teamSizeMin`, `teamSizeMax` | Team size |
| `registrations`, `views` | Popularity |
| `prizes`, `totalPrizeCash` | Prizes by rank and total cash |
| `salaryMin`, `salaryMax`, `salaryPeriod`, `jobTiming`, `workplaceType` | Job and internship pay and terms |
| `minExperienceYears`, `maxExperienceYears` | Experience required |
| `skills`, `functions`, `eligibility` | Skills, work function and who can apply |
| `description` | Full description |
| `isPaidEntry`, `postedAt`, `shortUrl` | Extra details |

### Use cases

- **Students and communities**: build a live feed of open hackathons, case competitions and internships.
- **EdTech and placement cells**: track opportunities for your students by skill and eligibility.
- **Employer branding research**: see which companies run hackathons and how many registrations they get.
- **Recruiters**: find companies hiring freshers and interns, with salary data.
- **Newsletters and Telegram/WhatsApp channels**: publish new opportunities automatically.

### How to scrape Unstop

1. Click **Try for free** to open Unstop Scraper in Apify Console.
2. Choose **opportunity types** and, optionally, a **search keyword**.
3. Keep **Only open opportunities** on for live listings.
4. Click **Start** and download the results as **CSV, Excel or JSON**.

### Input

#### Example input

```json
{
  "opportunityTypes": ["hackathons", "internships", "jobs"],
  "searchTerm": "data science",
  "onlyOpen": true,
  "includeDescription": true,
  "maxItems": 500
}
```

| Field | Description |
|---|---|
| **Opportunity types** | Hackathons, competitions, quizzes, jobs, internships, scholarships, workshops, or all. |
| **Search keyword** | Optional keyword filter. |
| **Only open opportunities** | Only opportunities currently accepting registrations. |
| **Include full description** | Adds the description as plain text. |
| **Max opportunities** | Stop after this many (0 = no limit). |

### Output

#### Hackathon example

```json
{
  "id": "1762305",
  "title": "From Prompt to Performance",
  "type": "hackathons",
  "subtype": "online_coding_challenge",
  "url": "https://unstop.com/hackathons/from-prompt-to-performance-mozark-1762305",
  "organization": "Mozark",
  "mode": "online",
  "registrationDeadline": "2026-11-04T00:00:00+05:30",
  "daysLeft": "28 days left",
  "teamSizeMin": 1,
  "teamSizeMax": 1,
  "registrations": 32,
  "views": 4338,
  "prizes": [{ "rank": "Overall Champion", "cash": null, "others": "iPhone 18 Pro" }],
  "skills": ["Quality Assurance (QA)", "Performance Testing", "Debugging"],
  "eligibility": ["Engineering Students", "Postgraduate", "Undergraduate"]
}
```

#### Job example (extra fields)

```json
{
  "title": "Founder’s Office Executive",
  "type": "jobs",
  "organization": "RiseUpp",
  "locations": ["Bangalore, Karnataka, India"],
  "salaryMin": 360000,
  "salaryMax": 360000,
  "salaryPeriod": "annually",
  "jobTiming": "full_time",
  "workplaceType": "in_office"
}
```

### How much does it cost?

Unstop Scraper uses **pay-per-opportunity** pricing: a small fixed price per opportunity, with automatic discounts on higher Apify plans. See the **Pricing** tab for the exact price.

### More student and job data

- [Shine.com Jobs Scraper](https://apify.com/hipersoft/shine-jobs-scraper): Indian job listings.
- [Apna Jobs Scraper](https://apify.com/hipersoft/apna-jobs-scraper): blue- and grey-collar jobs in India.
- [Y Combinator Jobs Scraper](https://apify.com/hipersoft/yc-jobs-scraper): startup jobs at YC companies.

### FAQ

**Is Unstop the same as Dare2Compete?**
Yes. Dare2Compete rebranded as Unstop.

**Can I get past (closed) competitions?**
Yes. Turn off **Only open opportunities** to include past ones.

**Are prizes included?**
Yes, with rank, cash amount and any non-cash rewards, plus a computed `totalPrizeCash`.

**Are stipends and salaries included for internships and jobs?**
Yes, when the organizer discloses them.

**What formats can I export?**
CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.

**Can I integrate Unstop Scraper with other apps?**
Unstop Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JS/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes.

**Is it legal to scrape Unstop?**
The scraper only collects publicly listed opportunities. You are responsible for using the data in line with Unstop's terms.

### Related Actors

- [Shine.com Jobs Scraper](https://apify.com/hipersoft/shine-jobs-scraper)
- [Apna Jobs Scraper](https://apify.com/hipersoft/apna-jobs-scraper)

### Notes

Original clean-room implementation. Returns only public data; you are responsible for compliance with Unstop's terms. Not affiliated with Unstop.

# Actor input Schema

## `opportunityTypes` (type: `array`):

Which kinds of opportunities to collect.

## `searchTerm` (type: `string`):

Optional keyword, e.g. data science, AI, case study, marketing, Python.

## `onlyOpen` (type: `boolean`):

Only opportunities with registration currently open. Turn off to include past ones too.

## `includeDescription` (type: `boolean`):

Add the full opportunity description as plain text.

## `maxItems` (type: `integer`):

Stop after this many opportunities. 0 means no limit.

## `proxyConfiguration` (type: `object`):

Not required for normal use.

## Actor input object example

```json
{
  "opportunityTypes": [
    "hackathons",
    "internships"
  ],
  "onlyOpen": true,
  "includeDescription": true,
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The results as dataset items.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "opportunityTypes": [
        "hackathons",
        "internships"
    ],
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/unstop-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "opportunityTypes": [
        "hackathons",
        "internships",
    ],
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/unstop-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "opportunityTypes": [
    "hackathons",
    "internships"
  ],
  "maxItems": 50
}' |
apify call hipersoft/unstop-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/unstop-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ENaaFlod9dpjKTghG/builds/udTZleJXxufqtej1o/openapi.json
