Discover/IndieBound API
live

IndieBound APIindiebound.org

Access IndieBound data via API: search books by title/author/ISBN, get Indie Bestsellers and Next List, find nearby indie bookstores, and retrieve blog posts.

Endpoint health
verified 3d ago
find_indie_bookstores
get_book_details
get_blog_posts
get_bookstore_day_info
search_books
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the IndieBound API?

This API exposes 7 endpoints covering IndieBound's book catalog, curated lists, and independent bookstore directory. Use search_books to query by title, author, or ISBN and get back paginated results including format information and links. Other endpoints surface the current weekly Indie Bestseller rankings by category, the monthly Indie Next List with bookseller quotes, and a geolocation-based bookstore finder that returns store coordinates and distances.

Try it
Page number for pagination, starting at 0.
Search keyword, title, author name, or ISBN to search for.
Filter search by a specific field. Accepted values: 'title', 'author', 'isbn'. Omitting searches all fields.
api.parse.bot/scraper/0ba600e7-113f-4e9a-8ece-010df38ba9b3/<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/0ba600e7-113f-4e9a-8ece-010df38ba9b3/search_books?page=0&query=Dune&search_by=title' \
  -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 indiebound-org-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.indiebound_api import IndieBound, BookSummary, SearchBy, Book, Bookstore, BlogPost, BestsellersCategory, IndieNextList

indiebound = IndieBound()

# Search for books by title
for book in indiebound.booksummaries.search(query="Dune", search_by=SearchBy.TITLE, limit=5):
    print(book.title, book.author, book.isbn)

# Get detailed pricing for a specific book
detail = indiebound.books.get(isbn="9780441013593")
print(detail.title, detail.price, detail.availability)

# Navigate from a search result to its full details
summary = indiebound.booksummary(isbn="9780441013593")
full = summary.details()
print(full.url, full.price)

# Browse indie bestseller categories
for category in indiebound.bestsellerscategories.list():
    print(category.category)
    for ranked in category.books:
        print(ranked.title, ranked.author)

# Get the Indie Next List recommendations
next_list = indiebound.indienextlists.get()
print(next_list.featured_great_read.title, next_list.featured_great_read.recommender)
for rec in next_list.books:
    print(rec.title, rec.author)

# Find nearby independent bookstores
for store in indiebound.bookstores.search(location="10001"):
    print(store.marker_title, store.city, store.state, store.distance)

# Browse blog posts
for post in indiebound.blogposts.list(limit=5):
    print(post.title, post.link)
All endpoints · 7 totalmissing one? ·

Search for books by keyword, title, author, or ISBN on IndieBound.org. Returns up to 10 results per page with book titles, authors, ISBNs, format/publisher info, and buy-local links. Pagination starts at page 0.

Input
ParamTypeDescription
pageintegerPage number for pagination, starting at 0.
queryrequiredstringSearch keyword, title, author name, or ISBN to search for.
search_bystringFilter search by a specific field. Accepted values: 'title', 'author', 'isbn'. Omitting searches all fields.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page number",
    "books": "array of book objects with title, author, isbn, format_info, and link",
    "query": "string echoing the search query"
  },
  "sample": {
    "data": {
      "page": 0,
      "books": [
        {
          "isbn": "9780441013593",
          "link": "https://www.indiebound.org/buy-local/9780441013593",
          "title": "Dune",
          "author": "Frank Herbert",
          "format_info": "Ace, August 2005"
        }
      ],
      "query": "Dune"
    },
    "status": "success"
  }
}

About the IndieBound API

Book Search and Details

The search_books endpoint accepts a query string and an optional search_by filter (title, author, or isbn). Results are paginated via the page parameter (starting at 0) and each book object includes title, author, isbn, format_info, and a direct link. To retrieve pricing and availability for a specific title, pass an ISBN-13 to get_book_details, which returns a price, availability status, and the resolved url on Bookshop.org.

Curated Lists

