Search Gutenberg Books
gutenberg_search_booksSearch the Project Gutenberg catalog of 78,000+ public-domain books. Matches title and author name with query words; filters by topic (subject or bookshelf keyword), language, author lifespan, or a specific list of Gutenberg IDs. Results are ordered by popularity (download count) by default. Returns book ID, title, authors, languages, subjects, and download count — use gutenberg_get_book for the full formats map before fetching text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Narrow results to specific Gutenberg ID numbers. Other filters still apply. Useful for batch pre-fetching known IDs; use gutenberg_get_book for single-ID lookups. | |
| page | No | Page number for paginated results (1-indexed). Each page returns up to 32 books. Use totalCount to determine total pages. | |
| sort | No | Result ordering. "popular" (default) sorts by download count descending. "ascending" and "descending" sort by Gutenberg ID number. | popular |
| query | No | Words to match against book titles and author names (case-insensitive, space-separated). Example: "dickens expectations" matches Great Expectations by Charles Dickens. | |
| topic | No | Case-insensitive phrase to match against subjects and bookshelves. Example: "detective" returns books on the "Detective and Mystery Stories" bookshelf. Separate from query — topic searches categorization metadata, not title/author. | |
| languages | No | Filter to books in any of these two-character ISO 639-1 language codes. Example: ["en"] for English, ["fr", "de"] for French or German. | |
| author_year_end | No | Include only books with at least one author alive on or before this year. Example: author_year_start=1800 with author_year_end=1899 returns books with 19th-century authors. | |
| author_year_start | No | Include only books with at least one author alive on or after this year (positive = CE, negative = BCE). Combine with author_year_end for a range. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Current page number. | |
| books | No | Matching books, ordered by the sort parameter. | |
| error | No | Present when the call failed. Absent on success. | |
| hasMore | No | True if there are additional pages of results. | |
| totalCount | No | Total number of books matching the query across all pages. |