Etsy Reviews Scraper — Buyer Feedback & Seller Replies
Pricing
from $4.00 / 1,000 results
Etsy Reviews Scraper — Buyer Feedback & Seller Replies
Export buyer reviews from up to 50 Etsy shops per run. Get ratings, full text, buyer names, dates, photos, reviewed listings, seller replies, and shop IDs with exact per-shop and whole-run cost caps.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Astrava Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export buyer reviews from one Etsy shop or up to 50 shops in a single run. Get one clean row per review with the star rating, full text, buyer name, date, buyer-uploaded photos, reviewed listing, and the seller's public reply—without configuring proxies or CAPTCHA handling.
Use it for sentiment analysis, product-quality research, competitor monitoring, customer-service analysis, or recurring review datasets.
Quick start
{"shops": ["ArtFablePets","https://www.etsy.com/shop/WilshireGoodsShop"],"reviewsSort": "Recency","maxReviews": 100,"maxTotalResults": 5000}
shops accepts bare shop names and full Etsy shop URLs. Blank values and
duplicates are removed before requests begin.
What you get
Each default-dataset row represents one buyer review:
{"shop": "ArtFablePets","shop_id": 16875973,"review_id": "4935496659","rating": 5,"text": "Beautiful work and exactly what I hoped for.","buyer": "Alex","review_date": "Mar 7, 2026","listing_id": "1234567890","listing_title": "Personalized pet portrait","photos": ["https://i.etsystatic.com/iap/.../iap_300x300.jpg"],"seller_response": "Thank you so much!","seller_response_date": "Mar 8, 2026","scraped_at": "2026-07-18T12:00:00+00:00"}
Export the dataset as JSON, CSV, Excel, XML, RSS, or JSONL. Every raw output field is also visible in the Actor's dataset view.
Inputs and cost controls
| Input | Default | Description |
|---|---|---|
shops | required | 1–50 unique Etsy shop names or URLs |
maxReviews | 100 | Per-shop review ceiling; use 0 to paginate until the history ends |
maxTotalResults | 5000 | Exact whole-run ceiling across all submitted shops |
reviewsSort | Recency | Newest first or Etsy's Relevancy ordering |
The two limits work together. For example, maxReviews: 100 and
maxTotalResults: 1000 means no shop can contribute more than 100 rows and the
entire batch can never save more than 1,000. To request a complete history
beyond 5,000 reviews, set maxReviews to 0 and intentionally raise
maxTotalResults.
The Actor also respects an Apify maximum cost per run. If that spending limit
accepts only part of a final page, the dataset and RUN_REPORT count only the
reviews actually persisted.
There is no rating-filter input. Every row contains rating, so filter the
dataset or exported file to 1–5 stars without paying for an opaque second record
type or changing pagination semantics.
Pricing
The price is $4 per 1,000 saved reviews ($0.004 per result). There is no separate Actor-start charge to the user, and proxy handling is included.
| Saved reviews | Result charge |
|---|---|
| 100 | $0.40 |
| 1,000 | $4.00 |
| 5,000 (default whole-run cap) | $20.00 |
You pay only for review rows saved to the default dataset. RUN_REPORT is
stored separately and is not a billed result.
Speed and scale
Shops run in parallel. Each active shop uses one proxy session, fetches up to four review pages concurrently, and shares a 48-request global ceiling. Live local measurements of the selected production configuration:
| Run shape | Time range | Reviews | Successful samples |
|---|---|---|---|
| 1 shop × up to 100 reviews | 4.7–5.5s | 94 | 2/2 |
| 10 shops × up to 100 reviews | 7.0s | 994 | 2/2 |
| 50 shops × up to 20 reviews | 9.3–11.1s | 1,000 | 2/2 |
All 26 benchmark samples completed without a failed shop. Four pages per shop outperformed 1, 2, 3, and 6; a 48-request global ceiling was stable while 64 caused a severe slowdown in one sample. Times vary with proxy warmup, Etsy response latency, review-history depth, and retry conditions.
Use cases
- Sentiment and topic analysis: group complaints, praise, product language, and recurring quality themes from full review text.
- Competitor monitoring: compare recent buyer feedback across as many as 50 shops in one repeatable run.
- Customer-service research: measure which reviews receive seller replies and inspect how competing sellers respond.
- Listing-level enrichment: use
listing_idandlisting_titleto connect each review to catalog or product records from the companion Actors. - Buyer-photo research: collect the appreciation-photo URLs Etsy exposes on public review cards.
Run status and partial results
The key-value store record RUN_REPORT preserves normalized input order and
gives every shop an explicit status:
completed— the history ended normally or reachedmaxReviews.capped— the shop stopped atmaxTotalResultsor the Apify spending limit.not_started— the whole-run limit was reached before this shop acquired a worker.failed— warmup, retry recovery, pagination safety, or storage failed.
It also contains persisted review/page counts, machine-readable termination reasons, run totals, effective concurrency, proxy sessions, retries, fetch outcomes, and estimated bandwidth. Reviews saved before a later page failure remain available and are counted accurately.
API example
curl -X POST \"https://api.apify.com/v2/acts/astravalabs~etsy-reviews-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"shops":["ArtFablePets"],"maxReviews":100}'
For large histories, start the Actor asynchronously and read the default dataset after the run succeeds.
Companion Etsy actors
- Etsy Listings Scraper — discover listings in Etsy search and track organic and sponsored placement.
- Etsy Product Scraper — enrich reviewed listing IDs with complete product details, variations, demand, shipping, and policies.
- Etsy Shop Catalog Scraper — pair buyer feedback with each shop's complete current catalog.
- Etsy Keyword Research Tool — collect Etsy autocomplete and long-tail keyword ideas.
FAQ
Does this scrape reviews for one specific listing?
Not yet. The current input is shop-based, and each row identifies the reviewed
listing. Use listing_id to group the output by product.
Why did a shop return fewer rows than maxReviews?
maxReviews is a ceiling, not a target. The Actor stops when Etsy has no more
public shop-review pages. Check RUN_REPORT for the exact status and reason.
Can I export only negative reviews?
Filter the rating column after collection. A client-side input filter would
still need to download every page and would make the per-shop cap ambiguous.
Are seller replies and buyer photos always present?
No. They are populated only when Etsy exposes them on that public review.
Can I collect more than 5,000 reviews?
Yes. Raise maxTotalResults; for an uncapped per-shop history, also set
maxReviews to 0.
Unofficial. Not affiliated with, endorsed by, or sponsored by Etsy, Inc. “Etsy” is a trademark of Etsy, Inc., used here descriptively.