dBooks API
Free ebook API with no key: search and browse freely downloadable books with title, subtitle, authors, cover image and a download page link. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the dBooks API?
dBooks provides a keyless JSON API over a library of freely downloadable ebooks. The recent endpoint returns the newest additions with title, subtitle, authors, cover image URL and a link to the book's download page.
Where Project Gutenberg concentrates on out-of-copyright classics, dBooks leans towards technical and academic titles that publishers have released for free — the captured response opens with an O'Reilly security book and a European public investment report. That makes it a complement to the classics collections rather than a competitor.
The response shape is deliberately flat, which makes it easy to render but means one thing to watch: `authors` is a single comma-separated string, not an array, so splitting it is on you and multi-author books need care. The `id` is the book's ISBN, which is a genuinely useful key — it joins straight into Open Library, Google Books or a library catalogue for extra metadata. `url` points at the book's page rather than at the file itself, so a search endpoint and a detail endpoint are both available for going deeper.
Quick facts
- Base URL
https://www.dbooks.org/api- Authentication
- No API key and no account.
- Rate limit
- No published limit. The catalogue changes slowly — cache results.
- Pricing
- Free. Books are freely downloadable under their own terms.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the dBooks API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch recently added ebooks
GET https://www.dbooks.org/api/recent
curl 'https://www.dbooks.org/api/recent'const res = await fetch("https://www.dbooks.org/api/recent");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.dbooks.org/api/recent", timeout=20)
res.raise_for_status()
print(res.json()){
"status": "ok",
"total": 20,
"books": [
{
"id": "1098127463",
"title": "Security as Code",
"subtitle": "DevSecOps Patterns with AWS",
"authors": "BK Sarthak Das, Virginia Chu",
"image": "https://www.dbooks.org/img/books/1098127463s.jpg",
"url": "https://www.dbooks.org/security-as-code-1098127463/"
},
{
"id": "1805112015",
"title": "Financing Investment in Times of High Public Debt",
"subtitle": "2023 European Public Investment Outlook",
"authors": "Floriana Cerniglia, Francesco Saraceno, Andrew Watt",
"image": "https://www.dbooks.org/img/books/1805112015s.jpg",
"url": "https://www.dbooks.org/financing-investment-in-times-of-high-public-debt-1805112015/"
},
{
"id": "164200233X",
"title": "ASP.NET Core 6 Succinctly",
"subtitle": "",
"authors": "Dirk Strauss",
"image": "https://www.dbooks.org/img/books/164200233Xs.jpg",
"url": "https://www.dbooks.org/aspnet-core-6-succinctly-164200233x/"
},
{
"id": "199013209X",
"title": "Engineering Systems Dynamics, Modelling, Simulation, and Design",
"subtitle": "Lagrangian and Bond Graph Methods",
"authors": "Mehrzad Tabatabaian",
"image": "https://www.dbooks.org/img/books/199013209Xs.jpg",
"url": "https://www.dbooks.org/engineering-systems-dynamics-modelling-simulation-and-design-199013209x/"
},
{
"id": "5709901124",
"title": "Build a Raspberry Pi Media Player",
"subtitle": "Power up your TV and music system",
"authors": "PJ EvansParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(none) | n/a | Optional | `/recent` takes no parameters and returns the newest additions. |
/search/{query} | path | Optional | Full-text search across the catalogue. /search/python |
/book/{id} | path | Optional | One book in detail, keyed by its ISBN. /book/1098127463 |
Response fields
statusstring- `ok` on success. Check it before reading `books`.
totalinteger- Number of books in this response.
booksarray- The books themselves.
books[].idstring- The book's ISBN, which doubles as the detail endpoint key and joins into other bibliographic APIs.
books[].title / subtitlestring- Title and subtitle as separate fields.
books[].authorsstring- All authors as one comma-separated string, not an array. Split it yourself, carefully.
books[].imagestring- Cover thumbnail URL.
books[].urlstring- The book's page on dbooks.org, not a direct file link.
What you can build with the dBooks API
- Build a free ebook discovery interface
- Show recently released open technical books
- Join ISBNs into a library catalogue for richer metadata
- Seed a reading list application with real, downloadable titles
Common errors and how to fix them
Author splitting produces nonsense
`authors` is one comma-separated string.
Fix: Split on comma, but expect edge cases where a name itself contains one. Do not assume a clean array.
URL does not download the file
`url` points at the book's page.
Fix: Fetch the detail endpoint by ISBN for download links, or send the user to the page.
Search returns nothing
The catalogue is modest compared with the large book databases.
Fix: It focuses on technical and academic titles. Fall back to Open Library or Gutenberg for general literature.
Missing subtitle
Not every book has one.
Fix: The field can be an empty string. Render conditionally.
dBooks API — frequently asked questions
Is the dBooks API free?
Yes, free with no key or account, and the books themselves are freely downloadable under their own terms.
What kind of books does it cover?
Mostly technical and academic titles that publishers have released for free, which makes it complementary to Project Gutenberg's out-of-copyright classics rather than a substitute.
What is the id field?
The book's ISBN. It keys the detail endpoint and also joins straight into Open Library, Google Books or a library catalogue for extra metadata.
Why is authors a string rather than an array?
That is simply how the API serialises it — all authors comma-separated in one field. You have to split it yourself, and names containing commas are a genuine edge case.
Tools that pair with this API
ISBN Validator & Converter
Validate an ISBN check digit, convert between ISBN-10 and ISBN-13, add the correct hyphens and check a whole list at once with a pass or fail column.
Reference List Sorter
Alphabetise a bibliography by author surname, remove duplicate references, renumber the list and re-wrap every entry with a proper hanging indent.
Book Page Count Calculator
Estimate the printed page count of your book from the word count, trim size, margins, font size and leading, with front and back matter included.
dBooks is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.