Discover/Alibris API
live

Alibris APIalibris.com

Search Alibris books by keyword, author, ISBN, or title. Retrieve seller listings with condition, price, and rating data via 4 structured endpoints.

Endpoint health
verified 4d ago
search_books
get_item_details
get_book_listings
search_books_advanced
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Alibris API?

The Alibris API provides 4 endpoints for searching the Alibris book marketplace and retrieving per-seller listing data. search_books returns paginated results with price, author, ISBN-13, and cover image for each matched title. get_book_listings drills into a specific work to expose individual seller offers including condition, binding, price, and seller rating tier. get_item_details adds publisher, language, and the seller's own item description.

Try it
Page number for pagination.
Sort order for results.
Search keyword (e.g. 'python programming', 'stephen king').
Filter by binding type (e.g. 'Hardcover', 'Softcover').
Price range filter (e.g. 'Under 5', '5 - 15', '15 - 30', '30 - 50', 'Over 50').
Filter for free shipping eligible items only.
api.parse.bot/scraper/faff73d1-bd3c-4f85-a9e8-537ce71368ee/<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/faff73d1-bd3c-4f85-a9e8-537ce71368ee/search_books?page=1&sort=r&query=python+programming' \
  -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 alibris-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.

"""Walkthrough: Alibris SDK — search books, browse seller listings, get item details."""
from parse_apis.alibris_api import Alibris, Sort, BookNotFound

client = Alibris()

# Search for books sorted by price low-to-high, capped at 5 results.
for book in client.books.search(query="python programming", sort=Sort.PRICE_LOW_HIGH, limit=5):
    print(book.title, book.price_from, book.work_id)

# Advanced search by title, take the first result and drill into seller listings.
book = client.books.advanced_search(title="hamlet", author="Shakespeare", limit=1).first()
if book:
    # Extract slug from the book's URL for the listings call.
    slug = book.url.split("alibris.com/")[1].split("/book/")[0]
    for listing in book.listings.list(slug=slug, limit=3):
        print(listing.seller, listing.price, listing.condition_binding)

# Get full item details for a specific listing using the itemdetails collection.
try:
    detail = client.itemdetails.get(invid="18954981997", work_id="8013060")
    print(detail.title, detail.publisher, detail.language)
except BookNotFound as exc:
    print(f"Item not found: {exc}")

print("exercised: books.search / books.advanced_search / book.listings.list / itemdetails.get")
All endpoints · 4 totalmissing one? ·

Full-text keyword search over Alibris book listings. Returns paginated results with basic book metadata (title, author, price, work_id). Supports sorting and filtering by binding type, price range, and free shipping eligibility. Each result carries a work_id usable with get_book_listings for seller-level detail.

Input
ParamTypeDescription
pageintegerPage number for pagination.
sortstringSort order for results.
queryrequiredstringSearch keyword (e.g. 'python programming', 'stephen king').
bindingstringFilter by binding type (e.g. 'Hardcover', 'Softcover').
price_rangestringPrice range filter (e.g. 'Under 5', '5 - 15', '15 - 30', '30 - 50', 'Over 50').
free_shippingbooleanFilter for free shipping eligible items only.
Response
{
  "type": "object",
  "fields": {
    "listings": "array of book objects with work_id, title, author, url, price_from, image_url, isbn13",
    "total_pages": "integer, total number of pages",
    "current_page": "integer, current page number",
    "total_matches": "integer, total number of matching books"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "url": "https://www.alibris.com/Python-Programming-An-Introduction-to-Computer-Science-John-M-Zelle/book/8013060?matches=108",
          "title": "Python Programming: An Introduction to Computer Science",
          "author": "John M Zelle",
          "isbn13": null,
          "work_id": "8013060",
          "image_url": "https://www.alibris-static.com/python-programming-an-introduction-to-computer-science/isbn/9781887902991.gif",
          "price_from": "$1.08"
        }
      ],
      "total_pages": 20,
      "current_page": 1,
      "total_matches": 0
    },
    "status": "success"
  }
}

