# Dell Product Reviews Scraper (`automation-lab/dell-product-reviews-scraper`) Actor

Extract public Dell product rating summaries and customer reviews with text, badges, helpful votes, merchant responses, media, and histograms.

- **URL**: https://apify.com/automation-lab/dell-product-reviews-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 91.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.02 / 1,000 item extracteds

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Dell Product Reviews Scraper

Export public Dell product ratings, rollups, and individual customer reviews from Dell product URLs or PowerReviews page IDs.

The Actor discovers Dell's public review configuration from product HTML, calls the anonymous PowerReviews JSON feed, follows pagination, and writes analysis-ready records to an Apify dataset.

It uses direct HTTP rather than a browser, keeping runs lightweight and predictable.

### What can Dell Product Reviews Scraper do?

- Resolve a full `dell.com` product URL automatically.
- Accept Dell US PowerReviews page IDs directly.
- Export one aggregate product summary per product.
- Export individual written reviews across multiple pages.
- Capture ratings, headlines, review text, reviewer names, and locations.
- Capture verified-buyer, verified-reviewer, and staff badges.
- Capture helpful and not-helpful vote counts.
- Capture Dell merchant responses and response dates.
- Capture attached public media and review properties.
- Filter reviews by star rating and creation date.
- Sort by newest, highest-rated, or lowest-rated.
- Enforce global and per-product review limits.
- Deduplicate products and review IDs within a run.

### Who is it for?

**Product and quality teams** can watch low-rated feedback for defect themes, reliability concerns, and launch regressions.

**Customer experience teams** can collect review text and Dell responses for response-quality or sentiment analysis.

**Retail intelligence teams** can compare public ratings and review volume across Dell products over time.

**Market researchers** can build repeatable electronics-review datasets without manually copying product pages.

**Data engineers** can schedule structured exports into BI, warehouses, spreadsheets, or language-model workflows.

### Why use this Actor?

Dell product pages expose review data through PowerReviews, but collecting many pages, normalizing nested fields, handling limits, and maintaining pagination takes engineering work.

This Actor packages that workflow into one stable input and dataset contract.

It does not require a Dell account, browser, cookies, or user credentials for supported public products.

### What data is extracted?

| Field | Meaning |
| --- | --- |
| `recordType` | `productSummary` or `review` |
| `sourceUrl` | Input Dell URL, when supplied |
| `productPageId` | Public PowerReviews product identifier |
| `productName` | Product name in the review feed |
| `locale` | Feed locale such as `en_US` |
| `reviewId` | Stable review ID; null for summaries |
| `headline` | Review headline |
| `reviewText` | Full public review text |
| `rating` | Star rating from 1 to 5 |
| `reviewerNickname` | Public nickname |
| `reviewerLocation` | Public location, when supplied |
| `createdAt`, `updatedAt` | ISO timestamps |
| `isRecommended` | Whether the reviewer recommends the product |
| `isVerifiedBuyer` | Verified-buyer badge |
| `isVerifiedReviewer` | Verified-reviewer badge |
| `isStaffReviewer` | Staff-reviewer badge |
| `helpfulVotes` | Helpful vote count |
| `notHelpfulVotes` | Not-helpful vote count |
| `merchantResponse` | Public Dell response |
| `merchantResponseAt` | Response timestamp |
| `media` | Attached public image/video metadata |
| `properties` | Additional source review properties |
| `averageRating` | Aggregate product average |
| `ratingCount` | Aggregate rating count |
| `reviewCount` | Aggregate written-review count |
| `ratingHistogram` | One-star through five-star counts |
| `recommendedRatio` | Fraction recommending the product |
| `pageNumber`, `pagesTotal` | Source pagination metadata |
| `scrapedAt` | Collection timestamp |

Fields unavailable on a source row are returned as `null` or an empty array.

### Getting started

1. Open the Actor in Apify Console.
2. Paste one or more Dell product URLs or page IDs into **Dell product URLs or page IDs**.
3. Set the total and per-product review limits.
4. Optionally choose ordering, ratings, and date filters.
5. Click **Start**.
6. Open the **Dataset** tab to preview or download JSON, CSV, Excel, XML, or RSS.

A small working input is:

```json
{
  "productUrlsOrIds": ["xps-13-9350-intel-laptop"],
  "maxReviews": 20,
  "maxReviewsPerProduct": 20,
  "sort": "newest"
}
```

### Input parameters

#### `productUrlsOrIds`

Required array with 1–100 values.

Use full Dell product URLs for automatic locale and merchant discovery.

Plain page IDs use Dell US (`en_US`) public review configuration.

#### `maxReviews`

Global accepted-review limit from 1 to 10,000.

Product summary rows do not consume this review limit.

#### `maxReviewsPerProduct`

Per-product accepted-review limit from 1 to 5,000.

#### `sort`

Choose `newest`, `highest-rated`, or `lowest-rated`.

#### `ratings`

Optional list containing values from 1 through 5.

#### `dateFrom` and `dateTo`

