# Stamped Reviews Scraper for Shopify stores (`stanvanrooy6/stamped-reviews-scraper`) Actor

Export every Stamped review from any Shopify store: rating, title, text, photos, author, date and product. Store-wide or per product. No login, no API key. JSON, CSV or Excel.

- **URL**: https://apify.com/stanvanrooy6/stamped-reviews-scraper.md
- **Developed by:** [Stan Van Rooy](https://apify.com/stanvanrooy6) (community)
- **Categories:** E-commerce, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 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

## Stamped Reviews Scraper for Shopify stores

Export every Stamped review from any Shopify store. Paste a store URL for the complete review history or a product URL for one product, and get the rating, title, text, photos, author, date, verified-buyer flag and product for each review. Works with classic Stamped.io installs and with the newer theme app extension. No login, no API key, no browser. Download as JSON, CSV or Excel.

### How to export Stamped reviews

1. Open the store in your browser and copy its URL (for example `https://trakke.co.uk`). For a single product, copy the product page URL instead (for example `https://hamuq.com/products/the-hamuq-hybrid`).
2. Paste it into **Start URLs**. You can add as many stores and products as you like; each one is scraped in turn.
3. Set **Maximum reviews per URL**. Use `0` to export the full history.
4. Click **Start**. When the run finishes, open the **Output** tab and download the reviews as JSON, CSV, Excel or XML.

### What data you get

| Field | What it holds |
|---|---|
| `review_id` | Stamped.io review id |
| `rating` | Star rating, 1 to 5 |
| `review_title` | Review headline, when the reviewer wrote one |
| `body` | Full review text |
| `author` | Reviewer name as shown on the store |
| `date`, `date_utc` | Date as Stamped.io reports it, and the same instant as ISO 8601 UTC |
| `verified_buyer` | `true` when Stamped.io shows the Verified Buyer badge |
| `images` | Full-size URLs of customer photos |
| `product_name` | The reviewed product |
| `platform` | Always `stamped` |

Stamped.io rows also carry review videos in `videos`, the store's reply, helpful votes and the reviewer's country, passed through from the widget feed.

### How to tell if a store uses Stamped.io

Stamped.io stores show a review widget with the Stamped star style and a "Verified Buyer" badge. In the page source (right click, View Page Source) search for `stamped.io` or `StampedFn`; theme extension installs load `widget.min.js?shop=` from Stamped. You do not have to check first: if the store runs another review app, the run says which one and links the scraper for it.

### Input

| Field | Type | Description |
|---|---|---|
| `startUrls` | array, required | Store URLs (`trakke.co.uk`, `https://trakke.co.uk`) for every review in the store, or product URLs (`https://hamuq.com/products/the-hamuq-hybrid`) for that product only. |
| `maxReviews` | integer | Stop after this many reviews per URL. Default `100`, `0` means no limit. |

```json
{
  "startUrls": [{ "url": "https://trakke.co.uk" }],
  "maxReviews": 500
}
```

### Output example

```json
{
  "review_id": "165790117",
  "author": "Eileen W.",
  "rating": 5,
  "review_title": "Strong comfortable bag",
  "body": "Bought this for a holiday in South Africa. It's a strongly made bag and comfortable to wear. I'm 5'4'' and it sits comfortably mid / low chest. I found it could hold a small purse, card wallet, lip salve, sunglasses and a thin hairbrush in...",
  "date": "2026-09-04T13:16:42.727Z",
  "date_utc": "2026-09-04T13:16:42Z",
  "product_name": "Banana Crossbody Bag",
  "verified_buyer": true,
  "images": [
    "https://cdn.stamped.io/uploads/photos/257675_1774517878850_f0b1d179_3102_4fa8_a214_5802d6b0ea67.jpg"
  ],
  "platform": "stamped"
}
```

Next to these standard fields, every raw Stamped.io field is passed through unchanged, so nothing the widget shows is lost.

### Pricing

Pay per result: **$1.00 per 1,000 reviews** plus a small Actor start fee ($0.0025 per GB of memory, one event per run). Volume users on higher Apify plans pay less per review.

| Export | Reviews | Cost |
|---|---|---|
| One product | 200 | about $0.20 |
| A mid-size store | 5,000 | about $5.00 |
| A large store, full history | 50,000 | about $50 |

### FAQ

#### Do I need a Stamped.io account or API key?

No. The scraper reads the same public review feed the store's Stamped.io widget loads for every visitor. You only need the store URL.

#### Can I export the reviews of one product only?

Yes. Use the product URL (`https://store.com/products/handle`). Store URLs return every review in the store.

#### How many reviews can I get?

All of them. Set `maxReviews` to `0` and give the run enough timeout. Stamped.io serves 100 reviews per request, so a 10,000-review store exports in a couple of minutes.

#### Why did my run return no reviews?

Usually the store uses a different review app. The status message then names the app it found and links the right scraper. If the store does run Stamped.io and still returns nothing, open an issue on the Issues tab with the store URL.

#### Can I scrape several stores in one run?

Yes. Add one URL per store or product to **Start URLs**. Each URL gets its own `maxReviews` budget.

#### Is it legal to scrape Stamped reviews?

The scraper only collects reviews that are publicly shown on the store. Reviews include names that customers chose to publish; handle them in line with the privacy rules that apply to you (for example GDPR).

### Feedback and support

I actively maintain this scraper. Found a bug or need a field? Open an issue on the Issues tab with the store URL.

### Not sure which app a store uses?

The [Shopify Review Scraper (Judge.me, Loox, Yotpo, Stamped + more)](https://apify.com/stanvanrooy6/shopify-review-scraper) detects the review app of any Shopify store automatically and returns the same output as this scraper. Use it for a list of stores with mixed review apps.

### Scrapers for other Shopify review apps

- [Judge Me Review Scraper for Shopify stores](https://apify.com/stanvanrooy6/judge-me-scraper)
- [Loox Review Scraper for Shopify stores](https://apify.com/stanvanrooy6/loox-scraper)
- [Yotpo Review Scraper for Shopify stores](https://apify.com/stanvanrooy6/yotpo-scraper)
- [Okendo Review Scraper for Shopify stores](https://apify.com/stanvanrooy6/okendo-scraper)
- [REVIEWS.io Reviews Scraper for Shopify stores](https://apify.com/stanvanrooy6/reviews-io-scraper)
- [Junip Reviews Scraper for Shopify stores](https://apify.com/stanvanrooy6/junip-reviews-scraper)

### More review scrapers

- [TikTok Shop Reviews Scraper: Ratings & Product Data](https://apify.com/stanvanrooy6/tiktok-shop-scraper)

# Actor input Schema

## `startUrls` (type: `array`):

Shopify store URLs (every review in the store) or product URLs (that product only). The store must use Stamped.io for its reviews.

Examples:

- Store-wide: https://trakke.co.uk
- Product only: https://hamuq.com/products/the-hamuq-hybrid

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

How many reviews to collect per URL. Set to 0 for no limit.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://trakke.co.uk"
    }
  ],
  "maxReviews": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Review id, author, rating, title, product and date.

## `reviews` (type: `string`):

Every review with all fields as JSON. Append ?format=csv or ?format=xlsx for other formats.

# 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 = {
    "startUrls": [
        {
            "url": "https://trakke.co.uk"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("stanvanrooy6/stamped-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 = { "startUrls": [{ "url": "https://trakke.co.uk" }] }

# Run the Actor and wait for it to finish
run = client.actor("stanvanrooy6/stamped-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 '{
  "startUrls": [
    {
      "url": "https://trakke.co.uk"
    }
  ]
}' |
apify call stanvanrooy6/stamped-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,stanvanrooy6/stamped-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/S3tKoa3Xte38ThD1f/builds/ypT6FyGQAlH0j4Yqr/openapi.json
