Goodreads Shelf Export to Spreadsheet
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Goodreads Shelf Export to Spreadsheet helps you get your book data out of Goodreads and into the format you need. The script extracts book titles, authors, ISBN, publication year, ratings, average rating, number of ratings, review text, date added, date read, shelves/tags, and page count from any shelf page. A floating export button appears on shelf pages—click it to download the entire shelf as a CSV file. You can export any shelf: read, currently-reading, to-read, or custom shelves. Choose to export all books or select specific books from the shelf. Filter by shelf, rating, or date added to export only the books you want. The export includes formatted headers and supports CSV or JSON formats. You can choose to include or exclude review text and metadata.
WHERE IT RUNS
This script runs on Goodreads, specifically on shelf pages (/shelf/show/, /review/list/, and user profile shelf views). It works on both desktop and mobile views, automatically detecting the books displayed on the page.
HOW TO USE
After installing through the BotGentz extension, navigate to any Goodreads shelf page. A floating export button appears on the page—click it to download your shelf as a CSV or JSON file. Use the configuration panel to customize your export: choose the export format (CSV or JSON), select your date format (ISO, US, or EU), toggle review inclusion on or off, toggle metadata inclusion on or off, show or hide the export button on pages, and enable or disable auto-detection of shelves. The panel displays the number of books found and allows you to scan the current shelf. Use the "Scan Shelf" button to manually extract books, "Export All" to download everything, or select specific books from the list and click "Export Selected".
BOOK DATA EXTRACTION WITH MULTI-SELECTOR STRATEGY AND FALLBACK PARSING
This script implements a book data extraction engine using a multi-selector strategy. The engine scans for book elements using platform-specific selectors (.bookalike, .shelfBook, .review, .bookRow) and generic selectors (.item, .row, .list-item) with content-based filtering. For each book element, the engine extracts metadata using targeted selectors for each field (title, author, ISBN, rating, etc.) with fallback regex patterns. The CSV generator handles quoted fields and escaped commas, while the JSON generator provides structured output. The export progress tracking uses a visual progress bar for large shelves. The filtering system allows users to select specific books for export.
THE PANEL
The configuration panel is fully draggable and remembers its position per-site using GM_setValue. It snaps to screen edges when dragged near them, collapses to a compact bubble when minimized, and supports Escape key for quick collapse. All settings—including button visibility, export format, review inclusion, metadata inclusion, date format, and auto-detection—are persisted across sessions.
PLEASE NOTE
This script requires the free BotGentz extension to run. The script runs on Goodreads and reads book data from shelf pages. It does not capture, store, or transmit any personal information. All book data is processed locally in your browser and never transmitted to external servers. The script reads only publicly visible book information displayed on the page. Due to Goodreads' page structure, some metadata may not be available for all books. The export includes data that is visible on the current page; for large shelves, you may need to scroll through all pages to capture the full shelf. This tool is provided for organizational and informational purposes only.