Optional ISO dates or datetimes applied to review creation time.

For example, `2026-01-01` collects reviews created from that date onward.

### Output example

The default dataset contains both summaries and reviews.

A review row follows this shape:

```json
{
  "recordType": "review",
  "sourceUrl": null,
  "productPageId": "xps-13-9350-intel-laptop",
  "productName": "XPS 13 Laptop (2024)",
  "locale": "en_US",
  "reviewId": "123456789",
  "headline": "Compact and capable",
  "reviewText": "The laptop is light and handles my daily work well.",
  "rating": 5,
  "reviewerNickname": "Sample customer",
  "reviewerLocation": "Austin, TX",
  "createdAt": "2026-01-15T12:00:00.000Z",
  "isRecommended": true,
  "isVerifiedBuyer": true,
  "helpfulVotes": 2,
  "merchantResponse": null,
  "averageRating": 4.14,
  "ratingCount": 582,
  "reviewCount": 263,
  "ratingHistogram": [68, 33, 36, 56, 389],
  "recommendedRatio": 0.72,
  "pageNumber": 1,
  "pagesTotal": 11,
  "scrapedAt": "2026-01-20T12:00:00.000Z"
}
```

### How much does it cost to extract Dell product reviews?

Pricing is pay per event.

Each run has a **$0.005 start fee**.

Each saved product summary or review uses the `item` event.

At the FREE tier, an item currently costs **$0.000041071**; higher-volume subscription tiers have lower item prices.

Example FREE-tier event charges:

| Output | Calculation | Event charge |
| --- | --- | --- |
| 1 summary + 20 reviews | $0.005 + 21 × $0.000041071 | about **$0.00586** |
| 1 summary + 100 reviews | $0.005 + 101 × $0.000041071 | about **$0.00915** |
| 5 summaries + 1,000 reviews | $0.005 + 1,005 × $0.000041071 | about **$0.04628** |

Apify platform usage can also apply according to your account plan.

Use small limits while evaluating a new product list.

### Pagination, filtering, and limits

The Actor requests review pages until it reaches the source end or your accepted-review limit.

Rating and date filters are applied consistently to URL and page-ID inputs.

Filtered-out and duplicate reviews are not saved or charged as items.

If a selective filter matches few records, the Actor may inspect many source pages before exhausting the feed.

A summary is emitted once for each product whose feed resolves successfully.

### Scheduling and monitoring workflows

Create an Apify schedule to rerun a stable product list daily or weekly.

Export newest reviews to Google Sheets for a CX triage queue.

Send dataset items through a webhook to a sentiment classifier.

Load low-rated reviews into a warehouse for defect-theme reporting.

Compare saved summary rows over time to measure rating or review-count movement.

Use `reviewId` as the source key when deduplicating across scheduled runs.

### API usage with cURL

Replace `YOUR_APIFY_TOKEN` with your token:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/automation-lab~dell-product-reviews-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"productUrlsOrIds":["xps-13-9350-intel-laptop"],"maxReviews":20}'
```

Use the returned run's default dataset ID to retrieve items.

### API usage with JavaScript

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/dell-product-reviews-scraper').call({
  productUrlsOrIds: ['xps-13-9350-intel-laptop'],
  maxReviews: 50,
  ratings: [1, 2],
  sort: 'lowest-rated',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### API usage with Python

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("automation-lab/dell-product-reviews-scraper").call(run_input={
    "productUrlsOrIds": ["xps-13-9350-intel-laptop"],
    "maxReviews": 50,
    "sort": "newest",
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
```

### Use with Apify MCP

Add the Actor to Claude Code:

```bash
claude mcp add --transport http apify \
  "https://mcp.apify.com?tools=automation-lab/dell-product-reviews-scraper"
```

#### Claude Desktop, Cursor, and VS Code setup

