Etsy Reviews Scraper

What buyers wrote
after it arrived.

Paste Etsy listing review URLs, one per line, and the review section comes back as a table - who wrote it, the rating, the headline, the review text and the date, alongside the listing's own overall rating and review count. Ten columns, one row per review, sorted the way you choose.

one-time 500 free rows$0.002 per row afterone row per reviewCSV · JSON · Excel
How it works

A listing link,
and a sort.

One required field and two controls. The sort is the one worth thinking about.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the Etsy Reviews Scraper.
  3. STEP 3Paste Etsy listing review URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query if you want one. The field takes a minimum of 1 and defaults to 100; leave it empty to take everything.
  5. STEP 5Pick a sort: Relevancy, Most Recent, Highest Rating or Lowest Rating.
  6. STEP 6Click Get Data and download as CSV, JSON or Excel.

The limit is per query, not per run: five listings with a limit of a hundred is a hundred reviews from each, not a hundred altogether.

Why teams use it

Four sorts,
and one default worth changing.

Relevancy is the default, not the neutral choice

The sort opens on Relevancy, which is Etsy's own ordering rather than an unopinionated one. If you take the default and read the first hundred rows, you are reading what the marketplace chose to surface. Lowest Rating is the setting that answers the question most people arrive with, and switching it costs one click.

Most Recent, for a shop that changed

Small sellers change materials, printers and shipping partners, and a listing's review history outlives all of those. Most Recent reads the current state of the shop; Relevancy may hand you a beloved review from three suppliers ago. Which one you want depends on whether you are judging the product or the seller as they are today.

The listing's own score, beside the review's

aggregate_rating and review_count describe the listing rather than the individual review - that is what the names say, and it is why they sit in a per-review row at all. Kept beside rating, they are what let you weigh one review against the average it sits in: a two-star among four hundred fives reads very differently from a two-star among nine. Whether they are filled in on every row or only where the export chooses to is the kind of thing to check on your first run; we have never seen a populated one.

Data dictionary

Ten columns,
and names we can prove.

These names are confirmed twice: they are the service's own declared list, shared with the other review scrapers on this pipeline, and they are the key order of every export we hold. What each column is for is below. What each will contain is not - the note explains why.

query
The listing URL you submitted, echoed back on every row that came from it. The scraper writes it, so it is there even when the request failed - group by it whenever a file covers more than one listing.
product
The listing the review belongs to, repeated on each of its rows.
author
The reviewer, as the review is credited.
rating
The rating on the individual review. No scale is stated here - see the note below.
title
The review headline, kept separate from the body.
review
The review body text.
date
When the review was posted, as the export reports it.
aggregate_rating
The listing's overall rating rather than this review's - an attribute of the listing the review sits on. Whether it repeats on every row of that listing is the obvious reading, but we have not seen a populated row and are not asserting it.
review_count
The listing's total review count rather than anything about this review. Useful as the denominator when you are judging how much weight a single review deserves - again, read it on your own first run rather than trusting a description here.
status
What happened to this request - read this one first. Because a failed request still comes back as a labelled row rather than vanishing, you can tell exactly which input URL did not work. A row can arrive with all ten fields present and still be a failure notice rather than a review.

The names are solid. Everything past the names is your first run's job, and here that caveat is unusually strong. We hold three run exports for this service and none of them contains an Etsy review. Every review column - product, author, rating, title, review, date, aggregate_rating, review_count - was empty on all three rows; only query and status carried anything at all. Two of the three had been pointed at a placeholder address that is not Etsy at all, and came back http 404. The third used the form's own example URL, whose listing id we have no reason to think is a real listing, so it is not evidence about a real Etsy product either. Those runs tell you the export's shape and nothing whatsoever about its contents. What they do confirm is the column list: the key order is identical across all three exports and matches the service's declared set exactly. Everything else - what a rating looks like, what format a date arrives in, whether aggregate_rating is a number or a string - is deliberately absent rather than guessed. The form also warns that anti-bot sites return a blocked status on the free pool, which is residential-only; that is the platform's own warning about the shared pipeline and it is worth planning for. Run the free tier against one real listing and read the key order and the first few values before you build on them.

Common workflows

Three jobs people
run this for.

All of them start from a listing link you can copy out of the site.

Seller

Find the complaint that repeats across a listing

Handmade and made-to-order goods fail in ways a spec sheet does not describe - a colour that photographs differently, a size that runs small, a delivery that took longer than the estimate. Sort by Lowest Rating and read the text, and the same two or three complaints usually surface again and again.

Sellers · Ops
Competitive

Read a rival listing instead of guessing at it

A competing listing's review section is the most candid description of it you will get, and it is public. Point the scraper at their listing and you get the same ten columns you get for your own, so the two files compare directly.

Strategy · Market intel
Sourcing

Check a supplier before you commit to them

If you are about to resell, white-label or dropship from a shop, its listing reviews are the cheapest due diligence available. Most Recent tells you what buyers are experiencing now rather than what the listing earned its rating on.

Sourcing · Buying
Pricing

Pay per review row,
nothing else.

No subscription, no minimum, no per-seat licence. Your first 500 rows are on us - after that it is pay-as-you-go.

Free tier

500 free rows - $0

For every new account, one time. No credit card. All scrapers unlocked. Given that no run we hold has returned a real review, this is the part that matters most here: spend a few rows establishing what this export actually contains before you plan around it.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 reviews, the same flat rate as every other scraper on the platform. The limit is per query, so ten listings with a limit of a hundred is a thousand rows - worth the arithmetic before you start, and a good reason to narrow the sort first.

Most popular
Enterprise

Custom - whole shops, on a schedule

Volume pricing, SLAs, dedicated workers and tailored onboarding for teams tracking a catalogue rather than a single listing. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The same shop,
from another angle.

