Project Gutenberg Books Scraper avatar

Project Gutenberg Books Scraper

Pricing

from $19.00 / 1,000 result items

Go to Apify Store
Project Gutenberg Books Scraper

Project Gutenberg Books Scraper

Scrapes Project Gutenberg catalog for book metadata, subjects, bookshelves, and download links. Filter by search query, topic, language, author year, or book ID.

Pricing

from $19.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge

Project Gutenberg Books Scraper

Scrape Project Gutenberg books by title, author, topic, or language, up to a million per run. Every book comes with its metadata, subjects, bookshelves, and download links. No login or API key. Export to CSV, JSON, Excel, or XML.

Project Gutenberg's official catalog has no bulk export and no API for filtered searches. This reads the public catalog directly, filtered by title, author, topic, language, or author years, and returns each match in one fixed schema.

Who uses itWhat they scrape Project Gutenberg for
Digital librariansBuilding a local catalog of public domain titles for a library system
Literary researchersGathering all works by an author or within a topic for corpus analysis
Book app developersPopulating a reading app with metadata and download links for free ebooks
EducatorsCompiling reading lists by language, topic, or historical period

What it does

This Actor collects Project Gutenberg book records by search query, topic, language, author year range, or specific book IDs, and returns each one as a flat row.

  • 🔎 Catalog search: match titles and author names with a keyword query, multiple words are AND-combined.
  • 🌐 Language filter: restrict results to one of 20 languages using ISO 639-1 codes.
  • 📚 Topic filter: match subjects or bookshelves like children, science, philosophy, history, fiction, or religion.
  • 📅 Author year range: filter by author birth or death year, use negatives for BCE.
  • 🆔 Direct lookup: fetch specific titles by their Project Gutenberg book ID, overrides other filters.

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

What you can do with Project Gutenberg data

📖 Build a digital library catalog.

A librarian runs the Actor with a topic filter like 'science' and language 'en' to gather metadata for a curated collection.

🔬 Analyze literary trends.

A researcher collects all books by authors born between 1800 and 1900 to study 19th-century fiction.

📱 Populate a reading app.

A developer fetches book IDs for classic titles to include download links and metadata in their app.

🌍 Create multilingual reading lists.

An educator filters by language 'es' and topic 'children' to compile Spanish children's books for a classroom.

Why choose this scraper

What you get
No API keyReads the public catalog directly, no registration or rate limits
70K+ booksAccess the full Project Gutenberg collection of free public domain ebooks
Fixed schemaEvery book returns the same flat fields for easy processing
Flexible filtersCombine search, topic, language, and author year to narrow results
ScalableCollect up to a million books per run

How it compares

This Actor and the listed competitor both scrape Project Gutenberg, but they differ in filter options and output details.

FeatureParseForgeProject Gutenberg Scraper
Search by title or authorYesYes
Filter by topicYesNot listed
Filter by languageYesNot listed
Filter by author year rangeYesNot listed
Lookup by book IDYesNot listed
Download links (EPUB, Kindle, TXT, HTML)YesYes

Configure the run

Drive the Actor from search queries, topics, languages, author year ranges, and specific book IDs, alone or together, and filters run 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,
"searchQuery": "shakespeare"
}

A larger pull:

{
"maxItems": 200,
"searchQuery": "shakespeare"
}

Pricing

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

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

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/gutendex-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 your filters. If you used book IDs, they override other filters. Otherwise, try broadening your search query or removing some filters.

Why did the run stop before reaching my maximum books?

The Actor stops when there are no more matching books in the catalog. Try adjusting your filters to get more results.

How do I search for a phrase with multiple words?

Join the words with %20 in the search query field. For example, 'sherlock%20holmes' will match books with both words.

Can I get the full text of the books?

No, this Actor returns metadata and download links, not the full text. You can use the download links to fetch the text separately.

Why is my language filter not working?

Make sure you use the correct ISO 639-1 code, such as 'en' for English or 'es' for Spanish. The select field lists all supported codes.

FAQ

QuestionAnswer
Do I need an API key or login?No. This Actor reads the public Project Gutenberg catalog directly, so no registration or authentication is required.
How many books can I scrape in one run?You can set the maximum books field up to 1,000,000. The Actor will stop after collecting that many matches.
Can I search by author name?Yes. Use the search query field with the author's name, and it will match against both titles and author names.
What languages are supported?The language filter includes 20 languages: English, Spanish, French, German, Italian, Portuguese, Russian, Chinese, Japanese, Arabic, Dutch, Latin, Greek, Finnish, Swedish, Polish, Hungarian, Tagalog, Catalan, and Czech.
How do I get a specific book?Use the book IDs field and enter the Project Gutenberg ID, for example 1342 for Pride and Prejudice. This overrides other filters.
What is the topic filter?It matches against subjects and bookshelves in the catalog, such as children, science, philosophy, history, fiction, or religion.
Can I filter by author birth or death year?Yes. Use author year start and end fields. Use negative numbers for BCE dates.
What output formats are supported?You can export the results to CSV, JSON, Excel, or XML from the Apify dataset.
Is the data up to date?The Actor reads the live Project Gutenberg catalog at the time of the run, so it reflects current listings.
Can I combine filters?Yes. You can combine search query, language, topic, and author year range to narrow results. Book IDs override other filters.

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.