Build whatever you want on top of this.
683 open listings from 20 platforms, as JSON, RSS or iCalendar. No key, no signup, no rate limit worth mentioning: every response is served from the same hourly snapshot the website renders from, so a busy consumer costs us one query rather than sixteen. Make a Telegram bot, a Discord webhook, a college dashboard, a terminal client.
Credit Brabble.ai and link back where a reader can see it · that is the whole licence
Listings
One endpoint, sorted by deadline, soonest first. Everything already expired is gone before you see it.
curl "https://brabble.ai/api/listings?hub=hackathons&city=indore&limit=5"
Query parameters, all optional
hub · hackathons | case-competitions | coding-contests | school-students
The four groupings the site is organised around. school-students filters on stated eligibility rather than on type.
city · delhi-ncr, indore, hyderabad, pune, …
In-person listings in and around that city. Online listings are excluded, since travelling is the question a city filter answers.
platform · unstop, devpost, devfolio, mlh, …
One source platform. The slugs match the /platforms pages.
type · HACKATHON, CASE STUDY, CONTEST, CODING, QUIZ, DESIGN, INNOVATION, COMPETITION
The raw category as normalised from the upstream listing.
mode · ONLINE | OFFLINE | HYBRID
How it runs. OFFLINE means there is a venue.
free · true
Only listings where the organiser states no entry fee.
q · any string
Substring match on title and organiser. Case-insensitive.
limit / offset · 1–200 / any
Defaults to 50. total in the response is the unpaged count, so you can page without guessing.
An unknown hub, city or platform returns 400 rather than an empty list, because a typo that silently returns nothing is how a broken integration ships.
Counts and prize money
The same numbers the prize page publishes, with the caveats attached: the denominator and the rupee-quoted subtotal travel with the total, because the total alone misleads.
curl "https://brabble.ai/api/stats"
RSS and iCalendar
29 feeds in each format, one per facet: everything, per type, per city, per platform. RSS suits bots and newsletters; iCalendar is what a human subscribes to. Same slugs, different extension.
https://brabble.ai/rss/hackathons.xml https://brabble.ai/rss/in/delhi-ncr.xml https://brabble.ai/feed/all.ics https://brabble.ai/feed/platforms/unstop.ics
The full list of slugs is on the reminders page. RSS items link to our share page rather than straight to the organiser, so a reader arriving from a bot still sees the prize, the deadline and who is running it before they commit.
Widget
If you just want deadlines on a page, skip the API. One iframe, no script, updates itself.
<iframe src="https://brabble.ai/embed/hackathons?limit=5" width="100%" height="291" frameborder="0" loading="lazy"></iframe>
The builder picks the list, the row count and the theme, and shows you the real thing at real size.
Fair use, plainly
Cache what you fetch
The data changes about once a day. Hourly is generous; per-request is wasteful for both of us. Every response carries cache headers that say the same thing.
Send people to the organiser
Registration happens on the platform that runs the competition. Do not build anything that collects entries or fees on their behalf, and do not strip the attribution.
Do not mirror it as your own
Reusing the rows is fine, including commercially. Republishing the whole set as though you assembled it is not, and neither is presenting our figures without the caveats attached to them.
Tell us what you built
Genuinely useful: it tells us which cuts of the data matter, and good ones get linked from here.
No key to request, nothing to sign up for.
If you need a cut we do not expose, or a higher volume than caching can cover, ask. The reliability index shows which of the underlying feeds you can lean on before you build.