Etsy Reviews Scraper — Buyer Feedback & Seller Replies avatar

Etsy Reviews Scraper — Buyer Feedback & Seller Replies

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Etsy Reviews Scraper — Buyer Feedback & Seller Replies

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

Astrava Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

InputDefaultDescription
shopsrequired1–50 unique Etsy shop names or URLs
maxReviews100Per-shop review ceiling; use 0 to paginate until the history ends
maxTotalResults5000Exact whole-run ceiling across all submitted shops
reviewsSortRecencyNewest 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 reviewsResult 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 shapeTime rangeReviewsSuccessful samples
1 shop × up to 100 reviews4.7–5.5s942/2
10 shops × up to 100 reviews7.0s9942/2
50 shops × up to 20 reviews9.3–11.1s1,0002/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_id and listing_title to 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 reached maxReviews.
  • capped — the shop stopped at maxTotalResults or 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

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.