alibris.com APIalibris.com ↗
Search Alibris books by keyword, author, ISBN, or title. Retrieve seller listings with condition, price, and rating data via 4 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/faff73d1-bd3c-4f85-a9e8-537ce71368ee/search_books?query=python+programming' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for books by keyword with optional filters. Returns paginated results sorted by relevance, price low-to-high, or price high-to-low.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| sort | string | Sort order. Accepted values: 'r' (Relevance), 'p' (Price Low-High), 'pr' (Price High-Low). |
| queryrequired | string | Search keyword (e.g. 'python programming') |
| binding | string | Filter by binding type (e.g. 'Hardcover', 'Softcover'). |
| price_range | string | Price range filter (e.g. 'Under 5', '5 - 15', '15 - 30'). |
| free_shipping | boolean | Filter for free shipping eligible items only. |
{
"type": "object",
"fields": {
"listings": "array of book objects with work_id, title, author, url, price_from, image_url, isbn13",
"pagination": "object with current_page, total_pages, total_matches"
},
"sample": {
"data": {
"listings": [
{
"url": "https://www.alibris.com/Python-QuickStart-Guide.../book/52991245?matches=33",
"title": "Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications",
"author": "Robert Oliver",
"isbn13": null,
"work_id": "52991245",
"image_url": "https://www.alibris-static.com/.../isbn/9781636100357.gif",
"price_from": "$19.05"
}
],
"pagination": {
"total_pages": 20,
"current_page": 1,
"total_matches": 0
}
},
"status": "success"
}
}About the alibris.com 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.
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.
- Compare prices across multiple Alibris sellers for a given ISBN before purchasing
- Track lowest available price for a title over time using
price_fromfrom search results - Filter used book inventory by condition and binding type for rare or collectible editions
- Identify signed copies of specific titles using the
signedfilter insearch_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_detailsfor catalog enrichment - Paginate through subject or author searches to index available inventory across the marketplace
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Alibris have an official developer API?+
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?+
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?+
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.