Devpost Hackathon Scraper avatar

Devpost Hackathon Scraper

Pricing

Pay per event

Go to Apify Store
Devpost Hackathon Scraper

Devpost Hackathon Scraper

Scrape hackathons, prizes, themes, deadlines, and organizers from Devpost — 13,000+ competitions. Filter by keyword, status, and challenge type. HTTP-only, no browser needed.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Categories

Share

What does it do?

Devpost Hackathon Scraper extracts hackathon listings from Devpost — the world's largest hackathon platform with 13,000+ competitions and millions of participants. It uses Devpost's public API to collect structured data on each hackathon, including prizes, deadlines, themes, organizers, and registration counts — with no authentication required.

Data extracted per hackathon:

FieldDescription
idDevpost hackathon ID
titleHackathon name
urlHackathon homepage URL
organizationNameOrganizing company or group
location"Online" or city/venue
openStateStatus: open, upcoming, ended
submissionPeriodDatesStart and end date string
timeLeftToSubmissionHuman-readable countdown
themesTheme tags (e.g. Machine Learning/AI, Health)
prizeAmountTotal prize pool (cleaned string)
cashPrizesCountNumber of cash prizes
otherPrizesCountNumber of non-cash prizes
registrationsCountNumber of registered participants
featuredWhether Devpost featured this hackathon
winnersAnnouncedWhether winners have been revealed
inviteOnlyWhether participation is invite-only
thumbnailUrlHackathon banner image URL
submissionGalleryUrlLink to the project gallery

Who is it for?

🎓 Students and developers looking for hackathons

Find competitions that match your skills, schedule, and interests. Filter by theme (AI, blockchain, health), format (online/in-person), and deadline to surface the best opportunities without manually browsing hundreds of listings.

🏢 Developer relations and community teams

Track hackathons in your domain to find sponsorship opportunities, recruit participants, or monitor the competitive landscape. Scrape by keyword or theme to get an instant market view of active competitions.

📊 Researchers and analysts

Study hackathon trends — prize amounts over time, popular themes, participation growth, and organizer activity. The API returns total registration counts, which serve as a proxy for developer community interest.

🤖 Hackathon aggregators and apps

Power a custom hackathon discovery app, newsletter, or Slack bot with fresh Devpost data without maintaining your own crawlers. The structured JSON output integrates directly with Zapier, Make, Airtable, or any webhook endpoint.


Why use this actor?

  • No Playwright, no headless browser — uses Devpost's public JSON API for reliable, fast extraction
  • Rich filters — search by keyword, theme, format (online/in-person), and sort order
  • Pagination handled automatically — fetches all pages to meet your maxResults target
  • Clean output — prize amounts stripped of HTML tags, thumbnail URLs made absolute
  • 13,000+ hackathons — the full Devpost catalog is accessible
  • Cost-efficient — HTTP-only actor with 256 MB memory footprint

How to use it

  1. Open the actor at https://apify.com/automation-lab/devpost-scraper
  2. Set your search filters — enter a keyword, choose a status (open, upcoming, ended), pick a challenge type, and set sort order
  3. Set maxResults — choose how many hackathons you need (default: 100)
  4. Click Start — the actor fetches data directly from the Devpost API
  5. Download results — export as JSON, CSV, Excel, or connect to integrations

Input parameters

ParameterTypeDefaultDescription
searchQuerystring""Keyword to search for (e.g. "AI", "blockchain", "health")
challengeTypeselect"all"Filter by format: all, online, or in-person
statusselect"open"Filter by status: all, open, upcoming, or ended
themesarray[]Filter by theme tags (e.g. ["Machine Learning/AI", "Health"])
orderByselect"newest"Sort order: newest, prize-amount, deadline, recently-added, submissions-count
maxResultsinteger100Maximum number of hackathons to return
maxRequestRetriesinteger3Retry attempts for failed API requests (advanced)

Theme values

Devpost theme names include (but are not limited to):

  • Machine Learning/AI
  • Health
  • Fintech
  • Social Good
  • Cybersecurity
  • Beginner Friendly
  • Web
  • Mobile
  • Open Ended
  • Design
  • Productivity
  • Low/No Code
  • Blockchain

Output example

{
"id": 29377,
"title": "Build with MeDo Hackathon",
"url": "https://medo.devpost.com/",
"organizationName": "Baidu",
"location": "Online",
"openState": "open",
"thumbnailUrl": "https://d112y698adiu2z.cloudfront.net/photos/production/challenge_thumbnails/004/516/528/datas/medium_square.png",
"submissionPeriodDates": "Apr 09 - May 20, 2026",
"timeLeftToSubmission": "19 days left",
"themes": ["Beginner Friendly", "Low/No Code", "Machine Learning/AI"],
"prizeAmount": "$50,000",
"cashPrizesCount": 10,
"otherPrizesCount": 1,
"registrationsCount": 5159,
"featured": false,
"winnersAnnounced": false,
"inviteOnly": false,
"submissionGalleryUrl": "https://medo.devpost.com/project-gallery"
}

How much does it cost to scrape Devpost hackathons?

The actor uses Pay-Per-Event (PPE) pricing — you only pay for what you extract.

TierPer hackathonRun start (one-time)
Free plan$0.0012$0.005
Starter ($29/mo)$0.001$0.005
Scale ($199/mo)$0.00078$0.005
Business ($999/mo)$0.0006$0.005

Example costs (Starter tier / BRONZE):

  • 🟢 20 hackathons (typical search): ~$0.025 total
  • 🟡 100 hackathons (open hackathons snapshot): ~$0.105 total
  • 🔵 500 hackathons (weekly monitoring): ~$0.505 total

