Developer documentation
API v2Collected API reference.
Look up books, retrieve descriptions and reading profiles, or process a batch of records. Choose an endpoint below for its parameters, permissions and examples.
Create an account, request access, then create a server-side key.
Look up an ISBN or title and author to get a work ID.
Use the work ID to retrieve its description, editions, authors and reading profile.
Authentication
Keys stay on your server.
Commercial calls use a scoped bearer key. Put it in a server-side secret store and reference it as COLLECTED_API_KEY. Never ship it in browser JavaScript or a mobile binary.
Authorization: Bearer $COLLECTED_API_KEYKeys are shown once. Existing plaintext cannot be recovered.API reference
Catalog and recommendation endpoints.
Choose an endpoint to see its request and response format. Responses are shortened examples; replace example IDs with IDs returned by the API.
Work and edition objects use id. Relationship fields such as work_id point to the owning work. A book record’s version is returned in data.record_version; its reading profile is in data.reader_intelligence. Descriptions and profiles can be missing.
Search & resolve
GETSearch works/v2/searchGETGet the taxonomy/v2/taxonomyPOSTResolve one record/v2/resolvePOSTResolve a batch/v2/resolve/batchPOSTResolve source aliases/v2/source-aliases/resolve/batchWorks
GETGet a work/v2/works/{work_id}GETGet a reading profile/v2/works/{work_id}/reader-intelligencePOSTGet books in a batch/v2/works/batchAuthors & editions
GETGet an author/v2/authors/{author_id}GETPage through a bibliography/v2/authors/{author_id}/worksGETList editions/v2/works/{work_id}/editionsGETGet an edition/v2/editions/{edition_id}Recommendations
POSTGet recommendations/v2/recommendationsPOSTSubmit catalog feedback/v2/feedback/v2/searchSearch works
Find books by title, author, ISBN or a combination of these.
catalog:readapi.collectedreads.comParameters
1 requiredqstringrequiredTitle, author, ISBN, or a useful combination.
languagestringPreferred BCP 47 language. Defaults to en.
marketstringTwo-letter market used for edition preference.
limitintegerMaximum compact results to return.
/v2/taxonomyGet the taxonomy
Get supported content types, genres, themes and other catalog facets. Reading profile traits are returned separately in each profile.
catalog:readapi.collectedreads.comParameters
0 requiredNo parameters.
/v2/resolveResolve one record
Match an ISBN or a title-and-author record. Uncertain matches return candidates for you to review.
resolve:readapi.collectedreads.comParameters
1 requiredqueryobjectrequiredAt least one of title, author, or ISBN.
preferencesobjectLanguage and market preferences for edition selection.
limitintegerMaximum candidates when the identity is ambiguous.
/v2/resolve/batchResolve a batch
Match a batch of records and keep each result tied to its original input.
bulk:readapi.collectedreads.comParameters
2 requireditemsarrayrequiredUp to 100 inputs, or fewer if your plan has a lower limit.
queryobjectrequiredEach item contains the same query accepted by single-record resolve.
preferencesobjectOptional language and market preferences for each item.
/v2/source-aliases/resolve/batchResolve source aliases
Map exact IDs from another provider to Collected works during a catalog migration.
bulk:readapi.collectedreads.comParameters
2 requireditemsarrayrequiredUp to 500 exact provider IDs. Full book records can be returned for up to 25 items.
aliasesarrayrequiredUp to four exact work or edition aliases per item.
include_selectedbooleanInclude the compact selected work and edition snapshot. Defaults to false.
/v2/works/{work_id}Get a work
Return the book, preferred edition, description and reading profile.
catalog:readapi.collectedreads.comParameters
1 requiredwork_idpath stringrequiredCanonical Collected work ID.
languagestringPreferred response and edition language.
marketstringMarket used for preferred-edition selection.
/v2/works/{work_id}/reader-intelligenceGet a reading profile
Return a reading profile without the rest of the book record. Categorical values appear in traits, complexity values in scores, and derived reading demand in projections.
catalog:readapi.collectedreads.comParameters
1 requiredwork_idpath stringrequiredCanonical Collected work ID.
/v2/works/batchGet books in a batch
Return book records in input order and mark IDs that are not found.
bulk:readapi.collectedreads.comParameters
1 requireditemsarrayrequiredUp to 100 work IDs, or fewer if your plan has a lower limit.
client_refstringOptional identifier echoed in the corresponding result.
preferencesobjectLanguage and market preferences for edition selection.
/v2/authors/{author_id}Get an author
Return an author, their bio when available, and the first page of their books.
catalog:readapi.collectedreads.comParameters
1 requiredauthor_idpath stringrequiredCanonical Collected author ID.
languagestringPreferred profile, title, and edition language.
marketstringMarket used for preferred-edition selection.
limitintegerBibliography items to include on the first page.
/v2/authors/{author_id}/worksPage through a bibliography
Return works in popularity order. Use the returned cursor for the next page from the same catalog version.
catalog:readapi.collectedreads.comParameters
1 requiredauthor_idpath stringrequiredCanonical Collected author ID.
languagestringPreferred title and edition language.
marketstringMarket used for preferred-edition selection.
limitintegerWorks to return on this page.
cursorstringOpaque next cursor returned by the previous page.
/v2/works/{work_id}/editionsList editions
Page through editions and filter by language, market, variant, or family.
catalog:readapi.collectedreads.comParameters
1 requiredwork_idpath stringrequiredCanonical Collected work ID.
language_preferencestringPreferred language when ranking editions.
marketstringMarket used when ranking editions.
languagestringOptional exact edition-language filter.
variantstringOptional edition-variant filter.
family_idstringOptional edition-family filter.
limitintegerEditions to return on this page.
cursorstringOpaque, signed, filter-bound cursor.
/v2/editions/{edition_id}Get an edition
Read identifiers and bibliographic facts for one exact edition.
catalog:readapi.collectedreads.comParameters
1 requirededition_idpath stringrequiredCanonical Collected edition ID.
languagestringPreferred display language.
marketstringMarket used for the edition's work context.
/v2/recommendationsGet recommendations
Return books that match a request and reading preferences, excluding the work IDs you supply.
recommendations:runapi.collectedreads.comParameters
0 requiredpromptstringAn optional request in the reader’s own words.
preferencesobjectGenre, tone, pace, effort and reading-experience filters.
exclude_work_idsarrayExact work IDs that must not appear. Supports large existing-library exclusion sets.
limitintegerReturn up to 10 matching works. The API may return fewer when fewer books fit.
/v2/feedbackSubmit catalog feedback
Report a specific book error or a recurring catalog problem. This permission is available only to approved partners.
feedback:writeapi.collectedreads.comParameters
3 requiredscopestringrequiredRECORD, FIELD, or PATTERN.
work_idstringrequiredThe exact canonical work ID; omitted only for pattern feedback.
field_namestringRequired for FIELD feedback and limited to supported metadata fields.
issue_typestringrequiredA stable category such as INCORRECT, MISSING, or WRONG_EDITION.
notestringA short explanation or source. Do not send secrets or reader data.
Operations
Errors you can act on.
Every API response includes an X-Request-ID. Errors carry a stable machine code, and rate-limited responses include retry guidance. Request logs retain route and performance metadata—not queries, book IDs, bodies, credentials, IPs, or user agents.
401Invalid or revoked credentials403Scope, entitlement, or batch limit409Cursor belongs to an older revision429Rate or plan quota reached503Recommendation capacity is fullreq_…Use the request ID in logs and support