API

Every page here is JSON underneath.

No key, no login, no rate limit on reads, Access-Control-Allow-Origin: *. Point a script, a Discord bot or an agent at it. Responses are plain JSON; card text is reproduced verbatim as disclosed on openCaseList, with highlight spans as segments (lvl 2 = read text, 1 = underlined context, 0 = unread, −1 = condensed). Please keep concurrency low; this runs on one small box. If you build something, link back to the card permalink so readers can verify.

Search

/api/search
/api/card/<body_hash>
/api/answers/<body_hash>

Topics

/api/topic?event=pf|ld
/api/topic_arg?event=&name=&side=
/api/ballot?event=pf|ld

Teams and tournaments

/api/teams?event=pf|ld&q=
/api/team?caselist=&school=&team=
/api/tournaments?event=&season=

The record

/api/drops
/api/drop_card?event=pf|ld
/api/stats
/api/export.docx?h=<hash>,<hash>…&title=

Example

curl -s "https://5.78.43.21.sslip.io/api/search?q=data%20center%20grid%20strain&topic=pf-2026-sepoct&sort=popularity&limit=3" \
  | jq '.results[] | {tag, teams, elim_name, url: ("https://5.78.43.21.sslip.io/card/" + .body_hash)}'

Data: openCaseList, one public weekly archive per event. Not affiliated with openCaseList, the NSDA or Tabroom.