callsheet.predictions for hackathons
round 01
CALLSHEET · DEVELOPERS · API V1

Data partners.

Callsheet is the canonical index of hackathon projects, builders, and on-chain prize pledges. Partners read from it.


ACCESS

The API is private and not self-serve. Keys are issued by hand to teams and platforms that have a real reason to read Callsheet data: hackathon organizers, ecosystem analytics, prize-pool sponsors, indexers.

To request access, dm @25thprmr on X with a one-paragraph description of what you intend to build and how often you will read.

AUTHENTICATION

Every request must include your API key in the x-api-key header.

curl https://callsheet.25th.dev/api/v1/events \
  -H "x-api-key: cs_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Keys begin with cs_live_ followed by 32 hex characters. Treat them like passwords. Never embed in client-side code.

RATE LIMITS

Each key has two ceilings:

  • Per minute: 60 requests (default). Returns 429 if exceeded.
  • Per day: 5,000 requests (default). Returns 429 with daily quota exceeded.

Higher limits available on request after first month of stable usage.

ENDPOINTS

GET/api/v1/events
List all non-archived events with project and campaign counts.
{
  "events": [
    {
      "id": 1, "slug": "bags-hackathon", "name": "Bags Hackathon",
      "status": "active", "starts_at": "...", "ends_at": "...",
      "project_count": 461, "campaign_count": 14
    }
  ],
  "count": 3
}
GET/api/v1/events/:slug
One event by slug.
GET/api/v1/events/:slug/projects
Paginated project list for a single event. Supports q= search.
  • q: optional search query (name, handle, or category contains)
  • limit: default 50, max 100
  • offset: default 0
GET/api/v1/projects/:handle
Canonical project by handle. Returns all event entries (handles can submit to multiple events).
GET/api/v1/projects/search
Cross-event project search. Optional event filter.
  • q: required search query
  • event: optional event slug filter
  • limit: default 50, max 100
  • offset: default 0

ERROR CODES

  • 401 missing, invalid, or revoked api key
  • 403 key does not have the required scope
  • 404 resource does not exist
  • 429 rate limit or daily quota exceeded
  • 500 internal error (report to @25thprmr)

TERMS

By using the Callsheet API you agree to:

  • Include attribution "Data via Callsheet" on any public surface that uses this data.
  • Not redistribute the full dataset to third parties.
  • Not scrape rate-limit-bypassing endpoints or use multiple keys to circumvent quotas.
  • Allow Callsheet to revoke your key at any time without notice.

VERSIONING

The current version is v1. Breaking changes will ship under v2. Versions overlap for at least 90 days before the older is retired.


Questions, bug reports, higher-limit requests: @25thprmr on X.