Skip to content
For bookstores

Book Recommendation API for Online Bookstores

A reader who loved Klara and the Sun rarely asks for "literary fiction". They ask for something like it. TasteRay ranks the books you send against that and says why in a bookseller's terms.

TasteRay is a book recommendation API for online bookstores. You send what a reader says and up to ten books from your catalog, and one request returns them ranked with a written reason per book. It needs no purchase history to start, so it works for a first-time visitor. A response can take from seconds to much longer.

Good booksellers ask what you last loved and why, then hand you something you had not heard of. Co-purchase data is weak at that, and search needs a title in mind. Books also bring problems no other catalog has, such as one work sold in five editions and a purchase history full of gifts.

A reader, two loved novels, ten books on the table

We sent two novels the reader loved, two preferences, and ten books that included The Remains of the Day itself, Atomic Habits, Gone Girl and Sapiens. Piranesi led, and the thriller, the self-help and the history did not come back. The book the reader already loved did not come back either. That is a result to test, so filter what someone owns before you send.

This capture took 20.8 seconds. Most of our fast-mode captures took two to three seconds, and this was one of two slow outliers. Plan for it: a reader should not stare at a spinner, so the shelf below belongs in a cache.

Request body
{
  "vertical": "books",
  "context": {
    "profile": "Loved Klara and the Sun and The Remains of the Day. Likes quiet, reflective fiction.",
    "preferences": [
      "literary",
      "understated"
    ]
  },
  "items": [
    {"id": "b1", "name": "Piranesi", "description": "Susanna Clarke. A man lives in an endless house of statues and tides.", "metadata": {"type": "novel"}},
    {"id": "b2", "name": "The Remains of the Day", "description": "Kazuo Ishiguro. A butler looks back on duty and regret.", "metadata": {"type": "novel"}},
    // ...and 8 more: Atomic Habits, Gone Girl, Circe and others
  ],
  "options": {"count": 3}
}
Real capture, , from the keyless demo in fast mode, which returns at most three results. All three results, with one or two of the four key_factors each. Round trip 20.8 s, meta.processing_time_ms 20,436. The model's sentences are verbatim.
  1. Piranesi

    95 out of 100, taste_match_score

    You seem drawn to books that create spaciousness around private feeling—stories that trust silence, observation, and what remains unspoken. Piranesi offers that same inward, luminous solitude, turning a strange world into a deeply tender meditation on identity and care.

    • Its calm, diary-like voice rewards the same patient attention you brought to The Remains of the Day.
    • Like Klara and the Sun, it uses an unusual consciousness to make ordinary human tenderness feel newly visible.
  2. The Wind-Up Bird Chronicle

    82 out of 100, taste_match_score

    For the part of you that values quiet fiction because it lets private anxieties breathe, this novel offers a deeper, stranger descent. Its stillness is not empty; it is charged with longing, memory, and the sense that a life can change beneath its ordinary surface.

    • Its unhurried attention to routine, solitude, and small details aligns with your preference for reflective, understated reading.
  3. Circe

    78 out of 100, taste_match_score

    You appreciate fiction that finds immense emotional weight in a contained inner life. Circe gives you that reflective intimacy while offering a more restorative arc: a woman slowly claims her voice, her solitude, and the terms of her own life.

    • Its focus on observation, isolation, and self-knowledge makes it emotionally compatible with the quiet, reflective fiction you already love.

Fields shown: item.name, metadata.taste_match_score, explanation.why_match, explanation.key_factors.

What changes in a bookstore integration

One work, many editions
Hardback, paperback, ebook, audiobook and translations can fill all ten slots with one book. Collapse editions to the work before you send, then choose the edition to show afterwards from your stock and the reader's format.
Purchases are not taste
Gifts and school reading pollute a purchase history. Send what the reader rated or re-bought in context.history, up to 50 items, rather than every order, and let the rating say how they felt.
Match results back by id
Each result carries your own id and the exact name you sent, so match on item.id. Results not in your list are dropped, so fewer than you asked for can come back.
The long tail
We tested well-known books, where the model also draws on what it knows. For a small-press title your description is most of what it has, so include the publisher's blurb in description and read the output before you trust it.
Facts on the card
Author, price, format and stock come from your database. Keep the author in the description you send, and never read it from the generated fields.

Three places a bookshop can use it

Bookstore surfaces and how each one calls the API. As of 5 November 2026.
SurfaceHow it calls TasteRayBudget and timing
"Readers of this book" shelfOvernight, one request per anchor title, with the anchor in context.profile and ten candidates from the same shelf5,000 anchor titles refreshed monthly is 5,000 requests, within Basic at $49. Served from your cache
"Tell us what you loved" boxLive: the reader's sentence plus ten candidates you preselect by category or searchOne request per question, with a loading state that can last a while
Gift finderLive: the words describe the recipient, not the buyer, and no purchase history is sentSame as above, and the reasons help the buyer explain the choice
"Is this for me?" on a book pageThe ForMe widget with data-tasteray-medium="book"One script tag and a button, free to use, and no call from your server

When this is the wrong tool

If "readers also bought" on every product page is what you need, a behavioural model on your order data will answer instantly and cheaply. Compare Recombee or Algolia Recommend. If you run a large chain and want your own content in the engine, see Enterprise.

Sources and further reading

FAQs about Book Recommendation API for Online Bookstores

Can an online bookstore use TasteRay without purchase history?

Yes. A reader can say which books they loved and what they want next, and that is enough for a ranked answer from your list. Rated books can go in the request when you have them, up to 50 per call. Leave gifts out of that list, since they say little about the buyer.

How should a bookstore handle several editions of one book?

Collapse editions to one work before you send them, because a request ranks at most ten items and five formats of one novel would waste half the list. After the response, choose which edition to show from your stock and the reader's preferred format. The API has no knowledge of your editions.

How fast is the book recommendation API?

Plan for a few seconds, with outliers. Fast mode mostly took two to three seconds in our tests on 5 November 2026, but this book request took 20.8 seconds. Each response reports meta.processing_time_ms. Build shelves overnight and serve them from your cache, and show a clear loading state on live questions.