Claude Desktop, Cursor, and VS Code clients can use this MCP configuration:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=automation-lab/dell-product-reviews-scraper"
    }
  }
}
```

Example prompts:

- “Collect the 50 newest reviews for this Dell product URL.”
- “Export one- and two-star XPS 13 reviews with merchant responses.”
- “Summarize verified-buyer complaints from this Actor's latest dataset.”

### Integrations

Use Apify's dataset integrations to send results to Google Sheets, Zapier, Make, webhooks, or cloud storage.

JSON works well for nested media and properties.

CSV or Excel is convenient for flat review-analysis workflows.

For incremental pipelines, retain `productPageId`, `reviewId`, and `scrapedAt`.

### Responsible use and legality

The Actor reads information Dell and PowerReviews make publicly accessible without login.

You are responsible for complying with applicable laws, Dell's terms, PowerReviews terms, and your use case's privacy obligations.

Do not use review data to harass, profile, or re-identify reviewers.

Avoid republishing personal information unnecessarily.

Use reasonable run frequency and limits.

This Actor is not affiliated with or endorsed by Dell or PowerReviews.

### Limitations

- Only public Dell product pages with PowerReviews configuration are supported.
- Plain page IDs use observed Dell US configuration; use full URLs for other locales.
- Dell can change page markup, identifiers, or service configuration.
- Some products contain ratings but few or no written reviews.
- Review dates, badges, locations, media, and merchant responses can be absent.
- Client-side rating/date filters may inspect more source pages than they save.
- The Actor does not scrape Dell questions, prices, inventory, specifications, or search listings.
- No automatic paid proxy fallback is enabled.

### Troubleshooting

#### “Review configuration was not found”

Confirm the URL is a current Dell product detail page with a visible ratings/reviews section.

Try the canonical URL from your browser rather than a campaign redirect.

#### “PowerReviews returned an unexpected response”

The product may have moved, its page ID may be wrong, or Dell may have changed its public review provider.

Try the full Dell product URL so the Actor can rediscover current configuration.

#### A filtered run returned fewer reviews than expected

Check rating and date filters, then increase `maxReviews` and `maxReviewsPerProduct` if necessary.

The source's `reviewCount` can differ from the number matching your filters.

#### A run failed after retries

Inspect the log for the source URL and HTTP status.

Retry later if Dell or PowerReviews is temporarily unavailable.

### Related Automation Lab Actors

- [Amazon Reviews Scraper](https://apify.com/automation-lab/amazon-reviews-scraper) for Amazon product feedback.
- [Walmart Reviews Scraper](https://apify.com/automation-lab/walmart-reviews-scraper) for Walmart product feedback.
- [Costco Product Reviews Scraper](https://apify.com/automation-lab/costco-product-reviews-scraper) for Costco product feedback.
- [Target Product Reviews Scraper](https://apify.com/automation-lab/target-product-reviews-scraper) for Target product feedback.

Choose this Actor when Dell is the required source and the job depends on Dell's product rollups, reviewer badges, helpful votes, or merchant responses.

### FAQ

#### Does it require a Dell login?

No. Supported product pages and review feeds are public.

#### Does it use a browser or residential proxy?

No. It uses bounded direct HTTP requests and the public review JSON feed.

#### Can I scrape multiple Dell products?

Yes. Supply up to 100 URLs or page IDs and set global/per-product limits.

#### Does `maxReviews` include summary rows?

No. It limits individual reviews. The Actor also saves one summary per successfully processed product.

#### Are duplicate inputs charged twice?

No. Duplicate product configurations and review IDs are deduplicated within a run.

#### Can I get only verified buyers?

The output includes `isVerifiedBuyer`, so filter the resulting dataset or downstream pipeline. There is no verified-only input filter because the public feed does not expose a stable server-side option for it.

#### Does this provide sentiment analysis?

No. It exports structured source data suitable for a separate sentiment or topic-analysis step.

#### Can I use it for historical monitoring?

Yes. Schedule runs and compare summary metrics or deduplicate reviews by `reviewId` in your destination.

# Actor input Schema

## `productUrlsOrIds` (type: `array`):

Dell product page URLs or PowerReviews page IDs. Plain page IDs use Dell US review configuration.

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

Global maximum number of review records across all products. Product summary records do not count toward this limit.

## `maxReviewsPerProduct` (type: `integer`):

Maximum number of review records saved for each Dell product.

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

Order returned by Dell's public review service.

## `ratings` (type: `array`):

Optional ratings from 1 to 5 to include. Leave empty for every rating.

## `dateFrom` (type: `string`):

Optional ISO date or datetime, for example 2026-01-01.

## `dateTo` (type: `string`):

Optional ISO date or datetime, for example 2026-12-31.

## Actor input object example

```json
{
  "productUrlsOrIds": [
    "https://www.dell.com/en-us/shop/dell-laptops/xps-13-laptop/spd/xps-13-9350-intel-laptop"
  ],
  "maxReviews": 20,
  "maxReviewsPerProduct": 20,
  "sort": "newest",
  "ratings": []
}
```

# Actor output Schema

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

Open the default dataset overview with product rollups and review records.

# 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 = {
    "productUrlsOrIds": [
        "https://www.dell.com/en-us/shop/dell-laptops/xps-13-laptop/spd/xps-13-9350-intel-laptop"
    ],
    "maxReviews": 20,
    "maxReviewsPerProduct": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/dell-product-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 = {
    "productUrlsOrIds": ["https://www.dell.com/en-us/shop/dell-laptops/xps-13-laptop/spd/xps-13-9350-intel-laptop"],
    "maxReviews": 20,
    "maxReviewsPerProduct": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/dell-product-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 '{
  "productUrlsOrIds": [
    "https://www.dell.com/en-us/shop/dell-laptops/xps-13-laptop/spd/xps-13-9350-intel-laptop"
  ],
  "maxReviews": 20,
  "maxReviewsPerProduct": 20
}' |
apify call automation-lab/dell-product-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automation-lab/dell-product-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/N5uZO55RcBUZQ70Y3/builds/SGtCqElsvbgHsC6nv/openapi.json
