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

Step 1·

Create a token

Writers create a personal access token under API keys in the writer dashboard. The full token is shown once, so store it like a password.

Step 2·

Test it

Call /api/v1/me with the token, as below. A 200 response means it works.

Step 3·

Build

The catalog endpoints for books, authors and chapters work without a token. Only /api/v1/me needs one.

curl -H "Authorization: Bearer bky_<your_token>" \
     https://bookery-inc.vercel.app/api/v1/me

Try a real call

Choose an endpoint, fill in the parameters and send the request. Catalog endpoints work without a token; /api/v1/me uses your signed-in account. Sandbox calls are free and tightly rate limited. Requests from your own app or a copied curl command use API credits.

Try it

Read-only, rate limited, and free to use
No token needed

Paginated list of published books. No token needed.

GET/api/v1/books

Endpoints

GET/api/v1/books

List published books, paginated.

Open
GET/api/v1/books/:id

A single published book with full metadata.

Open
GET/api/v1/books/:id/chapters

Chapter list for a book. Chapter text is not included.

Open
GET/api/v1/authors

List authors with at least one published book.

Open
GET/api/v1/authors/:id

A single author and their published books.

Open
GET/api/v1/me

The signed-in user (PAT required).

Token

All responses are JSON with the envelope { data, nextCursor? }. To get the next page, pass the previous nextCursor as ?cursor=.

Rate limits

Without a token

60 requests per minute

Per IP address. Enough for fan sites and aggregators that read the catalog.

Personal access token

600 requests per minute

Per token. Writers create tokens under API keys in the writer dashboard.

Over the limit, the API responds with 429 and a Retry-After header. Wait that long before retrying instead of retrying in a loop.

RSS and Atom feeds

Every published book exposes an Atom feed at /books/:id/feed.xml. Add the URL to NetNewsWire, Feedly, Inoreader or any feed reader to see new chapters as they are published.

https://bookery-inc.vercel.app/books/<book_id>/feed.xml

Embed widget and oEmbed

Paste a Bookery book link into Discord, Slack, WordPress or Notion and it renders as a card through our oEmbed endpoint. On your own site, add the 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.

Linkback badges

Read on Bookery, light

Read on Bookery, light
/badges/read-on-bookery-light.svgDownload

Read on Bookery, dark

Read on Bookery, dark
/badges/read-on-bookery-dark.svgDownload

Publishes on Bookery, light

Publishes on Bookery, light
/badges/publishes-on-bookery-light.svgDownload

Publishes on Bookery, dark

Publishes on Bookery, dark
/badges/publishes-on-bookery-dark.svgDownload

Create a token

Tokens are read-only, stored hashed and can be revoked at any time. Available to writers.

Open API keys