Developers
Build on Bookery.
A read-only public API, dynamic OG images, RSS feeds, oEmbed, and an embeddable book card. Everything you need to link Bookery into your own apps and pages.
Quick start
Three minutes to your first call
Get a PAT
Open /writer/api-keys and generate a Personal Access Token. You'll see the raw value once — store it like a password.
Hit /v1/me
Test the token with a curl command. If it 200s, you're set.
Build
Catalog endpoints (books, authors, chapters) are open without a PAT. /v1/me needs one.
curl -H "Authorization: Bearer bky_<your_token>" \
https://bookery-inc.vercel.app/api/v1/meSandbox
Try a real call
Pick an endpoint, fill in params, hit Send. Open-read endpoints work without a token; /v1/me needs one from your signed-in account. Sandbox calls are unbilled and tightly rate-limited; copied curl commands and requests from your app use API credits.
Try it
Read-only · rate-limited · sandbox calls are unbilledPaginated list of published books. No token needed.
/api/v1/booksAPI reference
Endpoints
/api/v1/booksList published books, paginated.
open/api/v1/books/:idA single published book with full metadata.
open/api/v1/books/:id/chaptersChapter list (catalog only — no body text).
open/api/v1/authorsList authors with at least one published book.
open/api/v1/authors/:idA single author and their published books.
open/api/v1/meThe signed-in user (PAT required).
PATAll responses are JSON with the envelope { data, nextCursor? }. Pass the previous nextCursor as ?cursor=… to page.
Rate limits
Be polite. Get more.
Unauthenticated
60 req / minute
Per IP. Use this for static fan sites or aggregators that hit the catalog endpoints.
PAT (read scope)
600 req / minute
Per token. Generate one at /writer/api-keys.
When you hit a limit, the response is 429 with a Retry-After header. Don't retry in a tight loop — back off.
Subscribe to new chapters
RSS / Atom feeds
Every published book exposes an Atom feed at /books/:id/feed.xml. Paste the URL into NetNewsWire, Feedly, Inoreader, or any RSS reader — new chapters appear as they go live.
https://bookery-inc.vercel.app/books/<book_id>/feed.xml
Drop into any site
Embed widget + oEmbed
Paste a Bookery book URL into Discord, Slack, WordPress, or Notion — they call our oEmbed endpoint and render a card automatically. For your own blog or Linktree, drop in the embed snippet below.
<script async src="https://bookery-inc.vercel.app/embed.js" data-book="<book_id>"></script>
Optional attributes: data-width, data-height. You can also write <div data-bookery-book="<id>"></div> placeholders and the script will fill them in.
Show you're on Bookery
Linkback badges
Ready?
Generate your first token.
Tokens are scoped, hashed, and revocable. Read access today; write scopes ship next.
Open API keys