Etsy Reviews Scraper: Get Every Review via Official API
Pricing
$4.00 / 1,000 reviews
Etsy Reviews Scraper: Get Every Review via Official API
Pull EVERY review from an Etsy shop or listing through Etsy’s official Open API. No scraping, so no DataDome blocks and no captchas — and no “8 reviews out of 3,000”. Returns Etsy’s own review count so you can check the pull was complete. Reviews we cannot return are never charged.
Pricing
$4.00 / 1,000 reviews
Rating
0.0
(0)
Developer
Vanja V
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 hours ago
Last modified
Categories
Share
Pulls every review from an Etsy shop or listing: rating, review text, date, buyer language, buyer photo, and which listing it was left on.
Why other scrapers miss reviews
Most Etsy review scrapers read the storefront. The storefront is bot-protected and paginated for humans, so they tend to stop early. Paying for a shop with 3,000 reviews and getting 8 back is the usual complaint about review scrapers.
This one uses Etsy's official Open API. It reads reviews in blocks of 100, and Etsy tells it how many exist, so there is nothing to get blocked by.
Check the pull yourself
Every run prints Etsy's own review count next to the number of rows you got:
1,271 reviews from VintageImageMadness — Etsy reports 1,271. Complete.
If those two numbers differ, the run says why:
| reason | meaning |
|---|---|
complete | you have all of them |
row-cap | your "Max reviews" setting stopped it |
charge-limit | the run reached your maximum charge |
time-budget | the run hit its time limit; start it again to continue |
rate-limit | Etsy's daily API quota ran out; try later |
etsy-error | Etsy stopped answering after several retries. Run it again to pick up the rest |
Pricing
$4.00 per 1,000 reviews returned. No start fee and no per-dataset-item fee.
You are billed for rows you actually receive. If a run stops early for any of the reasons above, you pay for what arrived. A shop with no reviews costs nothing, and so does a shop name that turns out not to exist.
There is no cap by default. Leave "Max reviews" blank and you get everything; set it if you would rather spend less. The median Etsy shop has around 1,800 reviews and large ones run past 15,000, so it is worth deciding before you start a big shop.
What you get
One row per review, exportable as CSV, JSON or Excel.
| field | |
|---|---|
target | the shop or listing you asked for |
rating | 1-5 |
review | the review text |
hasText | whether the buyer wrote anything or only left a rating |
createdAt / updatedAt | ISO timestamps |
language | the language the buyer wrote in |
imageUrl | buyer photo, where there is one |
listingId / shopId / transactionId | Etsy's own identifiers |
The run summary, under Completeness check, shows rows returned against Etsy's count for each shop or listing, the stop reason, and anything skipped or not charged.
Buyer IDs are dropped. Etsy's API returns a buyer_user_id with every review; this Actor does not
pass it through.
Input
{"shopNames": ["FreedomMockups"]}
Shop names are the NAME part of etsy.com/shop/NAME. Pasting the full URL works too. You can
pull several shops in one run and mix in individual listings:
{"shopNames": ["FreedomMockups", "https://www.etsy.com/shop/VintageImageMadness"],"listingIds": ["4512653980", "https://www.etsy.com/listing/1234567890/handmade-mug"],"itemLimit": 500,"textOnly": true}
Shop names have to match exactly. Etsy's own shop search matches on prefixes, so when there is no exact match the run stops and lists the closest real names instead of pulling a different seller's reviews.
Options
Max reviews per shop or listing. Blank means everything. Set a number to spend less.
Skip reviews with no text. Etsy lets buyers leave a rating without writing anything. Tick this and those rows are left out, and you are not billed for them. Across a sample of 16 shops they were about 5% of reviews, usually 0-3%, though two shops came in at 22% and 33%.
Limits
Runs stop at 210 seconds and report time-budget rather than being killed by the platform. A very
large shop may need more than one run.
Etsy's API has a daily quota shared across everyone using this Actor. If it runs out, the run ends
with rate-limit, nothing is charged for what could not be fetched, and you can run it again
later.
Reviews come back in Etsy's own order. There is no date filter because the API does not offer one,
so filter on createdAt after exporting.