# Argos Reviews Scraper (`herus13/argos-reviews-scraper`) Actor

Scrape every customer review of Argos (argos.co.uk) products, one row per review: rating, title, text, author, date, aspect scores, photos, reviewer age and location, and Argos's replies. Give product links or SKUs. Export JSON, CSV or Excel.

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

## Pricing

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

The Argos Reviews Scraper extracts every customer review of [Argos](https://www.argos.co.uk) products, one row per review — star rating, title, full text, author, date, the product's own aspect scores, photos, reviewer age and location, and Argos's replies. Feed it product links or SKUs; it reads newest first, as many as you ask for or every review the product has.

### What you get

One dataset row per review, each naming the product it belongs to. Export as JSON, CSV or Excel.

```json
{
  "sku": "2137074",
  "product_name": "Russell Hobbs 20460 Buckingham Quiet Boil Kettle - S/Steel",
  "product_brand": "Russell hobbs",
  "product_url": "https://www.argos.co.uk/product/2137074",
  "review_id": "184688181",
  "rating": 4,
  "rating_range": 5,
  "title": "Better the Devil You Know….",
  "text": "This is the 3rd one of these I’ve had. The model has been pretty much the same for years. … It’s good looking, is easy to use, boils both quickly and quietly …",
  "author": "OBChris",
  "submitted_at": "2026-09-11T00:12:31.000+00:00",
  "recommended": true,
  "helpful_count": 1,
  "unhelpful_count": 0,
  "secondary_ratings": {"Noise": 2, "Capacity": 4, "Design": 5, "Boiling Speed": 5},
  "photos": ["https://photos-us.bazaarvoice.com/photo/2/cGhvdG86YXJnb3M/4a7fc204-3750-5b19-a519-e6c59205f1c1"],
  "author_age": "65 or over",
  "is_colleague": false,
  "is_syndicated": false,
  "last_modified_at": "2026-09-15T11:56:03.000+00:00",
  "scraped_at": "2026-09-25T09:00:00+00:00"
}
```

Rows also carry `tags` (for example `{"Pros": ["Low noise"]}`), `author_location`, `author_gender`, `badges`, `used_on` (the date the reviewer says they used it), `syndicated_from` and `syndicated_url` for reviews first posted on the brand's own site, and `response_text`, `response_by` and `response_at` when Argos replied. A field the reviewer left blank is `null` or empty.

### What it costs

| Event | Free | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| Review (`review`) | $0.0003 | $0.0003 | $0.0003 | $0.0003 |

You pay per review, not per minute: $0.0003 for each review row, with no per-run start fee and the residential proxy included. A thousand reviews is about $0.30, and every review of a 6,615-review best-seller about $2.00.

### Input

| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
| `product_ids` | array | yes | — | Argos products whose reviews to collect, one per entry: a product link such as `https://www.argos.co.uk/product/2137074` or its number `2137074`. Each review becomes its own row. At least one product is required. |
| `max_reviews_per_product` | integer | no | `100` | How many reviews to take from each product, newest first. Default 100, minimum 5: a lower number is raised to 5. Set -1 for no limit: every review the product has (a best-selling product can have several thousand). |
| `request_delay` | integer | no | `0` | Extra seconds to wait between requests. Default 0, which adds no wait at all. |
| `proxyUrls` | array | no | — | Leave empty and the run uses the residential proxy this actor ships with, included in the price of the run. To route the run through your own account instead, add one gateway URL per entry, for example http://user:pass@host:port — works with DataImpulse, Bright Data, Oxylabs, Smartproxy or any provider that issues URLs. When set, only these URLs are used. Argos only answers UK addresses, so use UK exits. |

### How to run it

1. Open the actor on Apify Console and click **Try for free**.
2. Put product links or SKUs into **Product links or SKUs**, one per line.
3. Set **Max reviews per product** (100 by default, -1 for every review), then Run. Export JSON, CSV or Excel from the dataset.

```json
{
  "product_ids": [
    "https://www.argos.co.uk/product/2137074",
    "3264915"
  ],
  "max_reviews_per_product": -1
}
```

Minimal input:

```json
{
  "product_ids": ["2137074"],
  "max_reviews_per_product": 10
}
```

Available as the MCP tool `herus13--argos-reviews-scraper` on mcp.apify.com and through the Apify API; send the same JSON.

### Why this scraper

- **Every review, not a sample.** Set -1 and the run reads a product's whole review history, 100 reviews to a request — thousands for a best-seller.
- **One row per review.** Each review is its own row with the product's SKU and name on it, so a CSV or Excel export opens as a flat table.
- **More than the stars.** Aspect scores such as noise or design, tagged pros, photos, reviewer age and location, and Argos's public replies arrive on the same row.
- **Newest first.** Reviews arrive in submission order, newest first, so a small limit gives you the latest opinion.

### Use cases

- **Product feedback mining** — Read what buyers praise and complain about across thousands of reviews of one product.
- **Competitor review analysis** — Compare ratings, aspect scores and recurring complaints for rival products in the same category.
- **Review monitoring** — Collect the latest reviews on your own products every week and catch a quality problem early.
- **Sentiment and AI datasets** — Build a labelled corpus of UK retail reviews with star ratings and aspect scores.
- **Customer service audit** — See which reviews Argos replied to, who replied and how fast.

### FAQ

**How many reviews can I get per product?** Every review the product has: set **Max reviews per product** to -1. The default is 100, newest first.

**How do I get the product's price and details too?** Use the [Argos Product Scraper](https://apify.com/herus13/argos-scraper): it returns one row per product with price, availability and details, and nests up to 50 of the newest reviews.

**What are `secondary_ratings`?** Scores for aspects Argos asks about for that kind of product, such as noise, capacity or design for a kettle, each on the same 1-to-5 scale as the rating.

**Why do some reviews say `is_syndicated`?** They were first posted on the brand's own site and shown on Argos; `syndicated_from` and `syndicated_url` say where.

**Does it work outside the UK?** Argos only serves UK visitors. The included proxy uses UK addresses; if you bring your own proxy, use UK exits.

**Is a proxy included?** A residential proxy is included in the price of the run. To use your own, paste gateway URLs into **Your own proxy URLs**. Scraping at volume? Your own [DataImpulse](https://dataimpulse.com/?aff=404588\&utm_source=apify) account is cheaper per GB.

**Is scraping Argos reviews legal?** This actor collects only publicly available reviews. You are responsible for complying with Argos's terms and applicable laws. Reviewer nicknames, ages and locations are personal data in some jurisdictions; do not process them without a lawful basis.

### Related actors

Researching UK retail products? Pair this actor with:

- [Argos Product Scraper](https://apify.com/herus13/argos-scraper) — Argos products by keyword or link, with price, availability, details and the newest 50 reviews.
- [Amazon Product Scraper](https://apify.com/herus13/amazon-scraper) — Amazon products with prices, ratings and sellers, including amazon.co.uk.
- [Trustpilot Company & Review Scraper](https://apify.com/herus13/trustpilot-scraper) — retailer trust scores and customer reviews.

# Actor input Schema

## `product_ids` (type: `array`):

Argos products whose reviews to collect, one per entry: a product link such as `https://www.argos.co.uk/product/2137074` or its number `2137074`. Each review becomes its own row. At least one product is required.

## `max_reviews_per_product` (type: `integer`):

How many reviews to take from each product, newest first. Default 100, minimum 5: a lower number is raised to 5. Set -1 for no limit: every review the product has (a best-selling product can have several thousand).

## `request_delay` (type: `integer`):

Extra seconds to wait between requests. Default 0, which adds no wait at all.

## `proxyUrls` (type: `array`):

Leave empty and the run uses the residential proxy this actor ships with, included in the price of the run. To route the run through your own account instead, add one gateway URL per entry, for example http://user:pass@host:port — works with DataImpulse, Bright Data, Oxylabs, Smartproxy or any provider that issues URLs. When set, only these URLs are used. Argos only answers UK addresses, so use UK exits.

## Actor input object example

```json
{
  "product_ids": [
    "https://www.argos.co.uk/product/2137074"
  ],
  "max_reviews_per_product": 100,
  "request_delay": 0
}
```

# Actor output Schema

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

Argos customer reviews, one row per review, with the product each belongs to

# 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 = {
    "product_ids": [
        "https://www.argos.co.uk/product/2137074"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("herus13/argos-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 = { "product_ids": ["https://www.argos.co.uk/product/2137074"] }

# Run the Actor and wait for it to finish
run = client.actor("herus13/argos-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 '{
  "product_ids": [
    "https://www.argos.co.uk/product/2137074"
  ]
}' |
apify call herus13/argos-reviews-scraper --silent --output-dataset

```

## MCP server setup

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