get_indie_bestsellers returns the current weekly lists broken into named categories such as Hardcover Fiction, Hardcover Nonfiction, and Trade Paperback Fiction. Each category contains ranked book objects with title, author, image_url, and buy-local links. get_indie_next_list covers the monthly staff-pick recommendations and includes a featured_great_read object carrying a bookseller quote and recommender name alongside the standard book fields.

Bookstore Finder and Editorial Content

find_indie_bookstores takes a location input — ZIP code, city name, or street address — and returns an array of store objects with lat, lng, city, state, distance, and rendered infowindow HTML ready for map display. get_blog_posts delivers paginated IndieBound editorial content with title, date, excerpt, link, and image_url per post. get_bookstore_day_info returns the full text content of the Independent Bookstore Day page for event-related integrations.

Reliability & maintenanceVerified

The IndieBound API is a managed, monitored endpoint for indiebound.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when indiebound.org 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 indiebound.org 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
3d ago
Latest check
7/7 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
  • Build a book discovery widget that queries search_books by author name and displays matched ISBNs with format details.
  • Aggregate the weekly Indie Bestseller categories from get_indie_bestsellers to track rank changes over time.
  • Display the current month's Indie Next List with bookseller quotes pulled from get_indie_next_list.
  • Add a 'find your local bookstore' feature to a reading app using find_indie_bookstores with ZIP code input.
  • Pull live pricing and availability from get_book_details to show purchase options alongside book metadata.
  • Populate an editorial feed with IndieBound blog posts via get_blog_posts for a book-focused newsletter or site.
  • Surface Independent Bookstore Day event information in a retail or community calendar using get_bookstore_day_info.
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 IndieBound have an official developer API?+
IndieBound does not publish a documented public developer API. The data accessible through this Parse API — book search, bestseller lists, bookstore locations, and editorial content — is not available through any official programmatic interface from IndieBound.
What does `find_indie_bookstores` return, and how precise is the location matching?+
The endpoint accepts a ZIP code, city name, or address string as the location parameter and returns an array of store objects each containing lat, lng, marker_title, city, state, distance, and infowindow HTML. Distance is relative to the input location. Coverage is limited to stores listed in IndieBound's directory, so stores not registered with IndieBound will not appear.
Does `get_book_details` return inventory across multiple stores?+
No. It returns a single price, availability status, and url resolved through Bookshop.org for the given ISBN-13. Per-store inventory data is not part of the response. You can fork the API on Parse and revise it to add an endpoint targeting store-specific availability if needed.
Is there an endpoint for individual bookstore profiles or store hours?+
Not currently. find_indie_bookstores returns location and distance data but does not include store hours, phone numbers, or detailed profile pages. You can fork the API on Parse and revise it to add a dedicated bookstore-profile endpoint.
How current are the Indie Bestseller and Indie Next lists?+
get_indie_bestsellers reflects the current weekly list at the time of the request, and get_indie_next_list reflects the current monthly picks. Neither endpoint exposes historical lists or archived editions; only the live, current-period data is returned.
Page content last updated . Spec covers 7 endpoints from indiebound.org.
Related APIs in EcommerceSee all →
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.
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.
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.
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.
booksamillion.com API
Access Books-A-Million's catalog to retrieve bestseller lists across fiction, nonfiction, manga, YA, and kids' categories, fetch detailed book information and customer reviews, search books by keyword, and look up nearby store locations. Returns structured data including titles, authors, pricing, availability, cover images, and paginated review content.
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.
kobo.com API
Search and browse millions of eBooks and audiobooks from Kobo, discover bestsellers and daily deals across different categories, and get detailed information about specific books and authors. Find free eBooks, explore category collections, and use autocomplete to quickly locate titles that interest you.
standardebooks.org API
Access Standard Ebooks' curated collection of free public domain ebooks. Search and filter by subject, retrieve full book details, and get direct download links in multiple formats including EPUB, AZW3, and KEPUB.