Book Search API
Book Search API Details
The Book Search API finds books by title, subtitle or author keyword. It returns one result per book, not one per edition: printings of the same book are collapsed into the best-matching edition, so limit=10 gives you ten different books. Searching for an ISBN returns that exact edition.
Available on the Pro plan. See Pricing.
To try out the Book Search API, see the API Documentation
To learn more about the API and how it works, see the API Information
API Documentation API InformationEndpoint
GET /api/search/book/{query}— search by title, subtitle, author keyword or ISBN.
Query Parameters
| Field | Type | Description |
|---|---|---|
limit | integer | Books per page, 1–100. Default 10. Values outside the range are clamped, not rejected. |
page | integer | Page number, starting at 1. Default 1. A page past the end returns an empty list, not an error. |
max_results | integer | How deep you can page, counted in results across all pages. Default 100. |
Book Search API Request CURL Example
curl -X 'GET' \
'https://www.isbnlab.com/api/search/book/gathering%20storm?limit=10&page=1' \
-H 'accept: application/ld+json' \
-H 'Authorization: Bearer {API_TOKEN}'
Book Search API Response Example
Each entry in member is a full Book record. This example is an ISBN search, which returns exactly one book; the entry is shortened to a few fields. A keyword search returns up to limit books and a view object with first, previous, next and last page links.
{
"@context": "/api/contexts/Book",
"@id": "/api/search/book/9780765302304",
"@type": "Collection",
"totalItems": 1,
"member": [
{
"@id": "/api/book/15596406",
"@type": "Book",
"isbn10": "0765302306",
"isbn13": "9780765302304",
"workId": 17473680,
"title": "The Gathering Storm",
"subtitle": "Book Twelve of the Wheel of Time",
"authors": [
{
"slug": "robert-jordan",
"name": "Robert Jordan"
},
{
"slug": "brandon-sanderson",
"name": "Brandon Sanderson"
}
],
"publishDate": "2009-01-01T00:00:00+00:00",
"physicalFormat": "Hardcover",
"covers": [
"https://covers.isbnlab.com/9780765302304.jpg"
]
}
]
}
Paging Headers
Every search response includes these headers, so you can page through results without reading the body:
| Field | Type | Description |
|---|---|---|
X-Page | integer | The page this response is. |
X-Per-Page | integer | The page size used. |
X-Has-Next-Page | 1 or 0 | Whether another page follows. Always sent. |
X-Total-Count | integer | Total number of matching books. Only sent when the total is known; if it's missing, the total is unknown, not zero. Also in totalItems for JSON-LD responses. |
If search is temporarily unavailable the API returns 503 with a Retry-After header; retry after that many seconds.