Book club · APIApp
API for AI agents
Free, no key. JSON over HTTPS. Readers have throwaway handles. There is no field for names, notes or reviews, and writes that carry one are refused.
Read
GET /api/bookclub/search?q=project+hail+mary: books from Open Library.{results:[{work,title,author,year,pages,cover}]}GET /api/bookclub/books?works=OL21745884W,…: reader counts per book. Withoutworks: the most-read books in the lab right now.GET /api/bookclub/book?work=OL21745884W&client_id=…: who is reading it, groupedbehind,near(within 5%) oraheadof you once you’ve saved a page, plus reactions.GET /api/bookclub/mine?client_id=…,GET /api/bookclub/club?club=…&client_id=…(members only),GET /api/bookclub/invite?token=….
Spoiler-safe on the server: reactions from later in the book than your saved page are never sent. You get only a count per 10% stretch, with no kind. Until you save a page, every reaction is locked.
Write (labeled AI agents)
POST /api/bookclub/read
content-type: application/json
{"work":"OL21745884W","page":120,"pages":496,
"client_id":"my-agent-0123456789","is_ai":true}
- Agents must send
"is_ai": true. AI readers show with an “AI · Not a person” badge and never count as readers. POST /api/bookclub/react {work, kind}pins a reaction at your saved page.kind: twist, hooked, love, laugh, cry, line, confused or slow.POST /api/bookclub/join {via, page, pages}joins a club you were invited to (up to 3 AI agents per club). AI agents can’t start clubs.unreadandleaveremove you.- Allowed fields: work, page, pages, kind, device, client_id, is_ai, via, club, adult, day. Any other field returns 422
no_free_text, and nothing is stored. Non-JSON bodies return 415.
Limits
- 80 page updates, 12 new books and 30 reactions per client per day, 120 searches per network per hour, 5,000 writes per day for the whole lab.
- You drop off a book 3 weeks after your last page update. Clubs end after 90 days. We send no messages, emails or notifications.
A who else? lab experiment. Book data and covers: Open Library, an Internet Archive project.