Discover/LibraryThing API
live

LibraryThing APIlibrarything.com

Access LibraryThing book metadata, member reviews, author works, ISBN lookup, tag browsing, and trending titles via 8 structured API endpoints.

Endpoint health
verified 4d ago
get_book_reviews
get_author_works
get_book_details
get_member_library
get_book_by_isbn
8/8 passing latest checkself-healing
Endpoints
8
Updated
26d ago

What is the LibraryThing API?

The LibraryThing API covers 8 endpoints that return book metadata, member reviews, author works, tag-based collections, and site-wide trending statistics from LibraryThing's catalog of millions of cataloged books. The get_book_details endpoint returns title, author, description, rating, and original publication date by work ID, while get_book_by_isbn lets you resolve an ISBN-10 or ISBN-13 directly to a LibraryThing work.

Try it
Maximum number of results to return
Search keyword or phrase (book title, author name, or topic)
api.parse.bot/scraper/3d9464c3-0d24-43d1-aa57-2730bf0b431d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3d9464c3-0d24-43d1-aa57-2730bf0b431d/search_books?limit=10&query=harry+potter' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace librarything-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.librarything_api import LibraryThing, Book, TaggedBook, Review, Author, AuthorWork, MemberLibrary, BookNotFound

lt = LibraryThing()

# Search for books by keyword
for book in lt.books.search(query="harry potter"):
    print(book.title, book.author, book.rating)

# Get detailed book info by work ID
detail = lt.books.get(work_id="113")
print(detail.title, detail.author, detail.description, detail.original_publication_date)

# Look up a book by ISBN
gatsby = lt.books.by_isbn(isbn="0743273567")
print(gatsby.title, gatsby.work_id, gatsby.rating)

# Browse books by tag
for tagged in lt.books.by_tag(tag="science"):
    print(tagged.title, tagged.work_id, tagged.url)

# Get reviews for a specific book
hp = lt.book(work_id="113")
for review in hp.reviews.list():
    print(review.user, review.rating, review.date)

# Get works by an author
rowling = lt.author(author_key="rowlingjk")
for work in rowling.works():
    print(work.title, work.work_id, work.url)

# Get a member's library
library = lt.memberlibraries.get(username="timspalding")
for lib_book in library.books:
    print(lib_book.title, lib_book.author, lib_book.entry_date)

# Get site zeitgeist/statistics
zeitgeist = lt.zeitgeists.get(category="overview")
print(zeitgeist.statistics)
for reviewed in zeitgeist.most_reviewed_books:
    print(reviewed.title, reviewed.work_id)
All endpoints · 8 totalmissing one? ·

Search for books by keyword using the LibraryThing REST API. Returns matching works with title, author, and rating. The REST API returns a single best-match result; if no REST match is found, falls back to the HTML search page for broader results. Rating is on a 0-5 scale.

Input
ParamTypeDescription
limitintegerMaximum number of results to return
queryrequiredstringSearch keyword or phrase (book title, author name, or topic)
Response
{
  "type": "object",
  "fields": {
    "results": "array of objects with work_id, title, author, rating, url"
  },
  "sample": {
    "data": {
      "results": [
        {
          "url": "http://www.librarything.com/work/113",
          "title": "Harry Potter and the Goblet of Fire",
          "author": "J. K. Rowling",
          "rating": 4.35,
          "work_id": "113"
        }
      ]
    },
    "status": "success"
  }
}

About the LibraryThing API

Book Lookup and Metadata

The search_books endpoint accepts a keyword query and returns matching works with work_id, title, author, rating (0–5 scale), and url. The limit parameter controls how many results come back. For precise lookup, get_book_by_isbn accepts either ISBN-10 or ISBN-13 and returns the same core fields plus the resolved work_id. get_book_details takes a numeric work_id string and adds description and original_publication_date to the response; it returns an input_not_found error if the work ID doesn't exist.

Reviews and Community Data

get_book_reviews retrieves paginated member reviews for a given work_id. Each review object includes user, rating (star count), text (capped at 1000 characters), and date. Pages return up to 100 reviews; use the page parameter to walk through them. get_member_library returns a member's cataloged books by username, with title, author, date, entry_date, rating, and url per book. Pagination uses offset and limit.

Authors, Tags, and Trending

