ForHosting KIT · Developer Utilities

Order a Book Series by Publication or Chronological Order

A long-running series can offer two equally valid reading paths: the order in which readers first received the books and the order in which events happen inside the fictional world.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This tool takes each title with both sequence numbers and returns one clean list in the order you request. Use publication order to follow the author's original release experience, or chronological order to move through the story timeline from earliest to latest without manually rearranging a spreadsheet.

Choose the reading experience you actually want

Publication order and chronological order answer different questions. Publication order follows the sequence in which the author and publisher introduced the books, so later revelations, changes in style, and deliberate prequel surprises appear as the original audience encountered them. Chronological order instead follows the internal timeline, placing prequels and time-shifted installments where their events occur in the fictional history. Before sorting, decide whether your priority is the release experience or a continuous story timeline. Enter every book as a separate row with its title, publication position, and chronological position, then select the matching order type. The result repeats both numbers, which makes the rearrangement easy to inspect rather than hiding the basis of the decision. The tool does not claim that one path is universally better. It applies the sequence data you provide, allowing fan-maintained lists, publisher recommendations, or your own researched chronology to remain the authority for the series.

Prepare reliable sequence numbers

Each book needs a non-empty title and two positive whole numbers. The publication number should describe when that installment appeared relative to the other entries, while the chronological number should describe where its main events belong in the universe. Include novellas, prequels, companion stories, and side novels if you want them represented in the final plan; omit them if your list is limited to the main sequence. Numbers do not need to be consecutive, so a source list using positions 10, 20, and 30 can still be sorted correctly. If two entries share the same selected number, their original input order is preserved. That stable tie behavior is useful when two stories overlap, occur simultaneously, or are intentionally grouped by a source. The capability validates every row before sorting. Missing arrays, empty lists, blank titles, fractional positions, zero, negative values, and unsupported order labels produce a clear input error instead of a plausible-looking but unreliable reading list.

Use the ordered result in plans and guides

The response contains the chosen order type and a sorted array of books. Every returned row retains the title and both sequence numbers, so you can display the result directly, copy it into a reading tracker, or compare the two paths by running the same data twice. For a book club, publication order can preserve discussion surprises that depend on the release history. For a reread, chronological order can reveal long-running causes and consequences that were originally presented out of sequence. Librarians, booksellers, reviewers, and fan-site editors can also use the deterministic output to keep recommendation pages consistent when a series gains a new prequel. Because the algorithm uses no network, random choice, or current date, identical input always produces identical output. The service does not look up missing metadata or decide how disputed events should be placed; resolve those editorial questions in your source data, then use this capability to perform the final repeatable ordering at $0.002 per API request.

Plan a first read

Arrange the series by publication date so reveals and prequels appear in the sequence experienced by original readers.

Build a chronological reread

Move every supplied novel and novella into its in-universe timeline position for a story-first reread.

Maintain a series guide

Generate a repeatable ordered list whenever a new installment changes publication or timeline coverage.

What order types are accepted?

Use publication for release sequence or chronological for the in-universe timeline. Any other value returns an input error.

Does the tool look up book dates or series information?

No. It sorts only the titles and order numbers you provide, without network lookups.

What happens when two books have the same order number?

They keep the same relative order in which they appeared in your input list.

Do the order numbers need to be consecutive?

No. They only need to be positive integers; gaps are allowed and sorting still works.

How much does an API request cost?

Each API request costs $0.002. The browser version runs locally for free.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/life/book-series-reading-order

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/life/book-series-reading-order \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}'
{
  "books": [
    {
      "title": "The First Published Tale",
      "publication_order": 1,
      "chronological_order": 3
    },
    {
      "title": "The Ancient Prelude",
      "publication_order": 3,
      "chronological_order": 1
    },
    {
      "title": "The Middle Years",
      "publication_order": 2,
      "chronological_order": 2
    }
  ],
  "order_type": "chronological"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "life.book_series_reading_order",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →