Gutendex website screenshot

Gutendex

Gutendex is a simple, self-hosted JSON-based web API for serving book catalog information from Project Gutenberg, providing structured metadata for over 70,000 free ebooks including titles, authors, subjects, bookshelves, languages, copyright status, media types, downloadable formats, and download counts. The hosted instance at gutendex.com runs the open-source Django project by Gareth B. Johnson under the MIT license.

1 APIs 8 Features
BooksCatalogEbooksLibraryLiteratureMetadataOpen SourceProject GutenbergPublic APIsPublic Domain

APIs

Gutendex Books API

Returns paginated metadata for Project Gutenberg ebooks with filters for author birth/death year, copyright status, IDs, languages, MIME type, free-text search, topic, and sort ...

Collections

Pricing Plans

Gutendex Plans Pricing

2 plans

PLANS

Rate Limits

Gutendex Rate Limits

3 limits

RATE LIMITS

Features

Free Public API

No API key, no signup, no rate limit documented; gutendex.com is openly available.

70,000+ Ebook Catalog

Mirrors the full Project Gutenberg catalog of free public-domain ebooks.

Rich Filtering

Filter by author birth/death year, copyright status, language, MIME type, IDs, search keywords, and topic.

Multiple Sort Orders

Sort results by popularity (default), ascending ID, or descending ID.

Multi-format Downloads

Each book exposes a Format object mapping MIME types (HTML, EPUB, MOBI, plain text, JPEG) to direct download URLs.

Bookshelves and Subjects

Books are tagged with Library of Congress subject headings and curated Project Gutenberg bookshelves.

Multi-language Support

Books are indexed by two-character ISO language codes; filter by multiple languages at once.

Self-Hostable

MIT-licensed Django app that operators can run on their own infrastructure with nightly Project Gutenberg catalog sync.

Use Cases

Literature Analytics

Power large-scale analysis of public-domain literature by ingesting the structured Project Gutenberg catalog.

Educational Apps

Build classroom or self-study apps that surface public-domain texts by subject, author, or reading level.

Reading Recommendation Engines

Use the download_count and bookshelf data to recommend popular classics or themed reading lists.

Digital Library Backends

Power library catalog interfaces and ebook reader apps with a clean JSON facade over Project Gutenberg's XML archives.

Natural Language Processing Datasets

Use the catalog to discover bulk text downloads for training language models on public-domain corpora.

Citation and Reference Tools

Power author/title lookup widgets in citation managers and academic writing tools.

Integrations

Project Gutenberg

Upstream source. Gutendex nightly-ingests the official Project Gutenberg XML catalog and republishes it as JSON.

Django REST Framework

Built on Django + Django REST Framework. Operators can extend the API with additional viewsets.

Model Context Protocol

Community-maintained MCP servers expose Project Gutenberg / Gutendex to LLM agents (bobbyhouse, vellankis-space, nasimcoderex).

PostgreSQL / SQLite

Default Django storage backends used by self-hosted instances for catalog persistence.

Semantic Vocabularies

Gutendex Context

12 classes · 12 properties

JSON-LD

API Governance Rules

Gutendex API Rules

13 rules · 8 errors 4 warnings 1 info

SPECTRAL

JSON Structure

Gutendex Book List Structure

4 properties

JSON STRUCTURE

Gutendex Book Structure

13 properties

JSON STRUCTURE

Gutendex Error Structure

1 properties

JSON STRUCTURE

Gutendex Format Structure

0 properties

JSON STRUCTURE

Gutendex Person Structure

3 properties

JSON STRUCTURE

Example Payloads

Gutendex Book Example

13 fields

EXAMPLE

Gutendex Error Example

1 fields

EXAMPLE

Gutendex Format Example

6 fields

EXAMPLE

Gutendex Get Book Example

13 fields

EXAMPLE

Gutendex List Books Example

4 fields

EXAMPLE

Gutendex Person Example

3 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
🔗
OpenAPI
OpenAPI
🔗
JSONSchema
JSONSchema
🔗
JSONLD
JSONLD
👥
GitHubRepository
GitHubRepository
🔗
PublicAPIsListing
PublicAPIsListing
🔗
Plans
Plans
💰
Pricing
Pricing
🔗
RateLimits
RateLimits
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔑
Authentication
Authentication
🚀
GettingStarted
GettingStarted
🔧
Project Gutenberg MCP Server (bobbyhouse)
Tools
🔧
Project Gutenberg MCP Server (vellankis-space)
Tools
🔧
Gutenberg MCP Server (nasimcoderex)
Tools

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Gutendex API
  version: 1.0.0
items:
- info:
    name: Books
    type: folder
  items:
  - info:
      name: List Books
      type: http
    http:
      method: GET
      url: https://gutendex.com/books
      params:
      - name: author_year_start
        value: '1800'
        type: query
        description: Find books with at least one author alive on or after this year. Accepts positive or negative integers
          (negative for BCE).
      - name: author_year_end
        value: '1899'
        type: query
        description: Find books with at least one author alive on or before this year. Accepts positive or negative integers
          (negative for BCE).
      - name: copyright
        value: true,false
        type: query
        description: Filter by copyright status. Comma-separated values among `true` (copyrighted), `false` (public domain
          in the USA), and `null` (no available copyright information).
      - name: ids
        value: 11,12,13
        type: query
        description: Comma-separated list of Project Gutenberg ID numbers to retrieve.
      - name: languages
        value: en,fr
        type: query
        description: Comma-separated two-character language codes. Returns books in any of the listed languages.
      - name: mime_type
        value: text/html
        type: query
        description: Prefix-matched MIME type. Returns books that have at least one format whose MIME type starts with this
          value.
      - name: search
        value: dickens great
        type: query
        description: Space-separated keywords searched case-insensitively across author names and book titles. Up to 32 terms
          are honored.
      - name: sort
        value: ''
        type: query
        description: Sort order. `popular` (default) sorts by download count descending, `ascending` sorts by Project Gutenberg
          ID ascending, `descending` sorts by ID descending.
      - name: topic
        value: children
        type: query
        description: Case-insensitive key-phrase matched against bookshelf names and subject headings.
    docs: Returns a paginated list of book metadata from the Project Gutenberg catalog. Results are returned 32 per page and
      can be filtered by author birth/death year, copyright status, Project Gutenberg IDs, languages, MIME type, search keywords,
      and topic. By default books are sorted by popularity (download count, descending).
  - info:
      name: Get Book
      type: http
    http:
      method: GET
      url: https://gutendex.com/books/:id
      params:
      - name: id
        value: '1342'
        type: path
        description: Project Gutenberg ID number of the book.
    docs: Returns the metadata for a single book identified by its Project Gutenberg ID.
bundled: true