{"repo":"ScrapingBee/how-to-scrape-imdb-data","free":true,"listed":false,"github":"https://github.com/ScrapingBee/how-to-scrape-imdb-data","clone":"git clone https://github.com/ScrapingBee/how-to-scrape-imdb-data.git","description":"How to scrape IMDb data in Python or Node: title, rating, genres, cast, and director as JSON via ScrapingBee.","language":null,"stars":59,"topics":["data-extraction","data-scraper","film-data","imdb-scraper","movie-data","movie-data-scraper","proxy-scrape","residential-proxies","residential-proxy","scraper"],"license":null,"category":"scrapers-browser-automation","readme_excerpt":"How to Scrape IMDb Data (Python) Two ways to scrape IMDb, and when to use each. IMDb publishes structured data inside every title page, so for a handful of movies you can pull it for free with no proxy at all. Past a few requests, IMDb starts blocking you, and you need an IMDb scraper that rotates residential proxies. This repo shows both, so you know how to scrape IMDb data at any scale. You need a ScrapingBee API key for the production method. The free tier gives you 1,000 credits with no card required: scrapingbee.com. IMDb URLs and IDs Everything on IMDb hangs off a title id, the tt code in the URL. Inception is tt1375666 , so its page is: Grab the id from any IMDb URL and you can address the movie directly. That is the anchor for both methods below. Method 1: The free JSON-LD approach IMDb embeds a JSON-LD block ( ) in every title page with the title, rating, genres, cast, and director already structured. For a small job you can read it directly, no API needed. This works until it does not. IMDb rate-limits and blocks datacenter and repeated traffic, so the moment you loop over more than a few titles, the requests start coming back empty or challenged. That is the point where you move to Method 2. Method 2: The ScrapingBee API approach Send the same IMDb URL through ScrapingBee with premium proxy on and let extract rules return the fields as JSON. The proxy rotation is what keeps you from getting blocked, so this is the method that scales. Example response: The selectors","default_branch":null,"files":null,"tree":[],"storefront":"/r/ScrapingBee","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ScrapingBee/how-to-scrape-imdb-data/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}