# Target Product Reviews Scraper (`parseforge/target-reviews-scraper`) Actor

Scrapes Target product reviews from any product URL. Returns one flat row per review with rating, title, body, author, date, and verified-purchase flag. Filter by rating, verified status, or photo presence.

- **URL**: https://apify.com/parseforge/target-reviews-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 34 total users, 8 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $11.99 / 1,000 result items

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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)](https://apify.com/parseforge?fpr=vmoqkp)

### Target Product Reviews Scraper

**Scrape Target product reviews from any product URL, up to a million per run.** Every review comes with its rating, title, body text, author, date, and verified-purchase flag. No login or API key. Export to CSV, JSON, Excel, or XML.

**Low minimum charge:** $0.005 to start a run, then you only pay for the results you get.

Target's official API needs a partner account, OAuth, and rate-limits you. This reads the public review feeds directly, filtered by rating, verified status, or photo presence, and returns each match in one fixed schema.

| Who uses it | What they scrape Target for |
|---|---|
| Market researchers | Which product features customers praise or complain about most |
| E-commerce managers | How their own products compare to competitors on Target |
| Brand analysts | Sentiment trends across a product line over time |
| SEO specialists | Long-tail keywords and phrases real buyers use in reviews |

### What it does

This Actor collects Target product reviews by product URL and returns each one as a flat row.

- ⭐ **Rating filter:** collect only 1-star rants or 5-star raves, or anything in between.
- ✅ **Verified purchases:** exclude unverified reviews to focus on confirmed buyers.
- 📸 **Photo reviews:** keep only reviews that include images, useful for visual feedback.
- 🔀 **Sort order:** most recent, most helpful, highest or lowest rating, most positive or negative.
- ⚙️ **Concurrency and delay:** tune request speed to avoid rate limits on large runs.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Target data

**📊 Monitor product sentiment.**

A brand analyst runs the Actor weekly on a list of Target product URLs to track rating trends and spot emerging complaints before they go viral.

**🔍 Mine review keywords.**

An SEO specialist scrapes reviews for a category and extracts the exact phrases buyers use, then feeds them into product page copy and ad campaigns.

**🛒 Compare competitor products.**

An e-commerce manager collects reviews for competing items on Target and builds a feature matrix of what customers love and hate about each.

**📈 Track review volume over time.**

A market researcher schedules daily runs for a set of products and charts review count and average rating to measure campaign impact.

### Why choose this scraper

| | What you get |
|---|---|
| **No API key** | Scrape public review data without registering a Target partner account |
| **Flat schema** | One row per review, ready for spreadsheets or databases |
| **Scale** | From a single product to thousands of URLs in one run |
| **Filtered output** | Only the reviews you need, not the whole page |

### How it compares

No other Store actor targets Target the same way, so the honest comparison is with the alternatives teams actually weigh.

| | Target Product Reviews Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Target changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from product URLs, and filters run as each review is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "productUrls": [
 "https://www.target.com/p/apple-airpods-pro-3/-/A-85978609"
 ],
 "maxReviews": 20
}
```

### Pricing

Pay-per-result: **$0.01599 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.60 |
| 1,000 results | $15.99 |
| 10,000 results | $159.90 |

#### Optional extras (from 3 October 2026)

Three opt-in extras add the product record, review analytics and shopper questions. All are off by default, and a block that does not come back is never charged. The per-result price does not change.

| Event | Price | Charged when |
|---|---|---|
| `apify-actor-start` | $0.005 per GB of run memory | the run starts |
| `product-details` | $0.02 per product | `includeProductDetails` is on and the product record came back (title, brand, UPC, category, images, and the price when Target returns it) |
| `review-insights` | $0.01 per product | `includeReviewInsights` is on and the star distribution, topic sentiment and per review extras came back |
| `question-answer` | $0.008 per question | `includeQuestions` is on, once per question row delivered with its answers |

Question rows are marked `recordType: "question"` and are not billed as review results.

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Target Product Reviews Scraper](https://apify.com/parseforge/target-reviews-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Target through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/target-reviews-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that the product URL is correct and the product has reviews. Also verify your filters: a rating filter of 5 with verifiedOnly true may return nothing if no verified 5-star reviews exist.

**Why do I get fewer reviews than maxReviews?**

The Actor can only return reviews that exist on the page. If the product has 50 reviews and you set maxReviews to 200, you will get 50.

**Why am I getting rate-limited or blocked?**

Reduce maxConcurrency to 1 and increase requestDelayMs to 1000 or more. Target may throttle aggressive scraping.

**Why are some reviews missing fields?**

Target sometimes omits optional data like author name or verified flag. The Actor returns empty strings for missing fields to keep the schema flat.

**Can I scrape reviews from a search results page?**

No. The Actor expects direct product URLs, like https://www.target.com/p/apple-airpods-pro-3/-/A-85978609. Use a Target search scraper to get product URLs first.

### FAQ

| Question | Answer |
|---|---|
| Do I need a Target account or API key? | No. The Actor reads the public review feeds that Target serves to any browser. No login, no partner registration, no OAuth. |
| How many reviews can I scrape? | Free users are limited to 100 reviews per run. Paid users can set maxReviews up to 1,000,000, subject to what the product has. |
| Can I scrape reviews for multiple products at once? | Yes. Pass a list of product URLs in the productUrls field and the Actor will process them all in one run. |
| What does a review row include? | Each row contains the review title, body text, star rating, author name, review date, verified-purchase flag, and whether photos are attached. |
| Can I filter out unverified reviews? | Yes. Set verifiedOnly to true and only reviews from confirmed purchasers will be returned. |
| Can I get only reviews with photos? | Yes. Set hasOnlyPhotos to true and the Actor will skip reviews without images. |
| How do I sort the reviews? | Use the sortBy field. Options include most recent, most helpful, rating high to low, rating low to high, most positive, and most negative. |
| What if I get rate-limited? | Lower maxConcurrency and increase requestDelayMs. Start with 1 concurrency and 1000 ms delay if you see errors. |
| Can I export the data? | Yes. The Actor outputs a dataset you can download as CSV, JSON, Excel, or XML from the Apify platform. |
| Is this legal? | You are responsible for complying with Target's terms of service and applicable laws. The Actor only accesses publicly available data. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Target Brands, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `productUrls` (type: `array`):

List of Target product page URLs to scrape reviews from. Example: https://www.target.com/p/apple-airpods-pro-3/-/A-85978609

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

Free users: Limited to 100. Paid users: Optional, max 1,000,000.

## `sortBy` (type: `string`):

How to sort the reviews.

## `filterByRating` (type: `integer`):

Only return reviews with this star rating (1-5). Leave empty for all ratings.

## `verifiedOnly` (type: `boolean`):

Only return reviews from verified purchasers.

## `hasOnlyPhotos` (type: `boolean`):

Only return reviews that include photos.

## `maxConcurrency` (type: `integer`):

Maximum number of parallel requests. Lower this if you get rate-limited.

## `requestDelayMs` (type: `integer`):

Milliseconds to wait between requests. Increase if the site rate-limits you.

## `includeProductDetails` (type: `boolean`):

Adds a productDetails block to every review row: real product title, brand, UPC barcode, DPCI, category path, badges, highlights, specifications, description, images and videos. The current price, regular price and discount are included when Target returns them. It is one or two extra requests per product. Charged once per product, only for a product that returns it.

## `includeReviewInsights` (type: `boolean`):

Adds a reviewInsights block to every review row (star distribution, recommended and not recommended counts, question count, feature score averages, topic sentiment) plus per review extras: isRecommended, modifiedAt, badges, photoUrls, videoUrls and brandResponses. It needs no extra request. Charged once per product, only for a product that returns it.

## `includeQuestions` (type: `boolean`):

Also collects the product's shopper questions with every answer, as separate rows marked recordType "question". It is one extra request per 50 questions. Charged per question row delivered, and question rows are not billed as review results.

## `maxQuestions` (type: `integer`):

Upper limit of question rows per product when "Include questions and answers" is on. Free users: limited to 100.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.target.com/p/apple-airpods-pro-3/-/A-85978609"
  ],
  "maxReviews": 20,
  "sortBy": "most_recent",
  "verifiedOnly": false,
  "hasOnlyPhotos": false,
  "maxConcurrency": 5,
  "requestDelayMs": 0,
  "includeProductDetails": false,
  "includeReviewInsights": false,
  "includeQuestions": false,
  "maxQuestions": 100
}
```

# Actor output Schema

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

Dataset with all scraped items

# 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 = {
    "productUrls": [
        "https://www.target.com/p/apple-airpods-pro-3/-/A-85978609"
    ],
    "maxReviews": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/target-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 = {
    "productUrls": ["https://www.target.com/p/apple-airpods-pro-3/-/A-85978609"],
    "maxReviews": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/target-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 '{
  "productUrls": [
    "https://www.target.com/p/apple-airpods-pro-3/-/A-85978609"
  ],
  "maxReviews": 20
}' |
apify call parseforge/target-reviews-scraper --silent --output-dataset

```

## MCP server setup

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