ValoreBooks APIvalorebooks.com ↗
Search ValoreBooks textbooks, retrieve marketplace offers with price and condition, and fetch buyback quotes by ISBN using 3 structured API endpoints.
What is the ValoreBooks API?
The ValoreBooks API covers 3 endpoints that let you search the ValoreBooks textbook marketplace, retrieve detailed product pages with current marketplace offers, and fetch buyback quotes by ISBN. The get_book_details endpoint returns offer arrays with price, condition, and seller alongside structured metadata like ISBN-13, ISBN-10, and LCCN. The get_buyback_quote endpoint exposes eligibility status, offered buyback price, shipping terms, and edition restrictions in a single call.
curl -X GET 'https://api.parse.bot/scraper/6183a689-a458-48d3-8c7b-3adb938ef2ff/search_books?query=calculus' \ -H 'X-API-Key: $PARSE_API_KEY'
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 valorebooks-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.
"""ValoreBooks SDK — search textbooks, compare offers, check buyback quotes."""
from parse_apis.valorebooks_api import ValoreBooks, BookNotFound
client = ValoreBooks()
# Search for textbooks by keyword — limit= caps total items fetched.
for summary in client.booksummaries.search(query="calculus", limit=5):
print(summary.title, summary.isbn)
# Drill into the first result for full details (offers, metadata).
result = client.booksummaries.search(query="organic chemistry", limit=1).first()
if result:
book = result.details()
print(book.title, book.url)
for offer in book.offers:
print(offer.price, offer.condition, offer.seller)
# Check the buyback quote for this book.
quote = book.buyback_quote()
print(quote.eligible, quote.buyback_price, quote.shipping)
# Direct lookup by ISBN when you already know it.
try:
detail = client.books.get(isbn="9780134438986")
print(detail.title, detail.metadata)
except BookNotFound as exc:
print(f"Book not found: {exc.isbn}")
print("exercised: booksummaries.search / details / books.get / buyback_quote")
Search for books by title, author, or ISBN. Returns a list of matching books with title, ISBN, and product URL. When the query matches an ISBN exactly the site may redirect to the product page; in that case the response contains full book details instead of a results list.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query — a title, author name, or ISBN. |
{
"type": "object",
"fields": {
"total": "integer, count of results returned",
"results": "array of book objects each with title (string), isbn (string), and url (string)"
},
"sample": {
"data": {
"total": 25,
"results": [
{
"url": "https://www.valore.com/products/physics-calculus-with-your-personal-tutor-for-physics-2003-cd-rom/9780534392154",
"isbn": "9780534392154",
"title": "Physics Calculus With Your Personal Tutor For Physics 2003 Cd Rom"
},
{
"url": "https://www.valore.com/products/precalculus/9781305071759",
"isbn": "9781305071759",
"title": "Precalculus"
}
]
},
"status": "success"
}
}About the ValoreBooks API
Search and Product Lookup
The search_books endpoint accepts a query string — title, author, or ISBN — and returns a list of matching books, each with a title, isbn, and canonical url. When the query is an exact ISBN match, the response may contain full book details directly instead of a results list, saving a second round-trip.
Marketplace Offers and Book Metadata
The get_book_details endpoint takes an isbn (ISBN-13 or ISBN-10) and returns the book's title, a metadata object containing ISBN-13, ISBN-10, and LCCN values, and an offers array. Each offer object includes type, price, condition, and seller, giving you a live snapshot of what buyers can pay across the marketplace. The endpoint also returns json_ld, an array of structured data objects embedded in the product page, useful for additional schema-level fields.
Buyback Quotes
The get_buyback_quote endpoint accepts an isbn and returns an eligible boolean indicating whether the book qualifies for buyback. When eligible, the response includes buyback_price (e.g. '$15.65*'), shipping info (e.g. 'FREE'), title, and any edition_restriction note. Books that don't qualify return eligible: false with a plain message explaining why. This lets you quickly screen a list of ISBNs before presenting sell options to users.
Coverage Notes
All three endpoints are oriented around ISBN lookups and the ValoreBooks catalog. Search results surface books stocked or listed on ValoreBooks; availability and buyback prices reflect current inventory and will change over time. The metadata object on get_book_details includes bibliographic identifiers but does not currently expose author, publisher, or edition fields as discrete response keys — those may appear inside the json_ld array depending on the specific title.
The ValoreBooks API is a managed, monitored endpoint for valorebooks.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when valorebooks.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 valorebooks.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Compare buy prices across sellers for a given ISBN using the
offersarray fromget_book_details. - Screen a list of ISBNs for buyback eligibility and offered prices before building a sell-back workflow.
- Build a campus bookstore price-comparison tool using
search_booksby title or author. - Display shipping terms and edition restrictions to users before they commit to selling a textbook.
- Sync ValoreBooks offer data with internal inventory systems using structured
json_ldfields. - Alert students when buyback prices for specific ISBNs cross a threshold using repeated
get_buyback_quotecalls. - Validate ISBNs and retrieve canonical product URLs for a textbook catalog using the search redirect behavior.
| 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 | 100 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 ValoreBooks have an official developer API?+
What does the `get_book_details` endpoint include in its `offers` array?+
type (e.g. buy or rent), price (a string like '$12.50'), condition (e.g. new, used, good), and seller (the marketplace seller name). The endpoint returns all currently listed offers for the ISBN in a single response.What does `eligible: false` mean in a `get_buyback_quote` response, and what information is returned?+
eligible is set to false, buyback_price and shipping are null, and a message string explains the reason (for example, the edition is outdated or the book is not in current demand). This lets you handle ineligible ISBNs gracefully without a separate pre-check call.Does the API return author, publisher, or edition as discrete fields?+
metadata object on get_book_details exposes ISBN-13, ISBN-10, and LCCN, while additional bibliographic data may appear inside the json_ld array depending on the title. You can fork this API on Parse and revise it to extract author, publisher, or edition from the json_ld array as discrete response fields.Does the API support pagination for `search_books` results?+
search_books endpoint returns a total count and a results array for the current response, but there is no exposed page or offset parameter. If you need deeper result sets beyond the initial response, you can fork the API on Parse and revise it to add pagination support.