IMDb Scraper
Extract movie ratings, cast info, box office data, and reviews from IMDb. Powered by spider-browser .
Extract data in minutes
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.imdb.com/chart/top/");
await page.content();
const data = await page.evaluate(`(() => {
const movies = [];
const headings = [...document.querySelectorAll("h3")].filter(h =>
h.closest("a[href*='/title/']") || h.parentElement?.querySelector("a[href*='/title/']")
);
headings.forEach(h3 => {
const title = h3.textContent?.trim();
const link = h3.closest("a[href*='/title/']") || h3.parentElement?.querySelector("a[href*='/title/']");
const href = link?.getAttribute("href");
const container = h3.closest("li");
let year = "";
if (container) {
container.querySelectorAll("span").forEach(s => {
if (/^\\d{4}$/.test(s.textContent?.trim() || "")) year = s.textContent.trim();
});
}
const rating = container?.querySelector("[aria-label*='rating' i]")?.getAttribute("aria-label") || "";
if (title) movies.push({ title, href, year, rating });
});
return JSON.stringify({ total: movies.length, movies: movies.slice(0, 20) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Data you can extract
Rich data extraction
Extract titles, view counts, and engagement metrics from imdb.com.
Dynamic content
Handle lazy-loaded comments, recommendations, and infinite scroll.
Channel-level scraping
Process entire channels and playlists with automatic pagination.
More Media scrapers
Extract video metadata, channel statistics, view counts, comments, playlist data, and trending content from YouTube. Full rendering for dynamic content and infinite scroll.
Extract live stream data, channel info, viewer counts, and game categories from Twitch.
Extract playlist data, track listings, artist info, and album metadata from Spotify.
Start scraping imdb.com
Get your API key and start extracting data in minutes.