How To Scrape Amazon Reviews Using Python (2025)

Sukhdev Miyatra•March 25, 2025•8 min read

How to scrape amazon reviews

Amazon is the go-to marketplace for millions of shoppers. And what’s the first thing people check before buying? The reviews.

Whether you're a brand, a marketer, or just someone doing research, getting access to a large number of Amazon reviews can be incredibly valuable.

But there’s a problem: Amazon doesn’t make it easy. As of November 5th, 2024, you now have to be logged in to see more than a handful of reviews.

This means scraping Amazon reviews the old-fashioned way has become a nightmare. Bots get blocked, CAPTCHAs pop up everywhere, and unless you like dealing with login sessions and headless browsers, you’re in for a rough time.

In this turorial, we will teach you the two methods for web scraping Amazon reviews.

Two Methods to Scrape Amazon Reviews

There are two primary ways to extract Amazon reviews:

  1. Using Python: A DIY method where you write a scraper using BeautifulSoup and requests.
  2. Using Unwrangle API: A hassle-free approach that bypasses login restrictions, CAPTCHAs, and geo-restrictions.

In this guide, we’ll walk you through both methods and explain what each approach can scrape.

What We Will Scrape In This Tutorial

With Python Method:

  • Product Title
  • Reviewer Names
  • Review Titles
  • Review Texts
  • Review Ratings
  • Review Dates
  • Review Images (if available)

With Unwrangle API Method:

  • Everything Python can scrape, plus:
  • More reviews than Amazon allows per page
  • Filter reviews by keywords (e.g., "battery life")
  • Filter by positive or critical reviews
  • Retrieve reviews from more countries
  • Fetch reviews for all variants or a specific one
  • Get media reviews only (images/videos)

Let's first understand how Amazon prevents scraping.

Understanding Amazon's Anti-Scraping Measures

Amazon implements multiple layers of security to prevent automated data extraction, making it challenging for scrapers. Here are some of the major obstacles:

Amazon Review Challenges

Method 1: Step-by-Step Guide to Extracting Amazon Reviews Using Python

Step 1: Install Required Libraries

Ensure you have requests, beautifulsoup4 and csv installed:

Step 2: Import Libraries

Step 3: Define Headers to Avoid Blocks

Amazon aggressively blocks bots, so you should use headers to mimic a real browser.

Step 4: Fetch the Amazon Product Page

Replace URL_HERE with the actual Amazon product page URL.

Step 5: Extract Data from Reviews

Finding the Selectors for Specific Elements

To extract these attributes, you'll need to locate their unique CSS selectors. Use your browser's Inspect tool (F12) to examine the page's structure and identify the relevant selectors.

Amazon Review browser inspect elements

For example:

  • Reviewer Name is in the <span> tag with the class a-profile-name
  • Review Title is found in an <a> tag with data-hook="review-title"
  • Review Text is stored in a <span> tag with data-hook="review-body"
  • Review Rating is found inside an <i> tag with data-hook="review-star-rating"
  • Review Date appears in a <span> tag with data-hook="review-date"
  • Review Images can be found in the src attribute of an <img> tag with data-hook="review-image-tile"

Extract Reviewer Names

Extract Review Titles

Extract Review Texts

Extract Review Ratings

Extract Review Dates

Extract Review Images (if available)

Step 6: Save Reviews to CSV

Preview:

Amazon Review data preview

You can also check our tutorial on how to scrape Amazon product details with python.

Method 2: Scraping Amazon Reviews Using Unwrangle API

Unwrangle offers a far superior alternative to manual scraping:

  • Retrieve reviews from more countries

  • Filter reviews by keyword (e.g., "battery life")

  • Get more reviews than allowed per page

  • Filter by positive or critical reviews

  • Fetch reviews for all or specific variants

  • Retrieve media reviews only (images/videos)

For more Info Check Our Documentation Page: Amazon Product Reviews API

How to Use Unwrangle API to Scrape Amazon Reviews

Step 1: Prerequisites

Before making API requests, ensure you have the following:

  • Requests library Run the following command from your terminal(if you don't have the requests library installed already):
  • Unwrangle API Key: Sign up on Unwrangle to get one
  • Amazon Cookie: Extract your session cookie after logging in to Amazon

How to Get or Extract Amazon Cookies:

To scrape Amazon reviews, you need to provide your Amazon session cookie (cookie parameter). Here’s how you can extract it from your browser:

  1. Go to Amazon and log into your account.
  2. Right-click anywhere and select Inspect.
  3. Navigate to the Application tab.
  4. Under Storage, click Cookies and select amazon.com.
  5. Look for a cookie named session-id or session-token.
  6. Copy its value and use it in your API request.

Step 2: Making a Basic API Request

Use the following Python script to fetch Amazon reviews using Unwrangle:

Step 3: Response Format

Each request returns up to 10 results. The response will include the following attributes:

Attributes Returned Data Type Information Represented
id string Retailer ID of the review
date string Date when review was published
author_name string Reviewer's name
author_url string Reviewer's retailer profile link
rating int Rating by reviewer
review_title string Review title
review_url string Link to review
review_text string Review's text content
review_imgs list Links to reviewer's images, if any
review_videos list Links to reviewer's videos, if any
meta_data dict Dict containing meta data. For example, verified purchase status and variant info
meta_data.verified_purchase boolean Whether the review is from a verified purchase
meta_data.variant_info list List of variant details for the reviewed product
meta_data.helpful_vote_count int Number of helpful votes for the review
location string Country-level location of reviewer
rating_distribution dict Distribution of ratings for the product

Step 4: Handling the API Response

Once you receive the JSON response, you can extract and analyze the data:

Preview:

Amazon Review Unwrangle Preview

More Ways to Scrape Amazon Data

If you are looking for other Amazon data we have also APIs for:

With these, you can Instantly retrieve product details like prices, images, and descriptions. Easily fetch customer reviews, including ratings and review text. Get structured JSON responses that are easy to integrate into your code.