Project Gutenberg Books Scraper avatar

Project Gutenberg Books Scraper

Pricing

from $13.00 / 1,000 result items

Go to Apify Store
Project Gutenberg Books Scraper

Project Gutenberg Books Scraper

Scrapes Project Gutenberg book metadata via the Gutendex API. Returns title, authors, subjects, download count, copyright status, and direct links to ebook formats for each book.

Pricing

from $13.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

5 days ago

Last modified

Share

ParseForge

Project Gutenberg Books Scraper

Scrape Project Gutenberg books by search term, language, topic, or author era, up to a million per run. Every book comes with its title, authors, download count, subjects, and direct links to EPUB, MOBI, TXT, and HTML formats. No API key required. Export to CSV, JSON, Excel, or XML.

Project Gutenberg's own site is built for reading, not for bulk research. This Actor queries the public Gutendex API so you can pull thousands of book records in one go, filtered exactly how you need them. Search by keyword, restrict to a language like 'fr' for French, narrow by topic, or target authors born in a specific century. Each result lands in a flat, predictable row ready for analysis.

Who uses itWhat they scrape Project Gutenberg for
Digital humanities researchersBuild a corpus of 19th-century English novels for text analysis.
Librarians and archivistsAudit available public-domain titles on a specific subject heading.
Language learning app developersGather a list of free French or Spanish texts with direct ebook links.
Data journalistsAnalyze publication trends by author birth year and topic over time.

What it does

This Actor collects Project Gutenberg book metadata by search query, language, topic, and author birth year, and returns each book as a flat row with download links.

  • ๐Ÿ” Search-driven collection: Feed it a keyword like 'tolkien' or leave it empty to pull the most popular books on Gutenberg.
  • ๐ŸŒ Language filter: Restrict results to one or more ISO 639-1 codes, such as 'en' for English, 'es' for Spanish, or 'de,fr' for German and French.
  • ๐Ÿ“š Topic and subject filter: Narrow by Library of Congress subject heading with a substring match, e.g. 'Science fiction' or 'History'.
  • ๐Ÿ“… Author era filter: Set a birth-year range to target authors from a specific period, like 1800 to 1900.
  • ยฉ๏ธ Copyright status: Choose to see only public-domain works, only copyrighted ones, or all.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Project Gutenberg data

๐Ÿ“– Build a reading list for a language course.

A Spanish teacher filters by language 'es' and topic 'Readers' to collect graded public-domain texts with direct download links for students.

๐Ÿ“Š Analyze literary history by author birth year.

A researcher sets author birth years from 1800 to 1900 and topic 'English literature' to chart the rise of the novel across the 19th century.

๐Ÿ”Ž Audit a niche subject collection.

A librarian searches for 'cookery' and filters to public-domain only to see what free historical recipe books are available for digitization.

๐Ÿ“ฑ Populate a free ebook app with direct links.

A developer pulls the top 10,000 English books by download count and uses the format URLs to offer in-app EPUB and HTML reading.

Why choose this scraper

What you get
No API key or registrationThe Gutendex API is open. You set the filters and the Actor handles pagination and rate limits.
Direct ebook linksEvery record includes URLs for EPUB, MOBI, TXT, and HTML formats so you can download the full text.
Rich metadataGet title, authors, languages, download count, subjects, bookshelves, and copyright status in one row.
Scalable collectionPull up to a million books per run, far beyond what a manual browser session can do.

How it compares

Three other actors scrape Project Gutenberg via the same Gutendex API. This one adds author birth-year range filtering and a copyright status toggle alongside the standard search, language, and topic filters.

FeatureParseForgeProject Gutenberg Books ScraperGutendex Books Scraper - Gutenberg MetadataGutenberg Scraper ยท Books, Authors, Subjects & Downloads
Search by keywordYesYesYesYes
Filter by language (ISO 639-1)YesYesYesYes
Filter by topic/subjectYesYesYesYes
Filter by author birth-year rangeYesNot listedNot listedNot listed
Filter by copyright statusYesNot listedNot listedNot listed
Direct ebook download links (EPUB, MOBI, TXT, HTML)YesYesYesYes

Configure the run

Drive the Actor with a search term, and optionally filter by language, topic, author birth-year range, and copyright status. Filters are applied as each book is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"query": "tolkien"
}

A larger pull:

{
"maxItems": 200,
"query": "tolkien"
}

Pricing

Pay-per-result: $0.01733 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$1.73
1,000 results$17.33
10,000 results$173.30

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Project Gutenberg Books Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Project Gutenberg through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/project-gutenberg-books-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your filters are not too restrictive. Try removing the topic or author year range, or broaden your search term. An empty search with no filters returns the most popular books.

Why are some download links missing?

Not every format is available for every book. Project Gutenberg generates formats based on the source text. A missing MOBI link means that format was not produced for that title.

The language filter is not working as I expected.

Use ISO 639-1 two-letter codes like 'en', 'fr', 'de'. Check for typos and ensure codes are comma-separated without spaces. The filter matches the language metadata in the Gutenberg catalog.

I am getting fewer results than my maxItems setting.

The Actor stops when it has collected your requested number of books or when no more books match your filters, whichever comes first. Broaden your filters to get more results.

The run is taking a long time.

Large requests with high maxItems values will paginate through many pages. The Gutendex API has rate limits, and the Actor respects them. Reduce maxItems or narrow your filters for faster runs.

FAQ

QuestionAnswer
Do I need a Project Gutenberg account or API key?No. This Actor uses the open Gutendex API, which requires no registration, no key, and no authentication.
What formats can I get download links for?Each book record includes direct links to EPUB, MOBI, TXT, and HTML formats when they are available on Project Gutenberg.
How do I search for books by a specific author?Put the author's name in the search term field. The query matches against title and author name, so 'Austen' will return Jane Austen's works.
Can I filter by multiple languages at once?Yes. Enter comma-separated ISO 639-1 codes in the language field, like 'en,fr,de' to get books in English, French, and German.
What does the topic filter match against?It does a substring match against the Library of Congress subject headings. 'Science' will match 'Science fiction', 'Political science', and 'Science -- History'.
How do I get only public-domain books?Set the Copyright filter to 'Public domain'. This excludes the small number of copyrighted works that Gutenberg hosts with permission.
What is the maximum number of books I can scrape in one run?You can set the maximum up to 1,000,000 books. The Actor will paginate through results until it hits your limit or runs out of matches.
Does this Actor download the full book text?No. It collects metadata and direct links to the ebook files. You can use those links in a separate process to download the full texts.
Can I leave the search field empty?Yes. An empty search returns all books, ranked by popularity on Project Gutenberg. Combine it with other filters to narrow the set.
How are author birth years used?Set a start year and an end year to include only authors born in that range. This is useful for period studies, like targeting Victorian-era writers.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Project Gutenberg Literary Archive Foundation. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.