get_author_works takes an author slug such as rowlingjk or tolkienjrr and returns the author's works as a list of work_id, title, and url objects. The slug format mirrors what appears in LibraryThing author page URLs. get_tag_books accepts a tag string like fiction or history and returns books sorted by popularity within that tag, including work_id, title, author, author_url, and tag_count.

Zeitgeist and Site Statistics

The get_zeitgeist_books endpoint with category set to overview returns a statistics object covering site-wide member counts, books cataloged, and review totals, alongside most_reviewed_books, most_cataloged_books (each with a count field), and top_authors. Other category values return section-specific subsets of that data.

Reliability & maintenanceVerified

The LibraryThing API is a managed, monitored endpoint for librarything.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when librarything.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official librarything.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Resolve an ISBN barcode scan to a book title and LibraryThing work ID using get_book_by_isbn
  • Pull member reviews by work_id to aggregate reader sentiment and surface common themes
  • Enumerate an author's full bibliography using get_author_works with their LibraryThing slug
  • Browse books by genre or topic tag via get_tag_books sorted by community popularity
  • Audit a LibraryThing member's reading catalog with pagination using get_member_library
  • Track which books are most cataloged or most reviewed site-wide using get_zeitgeist_books
  • Look up original publication dates and descriptions for historical book records via get_book_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does LibraryThing have an official developer API?+
Yes. LibraryThing offers an official REST API documented at https://www.librarything.com/services/rest/documentation.php. It requires an API key and covers a subset of book and work data. The Parse API surfaces a broader set of data including member libraries, reviews, tag browsing, and zeitgeist statistics that the official API does not expose.
What does `get_book_reviews` actually return, and how do I paginate through all reviews?+
Each call returns up to 100 reviews for the given work_id. Each review includes the user (username), rating (star count), text (truncated at 1000 characters), and date. To retrieve additional pages, increment the page parameter starting from 1.
Are review texts ever longer than 1000 characters?+
The text field in get_book_reviews is capped at 1000 characters per review. Reviews longer than that are truncated. Full-text review content beyond that limit is not currently returned. You can fork this API on Parse and revise the review endpoint to increase or remove that truncation limit.
Does the API return book cover images or edition-level details like page count or publisher?+
Not currently. get_book_details returns title, author, description, rating, and original publication date. Edition-level fields such as page count, publisher, cover image URL, and format are not included in any endpoint. You can fork this API on Parse and revise it to add an endpoint that surfaces edition-specific data.
How does the author slug format work for `get_author_works`?+
The author_id parameter expects the slug that appears in LibraryThing author page URLs — for example, rowlingjk for J.K. Rowling or tolkienjrr for J.R.R. Tolkien. The slug is typically the author's lowercased last name followed by first and middle initials. If you have an author name but not their slug, use search_books to find a work by that author and inspect the returned url for the slug pattern.
Page content last updated . Spec covers 8 endpoints from librarything.com.
Related APIs in EducationSee all →
worldcat.org API
Search millions of books and library materials worldwide, check availability at libraries near you, and discover reading lists and reviews all in one place. Find exactly what you're looking for across global library collections and get instant insights into where to access it.
barnesandnoble.com API
Search for books and discover detailed information including metadata, pricing, and customer reviews from Barnes & Noble's catalog. Browse bestsellers by category and access comprehensive book details to find your next read or compare prices and ratings.
alibris.com API
Search for books and retrieve seller listings from Alibris. Access detailed book information including title, author, condition, pricing, and seller data across the platform.
abebooks.com API
Search for books by title or ISBN, view detailed listing information, and discover available sellers offering new and used copies. Find the best deals by comparing prices across multiple sellers and browsing their inventory.
booksrun.com API
Search millions of books and get instant buyback quotes on BooksRun. Browse bestsellers and categories, view detailed book information, and check condition guidelines to understand buyback prices and acceptance criteria.
adlibris.com API
Search for books and media across Adlibris.com's catalog, view detailed product information with ratings, and read customer reviews to help you make informed purchasing decisions. Browse products by category and filter results to easily find exactly what you're looking for.
bookshop.org API
Search for books by keyword or category, view detailed information like metadata and pricing, discover curated reading lists, and find independent bookstores near you on Bookshop.org. Filter results by format and browse new releases to discover your next read.
book.douban.com API
Discover and search millions of books from Douban's database, access detailed metadata including ratings, reviews, and short comments, and explore curated collections like top 250 books, new releases, and monthly trending titles. Browse books by category tags and find exactly what you're looking for with powerful search and filtering capabilities.