kobo.com APIkobo.com ↗
Access Kobo.com book data via API: search titles, get book details, browse categories, retrieve daily deals, free eBooks, and autocomplete suggestions.
curl -X GET 'https://api.parse.bot/scraper/078a9b99-174b-4b09-a750-ecdf4bd91941/search_books?page=1&query=python&country=ie' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for books by keyword with pagination. Returns structured book data from Kobo's search including pricing, ratings, and metadata. Some search terms may redirect to a category page, in which case results are parsed from the category listing.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g. 'python programming', 'romance') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"books": "array of book objects with title, authors, isbn, slug, format, rating, price, currency, and other metadata",
"total": "integer or null total number of results"
},
"sample": {
"data": {
"page": 1,
"books": [
{
"isbn": "9781393712640",
"slug": "python-programming-11",
"price": 6.99,
"title": "Python Programming",
"format": "ebook",
"rating": 5,
"series": null,
"authors": "YASH AKBARI",
"is_free": false,
"work_id": "42d5faf7-1fe5-327a-a60d-e600ea05f4a7",
"currency": "USD",
"image_url": "https://cdn.kobo.com/book-images/3ba6ecfe-7c1a-445d-8ddf-8c5bb733b782/354/1000/False/image.jpg",
"description": "<p>This book introduces Python...</p>",
"total_rating": 1,
"publication_date": "2020-11-20T00:00:00.0000000Z"
}
],
"total": null
},
"status": "success"
}
}About the kobo.com API
The Kobo API exposes 8 endpoints covering Kobo's full eBook and audiobook catalog, including search, category browsing, bestseller lists, daily deals, and free titles. The get_book_details endpoint returns a book's full synopsis, author, format type, price, and slug. search_books supports paginated keyword queries across millions of titles, and autocomplete returns typed suggestions broken down by book, author, or series.
Search and Discovery
The search_books endpoint accepts a query string and an optional page integer, returning an array of book objects that each include title, authors, isbn, slug, format, rating, price, and currency. The total field gives the aggregate result count when available. Note that certain search terms on Kobo redirect to a category page rather than a standard search results listing; the endpoint handles this gracefully and parses results from the category listing instead. For narrower type-ahead use cases, autocomplete accepts a partial query and returns suggestions typed as book, author, or series, each carrying a Display label, Authors array, and where applicable a WorkID or Series name.
Book Details and Catalog Navigation
The get_book_details endpoint takes a book_slug — obtainable from any listing endpoint — and returns the full detail record: title, author, description (full synopsis text), price, type (ebook or audiobook), slug, and url. Category navigation starts with get_ebook_categories, which lists every top-level genre with its name and slug. Those slugs feed directly into get_books_by_category, which returns a book array plus the category slug that was requested, making it straightforward to paginate or index an entire genre collection.
Promotions and Free Titles
Three endpoints surface Kobo's promotional inventory without requiring any input parameters. get_daily_deals returns the current deals page, get_free_ebooks returns titles Kobo is currently offering at no cost, and get_bestselling_ebooks returns the bestseller listing. All three return the same book object shape: title, author, price_info, slug, url, and type. Because these reflect live promotional state, results change as Kobo updates its deals and free-title roster.
- Build a price-tracking tool that monitors
pricechanges on specific slugs returned byget_book_details. - Aggregate Kobo's
get_daily_dealsandget_free_ebooksfeeds into a deals newsletter or Telegram bot. - Populate a reading-list app with full synopses and author data from
get_book_details. - Index an entire genre for a recommendation engine using
get_ebook_categoriesslugs fed intoget_books_by_category. - Implement a book-search autocomplete widget using the
autocompleteendpoint'sbook,author, andseriessuggestion types. - Compare bestseller rankings over time by periodically polling
get_bestselling_ebooksand storing the orderedbooksarray. - Catalog ISBN and format metadata across a keyword space by paginating
search_bookswith multiple queries.
| 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 Kobo have an official developer API?+
What does `search_books` return, and how does pagination work?+
books array includes title, authors, isbn, slug, format, rating, price, and currency. Pass the page integer parameter to advance through result pages. The total field is an integer when Kobo reports a count, and null otherwise. Some queries redirect to a category listing on Kobo's side; results are still returned but come from the category view rather than a keyword search.Can I retrieve user reviews or reader ratings beyond the aggregate rating field?+
rating value on search result objects but does not expose individual user reviews, review text, or reviewer profiles. You can fork this API on Parse and revise it to add an endpoint that pulls per-review data from a book's detail page.Are audiobooks covered alongside eBooks?+
get_book_details supports both formats and returns a type field that distinguishes ebook from audiobook. However, the promotional listing endpoints (get_daily_deals, get_free_ebooks, get_bestselling_ebooks) and get_books_by_category are scoped to Kobo's eBook catalog sections. If you need audiobook-specific browsing or category listings, you can fork this API on Parse and revise it to add dedicated audiobook browsing endpoints.