Reviews are one view of a listing. These return the others in the same shape.

The legal bit

Is it legal to scrape
Etsy reviews?

Short answer: yes, when you only collect what is publicly visible on a listing page - and that is all this service reads.

A listing's review section is public. Anyone can open it without an account and read it, and collecting publicly visible information for product and market research is long-settled practice. As long as the data is publicly available and the process does not disrupt the service, there are no federal laws against it.

Reviews are written by people, though, and author is a display name. Publicly visible is not the same as free of obligation: if you store it, you are handling personal data, and the GDPR and similar regimes apply to you regardless of where you got it. Reading complaints to fix a product is an easy case; building a durable file on individual buyers is not, and this service is not intended for it.

Etsy's terms restrict automated access, so this remains a question of terms. We touch nothing behind a login, read only what an ordinary visitor sees, run no third-party trackers on the data layer, and your exports self-delete after 30 days.

livescraper.app · principles
Public listing pages only
No logins, no paywalls
Reviewer names are personal data - handle them as such!
GDPR-aligned by default
Exports self-delete (30 days)
The same reviews any shopper sees on the listing.
Common questions

Things people ask before signing up.

The questions we hear most. Something else? Talk to us - humans write the answers, not bots.

What columns will the export contain?+
Ten: query, product, author, rating, title, review, date, aggregate_rating, review_count and status. That is the service's own declared list, shared with the other review scrapers on this pipeline, and it matches the key order of every export we hold.
What do I submit?+
An Etsy listing review URL, one per line - the form's own example is an etsy.com/listing/ address ending in /reviews. You can upload a CSV, XLSX, TXT or Parquet file instead of pasting.
What are the sort options?+
Four: Relevancy, Most Recent, Highest Rating and Lowest Rating. Relevancy is the first option and therefore the default, which is worth knowing - it is the marketplace's own ordering rather than a neutral one, so switch to Lowest Rating if you came looking for problems.
What is the difference between rating and aggregate_rating?+
rating belongs to the individual review; aggregate_rating is the listing's overall score rather than that review's, and review_count is the listing's total. Keeping both kinds of column is what lets you judge a single review against the average it sits in. How they are populated across the rows of one listing is something to confirm on your own first run - we have never seen a populated export for this service.
What format is the date column?+
We do not say, and that is deliberate. None of the runs we hold returned a review, so we have never seen a value in it. Guessing would be worse than useless, because a date column is exactly the kind of field people write parsing code against. Run the free tier on one listing and look at it first.
Have you actually run this?+
Three times, and not one run returned an Etsy review - every review column was empty on all three. Two of them had been pointed at a placeholder address that is not Etsy at all and came back with a status of http 404. The third used the form's own example URL, whose listing id we have no reason to think is a real listing. That tells you the shape of the export and nothing at all about its contents, and we would rather say so than dress the page up.
Does it need a proxy?+
The form warns that anti-bot sites return a blocked status on the free pool, which is residential-only. That is the platform's own warning about the shared pipeline rather than a statement about this marketplace, and it is worth planning for. What we can tell you from our side is narrower and more useful: none of the three run exports we hold came back with a review in it, so read the status column on your own first run before you build anything on the rest.
What does it cost?+
The first 500 rows on a new account are free and one-time; after that it is $0.002 per row - about $2 per 1,000 - pay-as-you-go with no subscription. Credits do not expire and there is no monthly reset.

Sort by lowest rating
and read the text.

Paste one listing URL, change the sort away from Relevancy, and see what buyers actually wrote. Your first 500 rows are free.

Activates instantly · no card required

Export Etsy listing reviews as rows

Etsy reviews are written by people who bought something made in small numbers, often to order, from a seller they will never meet. That makes the review section unusually informative and unusually hard to read in bulk, because it is a widget you can only scroll. This service turns it into a table: paste Etsy listing review URLs, one per line, and each review comes back as a row - the author, the rating, the headline, the body text and the date, alongside the listing's own overall rating and total review count. Ten columns, one row per review.

Two controls shape the run. The limit is per query rather than per run, so ten listings at a hundred each is a thousand rows; the field takes a minimum of 1 and defaults to 100, and leaving it empty takes everything. The sort has four settings - Relevancy, Most Recent, Highest Rating and Lowest Rating - and the first of those is the default. That is worth a moment's thought: Relevancy is the marketplace's own ordering, not a neutral one, so if you take the default you are reading what Etsy chose to surface. Lowest Rating is the setting that answers the question most people arrive with, and Most Recent is the one that tells you what a shop is like now rather than what it was like when it earned its average.

Keeping the review-level and listing-level scores in separate columns is what makes the export analysable. rating is this review; aggregate_rating and review_count belong to the listing the review sits on. A two-star review among four hundred five-stars is a different fact from a two-star among nine, and only the second pair of columns tells you which you are looking at. Exactly how those two are filled in across a listing's rows is worth a glance on your first run, since we have never seen a populated export to describe.

One limit is stated plainly because it changes what to expect from this page. We hold three run exports for this service and none of them contains an Etsy review: every review column was empty on all three. Two had been pointed at a placeholder address that is not Etsy at all and came back http 404; the third used the form's own example URL, whose listing id we have no reason to think is a real listing. What survives is the column list, and it survives well - the key order is identical across all three exports and matches the service's declared set. So the ten names above are dependable, and everything past them - what a rating looks like, what format a date arrives in, whether the aggregate is a number or a string - is deliberately absent rather than invented. The form also warns that anti-bot sites return a blocked status on the free pool, which is residential-only; that is the platform's own warning about the shared pipeline and it is worth planning for. Run one listing on the free tier and read the first few rows yourself; your first 500 cost nothing and need no credit card. See pricing for current rates.