NEW AI Studio is now available Try it now
Education

Project Gutenberg Scraper

Extract free ebook catalogs, author bibliographies, download formats, and popularity rankings from Project Gutenberg. Powered by spider-browser .

Get Started Documentation
gutenberg.org target
99.5% success rate
~4ms latency
Quick Start

Extract data in minutes

project-gutenberg-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.gutenberg.org/ebooks/search/?sort_order=downloads");

const data = await page.evaluate(`(() => {
  const books = [];
  document.querySelectorAll(".booklink").forEach(el => {
    const title = el.querySelector(".title")?.textContent?.trim();
    const author = el.querySelector(".subtitle")?.textContent?.trim();
    const downloads = el.querySelector(".extra")?.textContent?.trim();
    const link = el.querySelector("a.link")?.getAttribute("href");
    if (title) books.push({ title, author, downloads, link });
  });
  return JSON.stringify({ total: books.length, books: books.slice(0, 20) });
})()`);

console.log(JSON.parse(data));
await spider.close();
✓ ready to run | spider-browser | TypeScript
Fetch API

Structured data endpoint

Extract structured JSON from gutenberg.org with a single POST request. AI-configured selectors, cached for fast repeat calls.

POST /fetch/gutenberg.org/
Book titleAuthorLanguageSubjectDownloadsRelease date
curl
curl -X POST https://api.spider.cloud/fetch/gutenberg.org/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/gutenberg.org/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/gutenberg.org/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Data you can extract

Book titleAuthorLanguageSubjectDownloadsRelease dateFormat types
Listings

Course catalog data

Extract courses, instructors, ratings, and pricing from gutenberg.org.

Rendering

Dynamic catalogs

Handle filtered search results, pagination, and lazy-loaded course cards.

Scale

Platform coverage

Scrape entire course catalogs across categories and skill levels.

Related

More Education scrapers

Start scraping gutenberg.org

Get your API key and start extracting data in minutes.