A typical run of 100 hackathons costs around $0.105 — less than a coffee. The Apify Free plan gives you $5/month of free usage, covering roughly 4,100 hackathon records per month at no cost.


Tips and best practices

💡 Use the status: open filter for ongoing hackathons — this keeps the result set small and relevant.

💡 Combine theme filters with a broad keyword search to get very targeted results. For example, themes: ["Health", "Machine Learning/AI"] with searchQuery: "" surfaces only healthcare-AI competitions.

💡 Sort by deadline to surface the most time-sensitive opportunities first — great for building a "hackathons closing soon" digest.

💡 Set maxResults: 0 to use the default (100 items). For a full catalog snapshot, set it to 5000+.

💡 Schedule the actor daily using Apify's scheduler to keep a fresh hackathon database without manual runs.

💡 Use the Apify API or Webhooks to trigger downstream automation — push results to Airtable, send Slack alerts, or email a digest whenever new hackathons appear.


Integrations

🗓️ Hackathon discovery newsletter

Workflow: Schedule actor weekly → filter status: open, orderBy: newest → push results to Airtable → send digest email via SendGrid.

🤖 Slack bot for developer teams

Workflow: Schedule actor daily → filter by themes: ["Machine Learning/AI"] → compare with yesterday's dataset in Apify Key-Value Store → post new hackathons to #dev-events Slack channel via webhook.

📊 Airtable hackathon tracker

Workflow: Run actor → use Apify's built-in Airtable integration → automatically populate a base with prize, dates, and registration data for team decision-making.

🔗 Zapier / Make automation

Connect the actor's webhook to any Zapier or Make scenario. Trigger actions when new high-prize hackathons are found, or sync results to Google Sheets for easy sharing.


API usage

Node.js (Apify SDK)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/devpost-scraper').call({
searchQuery: 'AI',
status: 'open',
maxResults: 50,
orderBy: 'prize-amount',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} hackathons`);
console.log(items[0].title, items[0].prizeAmount);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/devpost-scraper").call(run_input={
"searchQuery": "health",
"status": "open",
"maxResults": 100,
"themes": ["Health", "Machine Learning/AI"],
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(f"Got {len(items)} hackathons")
for item in items[:3]:
print(item["title"], item["prizeAmount"])

cURL

# Start a run
curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~devpost-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"blockchain","maxResults":50,"status":"open"}'
# Get dataset items (replace DATASET_ID from run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"

Using with MCP (Claude, Cursor, VS Code)

Use this actor directly from Claude Code, Claude Desktop, Cursor, or VS Code via the Apify MCP server:

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/devpost-scraper"

Claude Desktop / Cursor / VS Code

Add to your MCP config:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/devpost-scraper",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Example prompts for Claude

  • "Find all open AI hackathons on Devpost with prizes over $10,000"
  • "List the 20 hackathons with the nearest deadlines and export to CSV"
  • "Get me all health-themed hackathons this month and format them as a Notion table"
  • "Scrape 50 blockchain hackathons and tell me which have the most registrations"

How the scraper works

The actor calls Devpost's public REST API at https://devpost.com/api/hackathons — the same JSON endpoint the Devpost website uses to render its listing pages. No browser is launched, no JavaScript rendering required.

  1. Build query parameters from your input — keyword, challenge type, status, themes, and sort order
  2. Fetch page 1 and read meta.total_count to know how many results are available
  3. Paginate through pages (48 results per page) until maxResults is reached
  4. Transform each result — strip HTML from prize amounts, normalize thumbnail URLs to https://, flatten theme objects to name arrays
  5. Push to dataset and charge PPE events

The entire process is HTTP-only (no Playwright), runs in 256 MB memory, and typically completes in under 10 seconds for 100 results.


Legality and terms of service

This actor accesses Devpost's public API (devpost.com/api/hackathons) — the same endpoint that powers the Devpost website itself. All data collected is publicly available without authentication. No login credentials are required, and the actor does not circumvent any access controls.

Devpost's Terms of Service permit viewing and accessing public content. Commercial use of scraped data is subject to your own legal review. The actor is intended for legitimate use cases: research, market analysis, hackathon discovery, and developer tooling. Rate limiting is respected by default — the actor paginates at natural API page boundaries.


FAQ

Q: How often is the Devpost data updated? A: The actor fetches live data from the Devpost API on each run. There is no caching — results reflect the current state of Devpost at the time of the run.

Q: Can I get past hackathons (ended ones)? A: Yes. Set status: ended (or status: all) to include completed hackathons. Devpost has 13,000+ total competitions on record.

Q: Why does my themed filter return fewer results than expected? A: Theme filters are strict — the hackathon must be tagged with ALL the themes you specify. Try filtering with a single theme at a time, or combine a broad theme with a keyword search.

Q: The actor returned fewer items than my maxResults — is something broken? A: No. If the API has fewer matching hackathons than your maxResults target, the actor returns all available results. This is normal, especially with narrow filters.

Q: Can I get more data per hackathon (full description, rules, judging criteria)? A: The actor uses the Devpost list API which returns summary data per hackathon. Detailed fields like full description and rules are on each hackathon's detail page. Contact us if you need detail-page extraction.

Q: The run succeeded but prizeAmount shows "$0" — why? A: Some hackathons offer only non-cash prizes (swag, credits, mentorship). The cashPrizesCount and otherPrizesCount fields clarify what's available.


Looking for more developer community data? Check out these actors by Automation Lab: