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

Efficiently extract comprehensive customer review data from Target.com product pages. Get detailed ratings, review text, customer attributes, and verification status to analyze consumer sentiment and enhance your business intelligence.

- **URL**: https://apify.com/ecomscrape/target-reviews-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Features:** Full permissions
- **Stats:** 17 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## 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

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Target.com Review Scraper - Automated Review Extraction

### Introduction

Target.com stands as one of America's largest retail platforms, hosting millions of customer reviews across countless products. These reviews represent invaluable insights into consumer behavior, product satisfaction, and market trends. Manual collection of this review data is time-intensive and impractical for businesses needing to analyze competitor products, monitor brand sentiment, or conduct market research at scale.

The Target Review Scraper addresses this challenge by automating the extraction of comprehensive review data from Target.com product pages. This tool transforms hours of manual work into minutes of automated data collection, enabling businesses to make data-driven decisions based on authentic customer feedback.

### Comprehensive Review Data Extraction

The Target Review Scraper is designed specifically for extracting detailed customer review information from Target.com product pages. This specialized tool captures not just basic review content, but the complete metadata and contextual information that makes review analysis truly valuable.

The scraper excels at handling Target.com's dynamic content structure, ensuring reliable data extraction even from pages with heavy JavaScript implementation. It's built to respect rate limits and maintain consistent performance across large datasets, making it suitable for both small-scale research and enterprise-level data collection operations.

Primary users include market researchers, e-commerce analysts, brand managers, competitive intelligence teams, and data scientists who need structured access to Target's customer review ecosystem for sentiment analysis, product research, or consumer behavior studies.

### Input and Output Details

#### Input Configuration

Example url 1: https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635

Example url 2: https://www.target.com/p/hp-15-6-34-laptop-intel-pentium-n200-8gb-ram-256gb-ssd-storage-blue-15-fd0015tg/-/A-91188094#lnk=sametab

Example url 3: https://www.target.com/p/women-39-s-pleated-maxi-dress-a-new-day-8482-coral-xl/-/A-94199349

Example Screenshot of review information page:

![](https://i.ibb.co/202vNr2t/Screenshot-from-2025-08-06-16-30-33.png)

The scraper accepts a JSON configuration with the following parameters:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "max_items_per_url": 20, // Total page you want scrape
  "urls": [ // Links to detail pages.
    "https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635",
    "https://www.target.com/p/hp-15-6-34-laptop-intel-pentium-n200-8gb-ram-256gb-ssd-storage-blue-15-fd0015tg/-/A-91188094#lnk=sametab",
    "https://www.target.com/p/women-39-s-pleated-maxi-dress-a-new-day-8482-coral-xl/-/A-94199349"
  ]
}
```

**Input Parameters Explained:**

- `max_retries_per_url`: Controls reliability by setting retry attempts for failed requests
- `proxy` settings: Essential for avoiding bot detection during large-scale scraping operations
- `max_items_per_url`: Limits the number of reviews extracted per product to manage data volume
- `urls`: Array of specific Target product page URLs to scrape

**Output:**

The scraper delivers structured data with the following fields:

```json
[ // List of review information
  {
  "id": "7d87dc26-34d8-499a-8a37-e3cc9b4a0622",
  "external_id": "8396d355-cdad-59fa-b836-ffa35963f42d",
  "channel": "TARGET",
  "tcin": "94349635",
  "rating": 1,
  "rating_range": 5,
  "secondary_ratings_order": [
    "Comfort",
    "Style",
    "Value"
  ],
  "secondary_ratings": {
    "comfort": {
      "id": "Comfort",
      "value": 2,
      "label": "comfort",
      "value_range": 5,
      "display_type": "NORMAL"
    },
    "style": {
      "id": "Style",
      "value": 3,
      "label": "style",
      "value_range": 5,
      "display_type": "NORMAL"
    },
    "value": {
      "id": "Value",
      "value": 1,
      "label": "value",
      "value_range": 5,
      "display_type": "NORMAL"
    }
  },
  "title": "Beware it is see through!",
  "text": "Loved it until I realized it was completely sheer and could see everything under it! If it was lined would have been perfect. I tried the coral color.",
  "is_verified": true,
  "status": "APPROVED",
  "photos": [],
  "badges_order": [
    "verifiedPurchaser"
  ],
  "badges": {
    "verified_purchaser": {
      "id": "verifiedPurchaser",
      "content_type": "REVIEW",
      "badge_type": "Custom"
    }
  },
  "source_client": "targetcom",
  "syndication_source": null,
  "is_ratings_only": false,
  "client_response_count": 0,
  "client_responses": [],
  "entities": [],
  "tags": [],
  "author": {
    "external_id": "448240110",
    "nickname": "Celeg"
  },
  "is_syndicated": false,
  "feedback": {
    "helpful": 3,
    "unhelpful": 0,
    "inappropriate": 0
  },
  "submitted_at": "2025-06-13T15:31:09.000+00:00",
  "modified_at": "2025-07-01T15:53:04.000+00:00",
  "reviewer_attributes": [],
  "is_incentivized": false,
  "from_url": "https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635"
}, // ... Many other review details
]
```

#### Output Format

The scraper delivers comprehensive review data in structured JSON format with 26 distinct data fields:

**Core Identifiers & Metadata:**

- `ID`: Unique review identifier for database management
- `External ID`: Target's internal review reference
- `Channel`: Review source channel designation
- `TCIN`: Target's internal product catalog identifier

**Rating Information:**

- `Rating`: Primary numerical rating (typically 1-5 scale)
- `Rating Range`: Available rating scale parameters
- `Secondary Ratings Order`: Sequence of additional rating criteria
- `Secondary Ratings`: Detailed breakdown of aspect-specific ratings

**Review Content:**

- `Title`: Review headline or summary title
- `Text`: Complete review text content
- `Photos`: Associated review images or media
- `Tags`: Categorization labels assigned to reviews

**Verification & Status:**

- `Is Verified`: Indicates verified purchase status
- `Status`: Review publication and moderation status
- `Badges Order`: Sequence of review quality indicators
- `Badges`: Special designations (Top Reviewer, Verified Buyer, etc.)

**Source Information:**

- `Source Client`: Originating platform or application
- `Syndication Source`: Third-party review syndication data
- `Is Syndicated`: Flag for syndicated content
- `Is Ratings Only`: Indicates rating-only submissions without text

**Interaction Data:**

- `Client Response Count`: Number of responses from businesses
- `Client Responses`: Actual response content from Target or brands
- `Feedback`: Helpful/unhelpful votes and engagement metrics

**Author Information:**

- `Author`: Reviewer identification (anonymized as appropriate)
- `Reviewer Attributes`: Demographics and reviewer characteristics
- `Is Incentivized`: Indicates incentivized review status

**Temporal Data:**

- `Submitted At`: Original review submission timestamp
- `Modified At`: Last modification date and time

**Additional Context:**

- `Entities`: Named entities extracted from review text
- `Is Ratings Only`: Pure rating submissions without textual content

This comprehensive dataset enables sophisticated analysis including sentiment tracking, rating distribution analysis, reviewer behavior patterns, and temporal trend identification.

### Implementation Guide

**Step 1: URL Preparation**
Compile Target.com product URLs ensuring they follow the correct format. URLs should point directly to product detail pages where reviews are displayed.

**Step 2: Configuration Setup**
Configure proxy settings using residential proxies to avoid detection. Set appropriate retry limits and item counts based on your data volume requirements.

**Step 3: Rate Management**
Implement reasonable delays between requests. Target.com employs bot detection, so maintaining human-like browsing patterns is essential for consistent results.

**Step 4: Data Validation**
Review extracted data for completeness and accuracy. Some products may have limited review data, while others contain extensive review histories.

**Common Issues & Solutions:**

- Empty results often indicate proxy issues or rate limiting
- Partial data extraction typically resolves with reduced request frequency
- JavaScript-heavy pages may require additional processing time

### Business Value and Applications

**Time Efficiency**: Automated extraction replaces hours of manual data collection with minutes of automated processing, enabling real-time competitive analysis and market monitoring.

**Market Intelligence**: Access to structured review data enables comprehensive competitor analysis, product positioning insights, and consumer sentiment tracking across product categories.

**Quality Assurance**: Monitor product reception, identify quality issues early, and track customer satisfaction trends over time through comprehensive review analysis.

**Strategic Planning**: Data-driven insights support product development, pricing strategies, and marketing campaign optimization based on authentic customer feedback patterns.

The Target Review Scraper provides essential infrastructure for businesses requiring systematic access to Target.com's customer review ecosystem, enabling data-driven decision making in competitive retail environments.

**Ready to Extract Target Review Data?** Configure your scraper today and transform customer review analysis from manual effort into automated intelligence gathering that drives business growth.

## Related Actors

[**Target.com Product Details Scraper**](https://apify.com/ecomscrape/target-product-page-details-scraper): Extract detailed product information from Target.com effortlessly with this powerful scraping tool

[**Target.com Product Search Scraper**](https://apify.com/ecomscrape/target-product-search-scraper): Extract detailed product information from Target.com effortlessly with this powerful scraping tool

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Target.com Review Query Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Detail page urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "urls": [
        "https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635"
    ],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/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 = {
    "urls": ["https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635"],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/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 '{
  "urls": [
    "https://www.target.com/p/women-s-pleated-maxi-dress-a-new-day/-/A-94349635"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/target-reviews-scraper --silent --output-dataset

```

## MCP server setup

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