# Etsy Reviews Scraper: Listings, Shops, Photos, Seller Replies (`themineworks/etsy-reviews-scraper`) Actor

Scrape Etsy reviews for listings and whole shops: stars, text, buyer name, date, photos, the item bought and the seller's reply, with listing and shop rating and review count on every row. Sort by newest, suggested or rating; filter by stars. No login.

- **URL**: https://apify.com/themineworks/etsy-reviews-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** E-commerce, Marketing, MCP servers
- **Stats:** 4 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.59 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Etsy Reviews Scraper: Listings, Shops, Photos, Seller Replies

[![360 Etsy reviews from 3 listings and 2 shops in 72 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/etsy-reviews-scraper-hero.png)](https://console.apify.com/actors/Q35QctokWkAQV1oOI/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 140,000 runs across 170+ public actors.

### Why choose this actor?

- **Reviews of one item or of a whole shop, in the same run.** Give listing links for the reviews of a single item, shop links or names for every review the shop has received, or both. Our proof run returned **360 reviews from 3 listings and 2 shops in 72 seconds**, and every one of its 59 requests was answered on the first try. No Etsy account, no API key, no cookies of yours.
- **The item bought and the seller's reply sit on the review's row.** Each row carries stars, text, buyer name, date, photos and videos, the title and link of the item bought, and the seller's public reply when there is one, plus the listing's and the shop's average rating and review count, so a spreadsheet needs no lookup.
- **You pay only for reviews you receive.** One charge per review row saved to your dataset, plus a flat start fee per run. Listings that are gone, shop names that do not exist, listings with no reviews, repeats and reviews an earlier run already gave you (when you switch that on) are never charged.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/Q35QctokWkAQV1oOI/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Marketing, SEO and reviews family:** [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Trustpilot Reviews Scraper](https://apify.com/themineworks/trustpilot-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google Trends Scraper](https://apify.com/themineworks/google-trends-pro?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this input and press Start. It returns the 20 newest reviews of a name necklace that has over 22,000 reviews, in a few seconds:

```json
{
  "listings": ["https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated"],
  "maxReviews": 20,
  "sort": "most_recent"
}
```

You can point it at reviews in four ways, and mix them:

- **Listing link** in `listings`: `https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated`, with or without a country part such as `/uk/` and with any extra parameters.
- **Listing id** in `listings`: `1413455244`, the number after `/listing/` in the link.
- **Shop link** in `shops`: `https://www.etsy.com/shop/CaitlynMinimalist` or `https://caitlynminimalist.etsy.com`.
- **Shop name** in `shops`: `CaitlynMinimalist`, as it appears in the shop's link.

Apify's free plan includes $5 of credit every month, which covers about 1,600 results at this actor's price.

#### Copy to your AI assistant

```text
themineworks/etsy-reviews-scraper on Apify. Returns Etsy reviews of listings and of whole shops, one row per review with stars, text, buyer name, date, photos, videos, the item bought and the seller's reply, plus the listing's and the shop's average rating and review count. Call ApifyClient("TOKEN").actor("themineworks/etsy-reviews-scraper").call(run_input={"listings": ["https://www.etsy.com/listing/1413455244"], "shops": ["CaitlynMinimalist"], "maxReviews": 200, "sort": "most_recent"}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: listings (listing links or ids) or shops (shop links or names), at least one. Optional: maxReviews (default 100, 20 to 10,000, per listing or shop), sort (most_recent, suggested, highest_rating or lowest_rating; default most_recent), stars (list of "1" to "5"; default all), onlyNewReviews (default false). Skip rows that have "_type": "info". Full spec: GET https://api.apify.com/v2/acts/themineworks~etsy-reviews-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **29 fields per review**: review id, stars, text, buyer name, date, photos, videos, item bought and its listing id, variation when Etsy shows it, seller reply and who replied, whether the buyer recommends the item, then the listing's title, link, rating and review count, and the shop's id, name, link, rating and review count.
- **Listing reviews and shop reviews.** A listing gives the reviews of that one item; a shop gives the reviews of everything it sold, each row naming the item. Shops with hundreds of thousands of reviews work the same way: CaitlynMinimalist showed 751,787 in our run.
- **Up to 10,000 reviews per listing or shop.** Etsy hands out 8 reviews a call; the actor keeps asking until your cap or the last page.
- **Four sort orders**: most recent, suggested (Etsy's default), highest rating and lowest rating.
- **Star filter**: pick one or more of 1 to 5 stars. Each level is read as its own list, up to your cap each, so "1 and 2 stars, 200 each" gives up to 400 complaints per listing or shop.
- **Only new reviews on repeat runs**: switch it on for a schedule and each run returns, and charges, only reviews no earlier run in your account delivered.

### How to use it

#### Basic: the newest reviews of one listing

```json
{
  "listings": ["https://www.etsy.com/listing/992281232/double-hoop-huggie-earrings-by-caitlyn"],
  "maxReviews": 300
}
```

You get up to 300 rows, newest first, each with the listing's rating and review count and the shop's name, rating and review count copied on.

#### Listings and shops together

```json
{
  "listings": [
    "https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated",
    "4324466586",
    "https://www.etsy.com/uk/listing/965054556"
  ],
  "shops": ["https://www.etsy.com/shop/CaitlynMinimalist", "AnyaShopStudio"],
  "maxReviews": 100,
  "sort": "most_recent"
}
```

This is the input of our proof run: 360 reviews in 72 seconds. The two smaller listings stopped at their last review (45 and 15), the others at 100. Each listing and shop has its own line in the run summary (status, shop found, calls, why it stopped).

#### Shop health check on a schedule

```json
{
  "shops": ["YourShopName"],
  "maxReviews": 100,
  "sort": "most_recent",
  "onlyNewReviews": true
}
```

Schedule it daily or weekly (Console, Schedules, Add schedule). Each run returns only reviews no earlier run delivered, so you can push new reviews to a sheet or a chat channel and answer them while the buyer still remembers the order. In our two run test the second run found nothing new on the first page, stopped there and charged no reviews.

#### Competitor complaints: what buyers dislike

```json
{
  "shops": ["CaitlynMinimalist"],
  "maxReviews": 200,
  "sort": "most_recent",
  "stars": ["1", "2"]
}
```

Up to 200 one star and 200 two star reviews of a competitor shop, newest first. `purchased_item` shows which products draw the complaints and `text` says why (shipping, sizing, tarnish, personalisation errors).

#### Product research before you make an item

```json
{
  "listings": ["1526698881", "1153406329", "992281232"],
  "maxReviews": 500,
  "sort": "suggested"
}
```

Suggested is the order Etsy shows shoppers by default. Read what buyers praise and what they wish were different on the best sellers in your niche before you design your own version; `photos` show how the item looks in buyers' hands.

#### Seller reply audit

Run any shop or listing and filter the rows on `seller_response`. Filled rows show how the seller answers (tone, speed of fixes, refunds offered), empty ones on low stars show reviews nobody answered. In our proof run one seller had replied to 29 of the 45 reviews of its listing; none of the other 315 rows in that run carried a reply.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `listings` | array of strings | one example listing | Etsy listing links or listing ids, one per line. Give `listings`, `shops` or both. |
| `shops` | array of strings | empty | Etsy shop links or shop names, one per line. Each returns the reviews of everything the shop sold. |
| `maxReviews` | integer | 100 | Reviews to collect per listing and per shop, 20 to 10,000. With a star filter it applies to each star level. |
| `sort` | string | `most_recent` | `most_recent`, `suggested` (Etsy's default), `highest_rating` or `lowest_rating`. |
| `stars` | array of strings | empty (every rating) | Star levels to read, any of `"1"` to `"5"`; each is read as its own list. |
| `onlyNewReviews` | boolean | `false` | Skip reviews an earlier run of yours already delivered, for schedules. Use with `most_recent`. |

Up to 500 listings and shops in one run; repeats are read once.

### What data do you get?

One row per review. The fields come in five groups.

**The review**: `review_id`, `rating` (1 to 5), `text`, `reviewed_at` (ISO date, for example 2026-10-03), `recommended` (when Etsy asked the buyer), `photos` and `videos` (lists of links, empty when none).

**The buyer**: `reviewer_name`, the display name Etsy shows on the review. Nothing else about the buyer is collected.

**What was bought and the reply**: `purchased_item` (the item title Etsy shows with the review), `variation` (only when Etsy shows it with the review; none of our 600 test reviews had one), `seller_response` and `seller_response_by` (the seller's public reply and the name it was posted under).

**The listing and the shop, on every row**: `listing_id`, `listing_title`, `listing_url`, `shop_id`, `shop_name`, `shop_url`, `shop_rating`, `shop_review_count`, and on rows from a listing also `listing_rating` and `listing_review_count`. On rows from a shop, the listing fields describe the item that review was left on.

**Run context**: `source_type` (`listing` or `shop`), `sort`, `star_filter`, `page`, `position`, `input`, `scraped_at`.

Empty values are left out of the row rather than sent as null, so a review without text simply has no `text` field.

#### Stable fields for automations

These fields were present in every one of the 600 rows of our two proof runs, and their names will not change:

| Field | What it holds |
|---|---|
| `review_id` | Etsy's id for the review (the order line it was left on), stable across runs; use it to dedupe |
| `source_type` | `listing` or `shop`: which of your inputs the row came from |
| `listing_id` | Listing id of the item reviewed |
| `listing_title` | Title of the item reviewed |
| `listing_url` | Link to the listing |
| `shop_id` | Etsy shop id |
| `shop_name` | Shop name as in its Etsy link |
| `shop_rating` | Shop's average rating |
| `shop_review_count` | Reviews the shop has in total |
| `rating` | Stars, 1 to 5 |
| `reviewed_at` | Date the review was posted, YYYY-MM-DD |
| `photos` | List of photo links, empty list when none |
| `purchased_item` | Title of the item bought |
| `position` | Place of the review in Etsy's list for your sort and star level |
| `scraped_at` | When the row was read, ISO 8601 UTC |

#### Output examples

Real rows from our proof run of 5 October 2026, trimmed for length (long text shortened with "...", buyer names masked).

A listing review with the seller's reply:

```json
{
  "review_id": "5042417174",
  "source_type": "listing",
  "listing_id": "4324466586",
  "listing_title": "Personalised Map Necklace, Custom Coordinates Pendant, Where We Met Necklace, Long Distance Relationship Gift",
  "listing_url": "https://www.etsy.com/listing/4324466586",
  "shop_id": "12416984",
  "shop_name": "MishiuFerris",
  "shop_url": "https://www.etsy.com/shop/MishiuFerris",
  "rating": 5,
  "text": "Very meaningful piece for a good price.",
  "reviewer_name": "L***",
  "reviewed_at": "2026-05-19",
  "photos": [],
  "videos": [],
  "seller_response": "We couldn't be happier! Thank you so much, Simon & Jon",
  "seller_response_by": "Mishiu Ferris",
  "recommended": true,
  "listing_rating": 4.85,
  "listing_review_count": 45,
  "shop_rating": 4.76,
  "shop_review_count": 1311,
  "sort": "most_recent"
}
```

A listing review with a buyer photo:

```json
{
  "review_id": "5227935521",
  "source_type": "listing",
  "listing_id": "1413455244",
  "listing_title": "Custom Name Necklace, 18K Gold Plated Name Necklace, Personalized Name Necklace, Cursive Name Jewelry, Birthday Gift, Christmas Gift for Her",
  "shop_name": "AnyaShopStudio",
  "rating": 5,
  "text": "My necklace came out amazing! I already have a name necklace and an initial necklace but I needed one with my nickname!...",
  "reviewer_name": "G******",
  "reviewed_at": "2026-10-03",
  "photos": ["https://i.etsystatic.com/iap/cc72a7/8619090876/iap_300x300.8619090876_l3hempo7.jpg?version=0"],
  "recommended": true,
  "listing_rating": 4.86,
  "listing_review_count": 22993,
  "shop_rating": 4.86,
  "shop_review_count": 59467,
  "page": 1,
  "position": 7
}
```

A shop review, naming the item bought:

```json
{
  "review_id": "5233732701",
  "source_type": "shop",
  "listing_id": "1884833351",
  "listing_title": "Peridot Ring Set by Caitlyn Minimalist • Set of 3: Vintage Peridot & Diamond Stacking Rings in Gold • Dainty Jewelry • Gift for Wife • RR157",
  "listing_url": "https://www.etsy.com/listing/1884833351",
  "shop_id": "10204022",
  "shop_name": "CaitlynMinimalist",
  "rating": 5,
  "text": "SO pretty. High quality for dainty pieces that I was searching for.",
  "reviewer_name": "M******",
  "reviewed_at": "2026-10-05",
  "photos": [],
  "purchased_item": "Peridot Ring Set by Caitlyn Minimalist • Set of 3: Vintage Peridot & Diamond Stacking Rings in Gold • Dainty Jewelry • Gift for Wife • RR157",
  "shop_rating": 4.82,
  "shop_review_count": 751787,
  "sort": "most_recent",
  "page": 1,
  "position": 1
}
```

### Pricing

Pay per event: you pay for each review delivered to your dataset, plus a flat $0.005 per run, whatever memory you choose. Prices per review by Apify plan:

| Event | Free plan | Bronze (Starter) | Silver (Scale) | Gold and above (Business) |
|---|---|---|---|---|
| Review delivered (`review-scraped`), per 1,000 | $2.99 | $2.49 | $1.99 | $1.59 |
| Run start (`run-start`), once per run | $0.005 | $0.005 | $0.005 | $0.005 |

What is never charged:

- Listings that are removed, sold out or never existed, and shop names Etsy has no open shop for.
- Listings and shops with no reviews.
- Calls Etsy refused, even after retries.
- A review seen twice in one run: the second copy is skipped.
- Reviews an earlier run already delivered, when Only new reviews is on.
- The information row at the end of the dataset (it has `"_type": "info"`).

Proxy traffic goes through Apify's datacenter proxy, which is included in the price; there is no separate proxy fee and no residential proxy is needed.

### FAQ

**What does this actor read?**
Etsy's public reviews, logged out, the same ones any shopper sees under "Reviews" on a listing or a shop. It does not use an Etsy account, an Etsy API key or your cookies.

**What is the difference between listing reviews and shop reviews?**
A listing's reviews are about that one item. A shop's reviews cover everything the shop has sold, and each row names the item in `purchased_item` and `listing_id`. Use listings for product research and shops for seller research.

**How many reviews can I get?**
Up to 10,000 per listing or shop per run, limited by how many reviews it has. Etsy hands out 8 reviews per call, so 1,000 reviews take 125 calls. Our scale test read 1,000 reviews of a listing (back to December 2023) and 1,000 of a shop in 291 seconds, 258 requests with one network error retried.

**How fresh is the data?**
Live. Every run reads Etsy at that moment. With Most recent sort, the first rows of a busy shop are reviews from the same day or the day before.

**Do I need an Etsy account, cookies or a proxy of my own?**
No. Nothing to log in to and nothing to configure. The actor opens a normal visitor session on Etsy the way a browser does and uses Apify's datacenter proxy, which the run includes.

**What is `review_id`?**
Etsy ties each review to the order line it was left on and uses that line's id for the review. It stays the same across runs, so it is the right key to dedupe on.

**What happens with a removed listing or a wrong shop name?**
It gets status `not_found` in the run summary (the OUTPUT record), with the reason, and costs nothing. The other listings and shops in the run go on as normal.

**Why is a buyer name missing on some rows?**
Etsy sometimes shows a review without a name. The row is still delivered with everything else; `reviewer_name` is simply absent (1 of our 600 test rows).

**Can I run it on a schedule and get only new reviews?**
Yes. Turn on `onlyNewReviews`, keep `sort` on `most_recent`, and add a schedule in Console (Schedules, Add schedule, daily or weekly). Each run delivers and charges only reviews no earlier run in your account delivered, and stops as soon as it reaches ones it has seen.

**What formats can I export?**
JSON, CSV, Excel, XML, RSS and HTML from the dataset tab, or through the API. In CSV and Excel a list such as `photos` is spread over numbered columns (`photos/0`, `photos/1`).

**Can I use it from Claude, ChatGPT or Cursor (MCP)?**
Yes, through Apify's MCP server.

- Connector URL: https://mcp.apify.com/?tools=themineworks/etsy-reviews-scraper
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http etsy-reviews-scraper "https://mcp.apify.com/?tools=themineworks/etsy-reviews-scraper"`

**I want to find the listings first.**
Use our [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) to search Etsy by keyword, then paste the listing ids or shop names it returns into this actor.

**Is it legal to scrape Etsy reviews?**
The actor reads only public reviews and returns what any visitor can see; the only personal detail is the display name Etsy itself shows on each review. You are responsible for how you use the data, including Etsy's terms and data protection law such as GDPR and CCPA.

### Integrations

- **Google Sheets**: add the Google Sheets integration to the actor or a schedule, and new reviews land in a sheet after each run.
- **Make, Zapier and n8n**: use the Apify app to start a run and read the dataset, for example to post every new one star review of your shop to Slack.
- **Webhooks**: call your own endpoint when a run finishes.
- **API**: start runs and read results from any language; the Python and JavaScript clients are a few lines each.
- **MCP clients**: Claude, ChatGPT, Cursor, VS Code and Claude Code, as in the FAQ above.

### More from The Mine Works

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Trustpilot Reviews Scraper](https://apify.com/themineworks/trustpilot-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Trends Scraper](https://apify.com/themineworks/google-trends-pro?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Semrush Scraper](https://apify.com/themineworks/semrush-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [App Reviews Scraper](https://apify.com/themineworks/app-reviews-monitor?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Trustpilot Business Search](https://apify.com/themineworks/trustpilot-business-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [TripAdvisor Reviews Scraper](https://apify.com/themineworks/tripadvisor-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Username Checker](https://apify.com/themineworks/username-checker?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Backlink Building Agent](https://apify.com/themineworks/backlink-building-agent?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a listing or shop that does not come through, or a field you need? Open an issue on the Issues tab and include the link; we answer there. For a new site or source, email dmineworks@gmail.com.

*Etsy Reviews Scraper turns any list of Etsy listings and shops into a clean table of reviews, with the item, the seller's reply and both ratings on every row, and a charge only for the reviews you get.*

# Actor input Schema

## `listings` (type: `array`):

One listing per line: an Etsy listing link (https://www.etsy.com/listing/1413455244/...) or a bare listing id (1413455244). Returns the reviews of that item. Leave empty if you only want shops.

## `shops` (type: `array`):

One shop per line: an Etsy shop link (https://www.etsy.com/shop/AnyaShopStudio) or just the shop name (AnyaShopStudio). Returns the reviews of every item the shop sold, newest first by default.

## `maxReviews` (type: `integer`):

How many reviews to collect for each listing and each shop, 20 to 10,000. Etsy hands out 8 reviews a call; the actor keeps going until it reaches this number or the last review. With a star filter this applies to each star level you pick.

## `sort` (type: `string`):

The order Etsy returns reviews in. Most recent is the one to use for monitoring.

## `stars` (type: `array`):

Leave empty for every rating. Pick one or more star levels to collect only those; each level is read on its own, up to Max reviews per listing or shop each, for example 1 and 2 stars for complaints.

## `onlyNewReviews` (type: `boolean`):

Skip reviews an earlier run of yours already delivered, so a scheduled run returns and charges only new ones. Keep the sort on Most recent so the run can stop as soon as it reaches reviews it has seen.

## Actor input object example

```json
{
  "listings": [
    "https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated"
  ],
  "shops": [
    "https://www.etsy.com/shop/AnyaShopStudio"
  ],
  "maxReviews": 100,
  "sort": "most_recent",
  "stars": [],
  "onlyNewReviews": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "listings": [
        "https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated"
    ],
    "shops": [
        "https://www.etsy.com/shop/AnyaShopStudio"
    ],
    "maxReviews": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/etsy-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "listings": ["https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated"],
    "shops": ["https://www.etsy.com/shop/AnyaShopStudio"],
    "maxReviews": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/etsy-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "listings": [
    "https://www.etsy.com/listing/1413455244/custom-name-necklace-18k-gold-plated"
  ],
  "shops": [
    "https://www.etsy.com/shop/AnyaShopStudio"
  ],
  "maxReviews": 100
}' |
apify call themineworks/etsy-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/etsy-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Q35QctokWkAQV1oOI/builds/fSHy82KRBPfxa3Mtb/openapi.json
