: List books

API: gutendex.com:gutendex-api
Endpoint: /books/
Response format: application/json
Auth: none
Method: GET
Last Status: 200
Latency: 341ms

Description

Get a paginated list of books ordered by download popularity. Supports filtering by author, language, topic, and more.

Parameters (10)

author_year_end (integer, query, optional)

Filter by author birth year (end)

author_year_start (integer, query, optional)

Filter by author birth year (start)

copyright (string, query, optional)

Filter by copyright status

Constraints: {'enum': ['true', 'false', 'null']}

ids (string, query, optional)

Comma-separated list of book IDs

languages (string, query, optional)

Comma-separated two-character language codes

mime_type (string, query, optional)

Filter by MIME type

page (integer, query, optional, default: 1)

Page number for pagination

search (string, query, optional)

Search for titles and authors

sort (string, query, optional, default: popular)

Sort order

Constraints: {'enum': ['ascending', 'descending', 'popular']}

topic (string, query, optional)

Search bookshelves and subjects

Examples (1)

List books openapi-spec
curl 'https://gutendex.com/books/?search=frankenstein&ids=84%2C1342&languages=en%2Cfr&mime_type=application%2Fepub%2Bzip&topic=science+fiction&author_year_start=1800&author_year_end=1900'
import requests

resp = requests.get(
    "https://gutendex.com/books/",
    params={
        'search': 'frankenstein',
        'ids': '84,1342',
        'languages': 'en,fr',
        'mime_type': 'application/epub+zip',
        'topic': 'science fiction',
        'author_year_start': '1800',
        'author_year_end': '1900',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("gutendex")
result = api.fetch("books/", search="frankenstein", ids="84,1342", languages="en,fr", mime_type="application/epub+zip", topic="science fiction", author_year_start=1800, author_year_end=1900)

for item in result:
    print(item)
const resp = await fetch("https://gutendex.com/books/?search=frankenstein&ids=84%2C1342&languages=en%2Cfr&mime_type=application%2Fepub%2Bzip&topic=science+fiction&author_year_start=1800&author_year_end=1900");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 02:29:50.368292 200 341ms
2026-04-15 03:49:26.695700 ERR
2026-04-14 02:32:13.444946 200 283ms
2026-04-12 14:27:46.004484 200 279ms
2026-04-10 00:12:31.070714 200 207ms
2026-04-09 00:48:07.771886 200 2634ms
2026-03-23 09:15:24.898878 200 159ms