# Etsy Product Review (`pintostudio/etsy-product-review`) Actor

This actor retrieves detailed reviews for a specific Etsy product listing. It provides valuable insights, including the average rating, total review count, and individual reviews with details like reviewer names, ratings, and comments. Perfect for customer feedback and improving product strategies.

- **URL**: https://apify.com/pintostudio/etsy-product-review.md
- **Developed by:** [Pinto Studio](https://apify.com/pintostudio) (community)
- **Categories:** E-commerce, Lead generation, Social media
- **Stats:** 28 total users, 1 monthly users, 89.7% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Product Review Scraper Actor

The **Etsy Product Review Scraper Actor** retrieves detailed reviews for a specific Etsy product listing. It provides valuable insights, including the average rating, total review count, and individual reviews with details like reviewer names, ratings, and comments. This actor is ideal for analyzing customer feedback and improving product strategies.

***

### Features

- **Fetch Product Reviews:** Retrieve reviews for any product using its `listingId`.
- **Detailed Review Data:** Includes ratings, comments, reviewer names, and review dates.
- **Pagination Support:** Access multiple pages of reviews.
- **Localized Options:** Set currency, language, and country for tailored results.

***

### Parameters

#### `listingId` (string, required)

The unique identifier for the Etsy product listing.\
**Example:** `"1215970085"`

#### `page` (number, optional)

The page number of reviews to retrieve.\
**Default:** `1`

#### `currency` (string, optional)

The currency to display, aligning with the product's region.\
**Default:** `"USD"`

#### `language` (string, optional)

The language of the reviews.\
**Default:** `"en-US"`

#### `country` (string, optional)

The country code for localization.\
**Default:** `"US"`

***

### Example Request

```json
{
  "listingId": "1215970085",
  "page": 1,
  "currency": "USD",
  "language": "en-US",
  "country": "US"
}
```

***

### Example Response

```json
{
  "page": 1,
  "listingId": "1215970085",
  "reviews": {
    "reviewsCount": "11,881",
    "averageRating": "4.9696",
    "reviews": [
      {
        "rating": "5",
        "reviewText": "Quick shipping and such a cute gift",
        "reviewerName": "kmikeska",
        "date": "kmikeska Nov 21, 2024",
        "itemQuality": "5",
        "delivery": "",
        "images": []
      },
      {
        "rating": "5",
        "reviewText": "They looked amazing - was a little worried as the photo I provided was a bit far away and wasn’t the best quality but they turned out better than I could have imagined!",
        "reviewerName": "Colleen",
        "date": "Colleen Nov 21, 2024",
        "itemQuality": "5",
        "delivery": "",
        "images": []
      },
      {
        "rating": "5",
        "reviewText": "My mom is going to love this.",
        "reviewerName": "Suzanne Palmer",
        "date": "Suzanne Palmer Nov 21, 2024",
        "itemQuality": "5",
        "delivery": "",
        "images": []
      },
      {
        "rating": "4",
        "reviewText": "Love it, will make a great gift",
        "reviewerName": "chilt1985",
        "date": "chilt1985 Nov 21, 2024",
        "itemQuality": "4",
        "delivery": "",
        "images": []
      }
    ]
  }
}
```

***

### Use Cases

- **Customer Feedback Analysis:** Identify product strengths and areas for improvement based on customer reviews.
- **Reputation Management:** Monitor review trends to maintain a positive product reputation.
- **Etsy Seller Insights:** Understand customer preferences and expectations.

***

### FAQs

#### 1. **What does the Etsy Product Review Scraper do?**

It retrieves customer reviews for an Etsy product listing, providing insights into product quality, customer satisfaction, and reviewer feedback.

#### 2. **What is the `listingId` parameter?**

The `listingId` uniquely identifies the product whose reviews you want to fetch. You can find it in the product URL on Etsy.

#### 3. **How many reviews can I retrieve?**

You can paginate through multiple pages of reviews using the `page` parameter. Each page contains up to 20 reviews.

#### 4. **What data is included in the reviews?**

Each review includes:

- Rating (out of 5).
- Review text.
- Reviewer name.
- Review date.
- Item quality rating.

#### 5. **Can I see images in reviews?**

If reviewers include images in their reviews, they will appear in the `images` array.

#### 6. **Is this actor suitable for analyzing large datasets?**

Yes, it supports pagination, allowing you to retrieve and analyze large volumes of review data.

#### 7. **How can I localize reviews?**

Use the `currency`, `language`, and `country` parameters to match the region and preferences of the target audience.

#### 8. **Does it include aggregate ratings?**

Yes, the response includes the average rating and the total number of reviews.

#### 9. **Can I filter reviews by rating?**

This actor currently fetches all reviews. Filtering by rating is possible during post-processing.

#### 10. **How does this help ecommerce sellers?**

By analyzing reviews, sellers can improve products, address common complaints, and enhance customer satisfaction.

***

### SEO-Optimized Content

- **Etsy product review scraper:** Gain actionable insights from customer feedback.
- **Analyze Etsy reviews:** Understand product quality and customer sentiments.
- **Etsy seller tools:** Enhance your store with detailed review data.
- **Customer feedback analysis:** Improve products based on Etsy reviews.
- **Monitor Etsy ratings:** Track trends and manage product reputation.

Unlock the power of customer insights with the **Etsy Product Review Scraper Actor** today!

# Actor input Schema

## `listingId` (type: `string`):

The listingId.

## `page` (type: `string`):

The page to return.

## `currency` (type: `string`):

The currency code.

## `language` (type: `string`):

The language.

## `country` (type: `string`):

The country.

## Actor input object example

```json
{
  "listingId": "1215970085",
  "page": "1",
  "currency": "USD",
  "language": "en-US",
  "country": "US"
}
```

# 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 = {
    "listingId": "1215970085",
    "page": "1",
    "currency": "USD",
    "language": "en-US",
    "country": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("pintostudio/etsy-product-review").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 = {
    "listingId": "1215970085",
    "page": "1",
    "currency": "USD",
    "language": "en-US",
    "country": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("pintostudio/etsy-product-review").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 '{
  "listingId": "1215970085",
  "page": "1",
  "currency": "USD",
  "language": "en-US",
  "country": "US"
}' |
apify call pintostudio/etsy-product-review --silent --output-dataset

```

## MCP server setup

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

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/2JmSwvmFzYY4WcEZX/builds/izijTtRtV88vJGf2k/openapi.json