About the Alibris API

Search Endpoints

search_books accepts a required query string along with optional filters for binding (e.g. Hardcover, Softcover), price_range (e.g. Under 5, 5 - 15), and free_shipping. Results are sortable by relevance (r), price low-to-high (p), or price high-to-low (pr). Each result includes a work_id, title, author, price_from, isbn13, and a url path usable in downstream calls. Pagination is returned as current_page, total_pages, and total_matches.

search_books_advanced targets specific bibliographic dimensions: title, author, isbn, keyword, binding, and a signed flag for signed copies. At least one parameter must be supplied. The response shape mirrors search_books, so work_id values are directly usable in get_book_listings without transformation.

Listing and Item Detail Endpoints

get_book_listings takes a work_id and URL slug from search results and returns two parallel arrays. The editions array lists available editions with isbn13, descriptive info, and price_from. The listings array contains individual seller offers, each with condition_binding, isbn13, seller name, seller_rating_tier, price, and an alibris_id that uniquely identifies the inventory item.

get_item_details accepts an invid (the alibris_id from get_book_listings) alongside a work_id and returns a single listing record with title, isbn13, language, publisher, and the seller's free-text description. Fields like language and publisher may be null when not provided by the seller.

Reliability & maintenanceVerified

The Alibris API is a managed, monitored endpoint for alibris.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when alibris.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 alibris.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
4/4 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
  • Compare prices across multiple Alibris sellers for a given ISBN before purchasing
  • Track lowest available price for a title over time using price_from from search results
  • Filter used book inventory by condition and binding type for rare or collectible editions
  • Identify signed copies of specific titles using the signed filter in search_books_advanced
  • Build a book price comparison tool aggregating Alibris seller offers with condition details
  • Extract publisher and language metadata for books via get_item_details for catalog enrichment
  • Paginate through subject or author searches to index available inventory across the marketplace
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 Alibris have an official developer API?+
Alibris previously offered a public affiliate and developer API, but it is no longer actively maintained or available to new applicants. This Parse API provides structured access to Alibris book and seller data without requiring an affiliate arrangement.
What does `get_book_listings` return that search endpoints don't?+
get_book_listings returns individual seller-level offers rather than work-level summaries. Each entry in the listings array includes a specific seller name, their seller_rating_tier, the listed price, condition_binding, and an alibris_id that can be passed to get_item_details. Search endpoints return only the lowest price_from across all sellers for a work.
Does the API expose seller reviews or detailed ratings?+
The listings array from get_book_listings includes a seller_rating_tier field but does not return individual review text, review counts, or numeric rating scores. You can fork this API on Parse and revise it to add an endpoint that retrieves fuller seller feedback data.
What are the pagination limits for search results?+
Both search_books and search_books_advanced return a pagination object with current_page, total_pages, and total_matches. The page parameter controls which page is fetched. Very broad queries may report a high total_matches count, but the number of accessible pages may be capped by what Alibris exposes in its paginated results.
Does the API cover non-book categories like music or movies sold on Alibris?+
Not currently. The API covers book search and seller listings only, including edition data, binding types, and item-level details. Alibris also lists music and movies, but those categories are not exposed by the current endpoints. You can fork this API on Parse and revise it to add search and listing endpoints for those categories.
Page content last updated . Spec covers 4 endpoints from alibris.com.
Related APIs in MarketplaceSee all →
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.
valorebooks.com API
Search for books and instantly compare prices across ValoreBooks' inventory while getting real-time buyback quotes for books you want to sell. Access detailed book information including pricing and resale values to find the best deals on textbooks and used books.
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.
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.
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.
wiley.com API
Search Wiley for books by keyword and locale, list available editions and formats for any title, and fetch detailed book metadata such as ISBN and page count from a product page.
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.