Skip to content

Access and download ebooks from the Gutenberg Project library directly to your terminal using Gutendex!

Notifications You must be signed in to change notification settings

nathaneltitane/gutengrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 

Repository files navigation

dextop

Donate

[ GutenGrab // Project Page ] [ Version // 11-07-2025 ]


NOTICE

11-07-2025 ↴

  • Update readme

Welcome to GutenGrab

GutenGrab, the Project Gutenberg Terminal Interface: access the project's book catalog via the Gutendex API, stright from your terminal emulator!

With GutenGrab, you can:

  • Search for books by title, author, or subject (with optional language filtering).
  • View book details, including:
    • title, author, languages, subjects, and available formats.
  • List all available download formats:
    • EPUB, MOBI, TXT, HTML, etc.
  • Download books in EPUB format (for now).
  • Save and reuse search results:
    • download all books from the last search using the 'all' argument'.

TL;DR

The script automatically installs and manages what it needs:

  • curl
  • jq
  • frobulator (auto-downloaded to ~/.local/bin/frobulator if missing)

Clone the repository ↴

git clone https://github.com/nathaneltitane/gutengrab.git

Move into the directory ↴

cd gutengrab

Make it executable ↴

chmod +x gutengrab

Run it ↴

bash gutengrab

Or install globally ↴

sudo install -m 755 gutengrab /usr/local/bin/gutengrab

Features

  • Search books by title, author, or subject
  • Filter by language (e.g. en, fr, es)
  • View details: title, author, subjects, and formats
  • Download EPUB books directly
  • Batch download using all to fetch every result from your last query
  • Interactive TUI with colorized feedback (uses frobulator)

Usage

Once launched, GutenGrab presents a menu of actions:

[ 1 ] [S]earch for a book           [ author | title | subject ]
[ 2 ] [G]et book details            [ id ]
[ 3 ] [D]ownload book(s) (epub)     [ id ]
[ 4 ] [E]xit

Search

Enter a keyword (alphanumeric), for example:

[ + ] Enter search query [ author / title / subject ]: pride
[ + ] Enter language - [ ↵ ] to skip [ en / fr / es / .. ]: en

Results are fetched from Gutendex and displayed in a readable format with IDs, titles, authors, and EPUB links.


Book Details

To fetch detailed info about a book:

[ + ] Enter book identifier: 1342

Outputs title, author, subjects, and available download formats.


Download Book(s)

You can download:

  • One or multiple books by ID:

    [ + ] Enter Book identifier(s): 1342 84
    
  • All books from your last search:

    [ + ] Enter Book identifier(s): all
    

Downloaded files are saved in your current directory as:

<Author> - <Title>.epub

API Reference

Uses the public Gutendex API for:

  • /books/?search={query}
  • /books/{id}/
  • Supports all ISO-639-1 language codes
  • Integrates seamlessly with frobulator for interface styling and error handling
  • Tested on Debian-based systems (Termux compatible)

Reports:

Submit bug report or feature request

Projects:

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars

GitHub Repo stars


[ GutenGrab // Project Page ] [ Version // 11-07-2025 ]

Enjoying Dextop? Buy me a coffee to show your appreciation!

Donate

About

Access and download ebooks from the Gutenberg Project library directly to your terminal using Gutendex!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages