Amazon Books Scraper
Extract bestseller book data, ratings, pricing, and author info from Amazon Books. Built on spider-browser .
- target
- amazon.com/books
- success rate
- 99.9%
- latency
- ~4ms
Extract data in minutes.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.amazon.com/best-sellers-books-Amazon/zgbs/books/");
await page.content();
const data = await page.evaluate(`(() => {
const books = [];
document.querySelectorAll("[data-asin], [id*='gridItemRoot']").forEach(el => {
const rank = el.querySelector("[class*='badge'] span, [class*='rank'] span")?.textContent?.trim();
const title = el.querySelector("a[href*='/dp/'] span")?.textContent?.trim();
const author = el.querySelector("a[href*='/e/'] span, [class*='author'] a")?.textContent?.trim();
const rating = el.querySelector(".a-icon-alt")?.textContent?.trim();
const price = el.querySelector("[class*='price'] span, span[class*='a-price'] span")?.textContent?.trim();
if (title) books.push({ rank, title, author, rating, price });
});
return JSON.stringify({ total: books.length, books: books.slice(0, 20) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Fields you can pull.
Course catalog data
Extract courses, instructors, ratings, and pricing from amazon.com/books.
Dynamic catalogs
Handle filtered search results, pagination, and lazy-loaded course cards.
Platform coverage
Scrape entire course catalogs across categories and skill levels.
More Education scrapers.
Coursera Scraper
Extract course listings, instructor data, ratings, and enrollment info from Coursera.
Udemy Scraper
Extract course listings, pricing, instructor reviews, and curriculum data from Udemy.
edX Scraper
Extract course catalogs, university partners, certificates, and program details from edX online learning platform.
Start scraping amazon.com/books.
Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.