# Target Product Details Scraper (`ecomscrape/target-product-page-details-scraper`)

The Target.com Product Details Scraper extracts detailed product data from Target.com, including title, brand, price, rating, image URLs, etc., by providing product details page urls.

- **URL**: https://beta-securitybyobscurity.apify.com/ecomscrape/target-product-page-details-scraper.md
- **Developed by:** [ecomscrape](https://beta-securitybyobscurity.apify.com/ecomscrape) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 17 total users, 4 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

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

## **Professional Target.com Product Data Extraction Solution**

### Introduction

Target.com stands as one of America's largest retail platforms, serving millions of customers with extensive product catalogs spanning electronics, home goods, clothing, and groceries. With a customer base featuring a median age of 40 and household income of $64,000, Target represents a crucial market segment for businesses conducting market research, competitive analysis, and price monitoring.

The Target.com Product Details Scraper addresses the critical need for automated data collection from this retail giant. Manual product research across Target's vast inventory is time-consuming and inefficient, making automated data extraction essential for businesses, researchers, and analysts seeking comprehensive product intelligence. This scraper transforms hours of manual work into minutes of automated data collection, providing structured, actionable insights from Target's product ecosystem.

### Scraper Overview

The Target.com Product Details Scraper is a sophisticated data extraction tool designed to capture comprehensive product information with high accuracy and reliability. Built with enterprise-grade capabilities, it handles Target's dynamic web structure while respecting rate limits and anti-bot measures.

**Key Strengths:**

- **Comprehensive Data Extraction**: Captures 20+ product attributes including pricing, ratings, reviews, and technical specifications
- **Residential Proxy Integration**: Uses RESIDENTIAL proxy networks to ensure reliable access and avoid detection
- **Intelligent Retry Mechanism**: Configurable retry logic handles temporary failures and network issues
- **Structured Output**: Delivers clean, consistent JSON format perfect for analysis and integration

**Target Users:**

- E-commerce businesses monitoring competitor pricing
- Market researchers analyzing product trends
- Data analysts studying consumer preferences
- Inventory managers tracking product availability
- Marketing professionals researching product positioning

### Input and Output Specifications

The scraper accepts a JSON configuration with three main components:

Example url 1: https://www.target.com/p/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab

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/hp-14-touchscreen-laptop-intel-celeron-4gb-ram-64gb-emmc-storage-windows-11/-/A-89812356?preselect=89423965#lnk=sametab

Example Screenshot of product information page:

![](https://i.ibb.co/0B0pYBh/Screenshot-from-2025-01-13-09-51-41.png)

#### Input Format

The scraper accepts a JSON configuration with three main components:

```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
  },
  "urls": [ // Links to product information pages.
    "https://www.target.com/p/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab",
    "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/hp-14-touchscreen-laptop-intel-celeron-4gb-ram-64gb-emmc-storage-windows-11/-/A-89812356?preselect=89423965#lnk=sametab"
  ]
}
```

**Configuration Parameters:**

- **max\_retries\_per\_url**: Controls persistence when encountering access issues (recommended: 2-3)
- **useApifyProxy**: Essential for avoiding bot detection and maintaining access
- **apifyProxyGroups**: RESIDENTIAL proxies provide the most reliable access patterns
- **apifyProxyCountry**: Should match your target market (US for Target.com data)
- **urls**: Array of Target.com product page URLs for extraction

#### Output Format

You get the output from the Target.com Product Details Page Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of product information
  {
    "url": "https://www.target.com/p/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603",
    "title": "Apple Watch Ultra GPS + Cellular Titanium Case",
    "description": {
      "bullet_descriptions": [
        "<B>Features:</B> Black, Gray (band)",
        "<B>Weight:</B> 61.3 Grams",
        "<B>Water Resistance:</B> Water-Resistant, Sweat-Resistant",
        "<B>Product Model:</B> Apple Watch Ultra",
        "<B>Electronics Features:</B> Customizable Watch Faces, Mobile Payment Technology, Text Notifications, Makes and Receives Calls and Texts When Paired with Compatible Device, Changeable Bands",
        "<B>Connection Type:</B> No Wired Connection Ports",
        "<B>Material: Watch Band:</B> Nylon",
        "<B>Includes:</B> Charging/Docking Station",
        "<B>Operating System Compatibility:</B> Watch OS",
        "<B>Wireless Technology:</B> Bluetooth",
        "<B>Screen Size:</B> 49 Millimeter",
        "<B>Activities tracked:</B> Elliptical Training, Daily Workout Memory, Custom Activity Tracking, Swimming, Hand Washing",
        "<B>IP rating:</B> IP68",
        "<B>Maximum Battery Charge Life:</B> 1 Days",
        "<B>Metrics Measured:</B> Sleep Duration, Heart Rate, Total Steps, Heart Rhythm (ECG), Active Minutes",
        "<B>Band Size:</B> S/M",
        "<B>Material:</B> Titanium",
        "<B>Battery:</B> 1 Non-Universal Lithium Ion, Required, Included",
        "<B>Warranty:</B> 1 Year Limited Warranty. To obtain a copy of the manufacturer's or supplier's warranty for this item prior to purchasing the item, please call Target Guest Services at 1-800-591-3869"
      ],
      "downstream_description": "The most rugged and capable Apple Watch ever, designed for exploration, adventure, and endurance. With a 49mm aerospace-grade titanium case, extra-long battery life,¹ specialized apps that work with the advanced sensors, and a new customizable Action button.<br /><br />What's in the Box<br />• Ocean Band<br />• USB-C Magnetic Fast Charging Cable<br /><br />Technical specifications<br />Go to apple.com/watch/compare for a complete set.<br /><br />Legal<br />Apple Watch Ultra requires an iPhone 8 or later with iOS 16 or later.<br />¹Battery life varies by use and configuration. See apple.com/batteries for more information.<br />²Apple Watch Ultra has a water resistance rating of 100 meters under ISO standard 22810. It may be used for recreational scuba diving (with compatible third-party app from the App Store) to 40 meters and high-speed water sports. Apple Watch Ultra should not be used for diving below 40 meters. Water resistance is not a permanent condition and can diminish over time. For additional information, see support.apple.com/HT205000.<br />³Emergency SOS requires a cellular connection or Wi-Fi Calling with an internet connection from your Apple Watch or nearby iPhone.<br />⁴A subscription is required for Oceanic+. Available on the App Store. Always follow diving protocols, dive with a companion, and have a secondary device.<br />⁵Wireless service plan required for cellular service. Contact your service provider for more details. Connection may vary based on network availability. Check apple.com/watch/cellular for participating wireless carriers and eligibility. See support.apple.com/en-us/HT207578 for additional setup instructions.<br />⁶The ECG app and irregular rhythm notification require the latest versions of watchOS and iOS and are not intended for use by people under 22 years old. The ECG app is available on Apple Watch Series 4 or later (not including Apple Watch SE). The irregular rhythm notification is not designed for people who have been previously diagnosed with Afib.<br />⁷The temperature sensing feature is not a medical device and is not intended for use in medical diagnosis, treatment, or for any other medical purpose.<br />⁸The Cycle Tracking app should not be used as a form of birth control. Data from the Cycle Tracking app should not be used to diagnose a health condition.<br />⁹Blood Oxygen app measurements are not intended for medical use, including self-diagnosis or consultation with a doctor, and are only designed for general fitness and wellness purposes.<br />¹⁰Apple Pay is not available in all markets. For a list of Apple Pay countries and regions, visit support.apple.com/en-us/HT207957.<br />¹¹A subscription is required for Apple Fitness+.",
      "soft_bullet_description": "&bull;Specialized features, sensors, and three new bands designed for exploration, adventure, and endurance<br>&bull;49mm aerospace-grade titanium case for an ideal balance of weight, strength, and corrosion resistance<br>&bull;The largest, brightest Apple Watch display for improved legibility in all conditions<br>&bull;Up to 36 hours of battery life for normal use along with low-power settings for even longer battery life¹<br>&bull;Precision dual-frequency GPS system provides accurate location for calculating distance, pace, and route maps<br>&bull;Water resistant 100m²<br>&bull;Greater operating temperature tolerances while on-wrist to accommodate incredibly diverse environments<br>&bull;Customizable Action button can mark a Compass Waypoint, start Backtrack, mark segments in a workout, turn on the flashlight, and more",
      "soft_bullets": {
        "bullets": [
          "Specialized features, sensors, and three new bands designed for exploration, adventure, and endurance",
          "49mm aerospace-grade titanium case for an ideal balance of weight, strength, and corrosion resistance",
          "The largest, brightest Apple Watch display for improved legibility in all conditions",
          "Up to 36 hours of battery life for normal use along with low-power settings for even longer battery life¹",
          "Precision dual-frequency GPS system provides accurate location for calculating distance, pace, and route maps",
          "Water resistant 100m²",
          "Greater operating temperature tolerances while on-wrist to accommodate incredibly diverse environments",
          "Customizable Action button can mark a Compass Waypoint, start Backtrack, mark segments in a workout, turn on the flashlight, and more"
        ],
        "title": "highlights"
      }
    },
    "primary_brand": {
      "canonical_url": "/b/apple/-/N-5y3ej",
      "linking_id": "5y3ej",
      "name": "Apple"
    },
    "tcin": "87580603",
    "original_tcin": null,
    "desirability_cues": null,
    "promotions": null,
    "price": {
      "formatted_current_price": "$659.99 - $799.99",
      "formatted_current_price_type": "reg",
      "location_id": 3991,
      "current_retail_min": 659.99,
      "reg_retail_max": 799.99
    },
    "rating_score": 4.22,
    "rating_distribution": {
      "rating1": 27,
      "rating2": 1,
      "rating3": 0,
      "rating4": 6,
      "rating5": 115
    },
    "total_ratings": 149,
    "total_reviews": 85,
    "aspects_rating_score": [
      {
        "id": "display",
        "label": "display",
        "range": 5,
        "type": "RATING",
        "value": 3.67
      },
      {
        "id": "Features",
        "label": "features",
        "range": 5,
        "type": "RATING",
        "value": 3.63
      },
      {
        "id": "speed",
        "label": "speed",
        "range": 5,
        "type": "RATING",
        "value": 3.71
      },
      {
        "id": "Value",
        "label": "value",
        "range": 5,
        "type": "RATING",
        "value": 3.26
      },
      {
        "id": "EaseOfUse",
        "label": "ease of use",
        "range": 5,
        "type": "RATING",
        "value": 3.7
      }
    ],
    "cart_add_on_threshold": 35.0,
    "is_limited_time_offer": null,
    "relationship_type": null,
    "relationship_type_code": "VAP",
    "buy_url": "https://www.target.com/p/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603",
    "images": {
      "base_url": "//target.scene7.com/is/image/Target/",
      "primary_image_url": "https://target.scene7.com/is/image/Target/GUEST_771bb28e-6eb6-4628-ad02-e3542ecb224c",
      "primary_image": "GUEST_771bb28e-6eb6-4628-ad02-e3542ecb224c",
      "swatch_image_url": "https://target.scene7.com/is/image/Target/GUEST_ca6952f8-6f45-48ca-86bd-14f83d458f70",
      "swatch_image": "GUEST_ca6952f8-6f45-48ca-86bd-14f83d458f70",
      "alternate_images": [
        "GUEST_3002f826-0ed1-4322-9256-f33fc43371d4",
        "GUEST_25df4c7c-bc6c-44b0-ac38-b3bafc4791cc",
        "GUEST_fffa406d-b26e-4e9f-a691-80ce4afb99b2",
        "GUEST_6d484b6a-d2fc-40fb-8104-16f7a97c1990",
        "GUEST_f7ae1d85-fbd1-4fcf-9f52-acc43f3a79ce",
        "GUEST_f514778e-1d43-480e-91ee-5b1b70d93fee",
        "GUEST_958b96dd-cb80-457b-888f-d9e447a5a1da"
      ],
      "alternate_image_urls": [
        "https://target.scene7.com/is/image/Target/GUEST_3002f826-0ed1-4322-9256-f33fc43371d4",
        "https://target.scene7.com/is/image/Target/GUEST_25df4c7c-bc6c-44b0-ac38-b3bafc4791cc",
        "https://target.scene7.com/is/image/Target/GUEST_fffa406d-b26e-4e9f-a691-80ce4afb99b2",
        "https://target.scene7.com/is/image/Target/GUEST_6d484b6a-d2fc-40fb-8104-16f7a97c1990",
        "https://target.scene7.com/is/image/Target/GUEST_f7ae1d85-fbd1-4fcf-9f52-acc43f3a79ce",
        "https://target.scene7.com/is/image/Target/GUEST_f514778e-1d43-480e-91ee-5b1b70d93fee",
        "https://target.scene7.com/is/image/Target/GUEST_958b96dd-cb80-457b-888f-d9e447a5a1da"
      ],
      "content_labels": [
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_ca6952f8-6f45-48ca-86bd-14f83d458f70"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_a05a2899-e585-4879-b282-31337b1935b6"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_cd0fb06b-3902-4586-8795-c8caa8f3d8fd"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_73386c3a-1e1c-4777-bfb9-23c1f023fdc2"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_a3db61b3-708a-47e2-9b81-f03efd3437c5"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_9133fdf7-cef3-45f2-b979-3c208f2a9491"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_771bb28e-6eb6-4628-ad02-e3542ecb224c"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_3072117e-517f-49c6-b744-d04d4c542e5c"
        },
        {
          "image_url": "https://target.scene7.com/is/image/Target/GUEST_958b96dd-cb80-457b-888f-d9e447a5a1da"
        }
      ]
    },
    "videos": null,
    "product_classification": {
      "item_type": {
        "name": "Smartwatches",
        "type": "37335553"
      },
      "product_type": 542,
      "product_type_name": "ELECTRONICS",
      "purchase_behavior": "Discretionary"
    },
    "dpci": null,
    "category": {
      "parent_category_id": "551ss",
      "name": "Smartwatches",
      "breadcrumbs": [
        {
          "canonical_url": "/",
          "category_id": "root",
          "name": "target"
        },
        {
          "canonical_url": "/c/electronics/-/N-5xtg6",
          "category_id": "5xtg6",
          "name": "Electronics"
        },
        {
          "canonical_url": "/c/smart-health-technology/-/N-nuo8q",
          "category_id": "nuo8q",
          "name": "Smart Health Technology"
        },
        {
          "canonical_url": "/c/wearable-technology-electronics/-/N-551ss",
          "category_id": "551ss",
          "name": "Wearable Technology"
        },
        {
          "canonical_url": "/c/smart-watches-wearable-technology-electronics/-/N-557u9",
          "category_id": "557u9",
          "name": "Smartwatches"
        }
      ]
    },
    "collection_parents": null,
    "wellness_merchandise_attributes": [
      {
        "parent_id": "108257",
        "value_id": "236443",
        "value_name": "Bluetooth",
        "badge_url": "https://target.scene7.com/is/image/Target/GUEST_9c3369a7-9e1c-4f62-becb-f0fb4cd9cd68",
        "wellness_description": "A technology that allows devices to communicate with each other without cables or wires"
      },
      {
        "parent_id": "124250",
        "value_id": "235310",
        "value_name": "Water Resistant",
        "badge_url": "https://target.scene7.com/is/image/Target/GUEST_2f65cfd8-68ec-49c1-bc3a-52ba456a2c59",
        "wellness_description": "Product is able to resist the penetration of water to some degree.\n"
      },
      {
        "parent_id": "304593",
        "value_id": "1315536302",
        "value_name": "Two Way Communication",
        "badge_url": "https://target.scene7.com/is/image/Target/GUEST_e7f23113-1caa-46b1-80bc-4aa3d2f58402",
        "wellness_description": " Allows communication between two people or two groups."
      }
    ],
    "predictive_search": {
      "search_term": "apple watch"
    }
  }, // ... Many other product details
]
```

The scraper returns comprehensive product data in structured JSON format:

**Core Product Information:**

- **URL**: Original product page URL for reference tracking
- **Title**: Full product name as displayed on Target.com
- **Description**: Detailed product description and features
- **Primary Brand**: Manufacturer or brand name
- **TCIN**: Target's internal product identifier (critical for inventory tracking)
- **Original TCIN**: Base product identifier before variations

**Pricing and Promotional Data:**

- **Price**: Current selling price with currency formatting
- **Promotions**: Active deals, discounts, and special offers
- **Is Limited Time Offer**: Boolean flag for time-sensitive deals
- **Cart Add-On Threshold**: Minimum purchase requirements for promotions

**Customer Feedback Metrics:**

- **Rating Score**: Overall customer rating (1-5 scale)
- **Rating Distribution**: Breakdown of star ratings (5-star, 4-star, etc.)
- **Total Ratings**: Number of customer ratings received
- **Total Reviews**: Count of written customer reviews
- **Aspects Rating Score**: Detailed ratings for specific product aspects (quality, value, etc.)

**Product Classification:**

- **Category**: Target's product categorization hierarchy
- **Product Classification**: Detailed product type classification
- **DPCI**: Department-Product-Class-Item code for internal categorization
- **Collection Parents**: Parent product collections or series

**Media and Visual Assets:**

- **Images**: Array of product image URLs in multiple resolutions
- **Videos**: Product demonstration or promotional video links
- **Desirability Cues**: Visual indicators that drive purchase intent

**Inventory and Availability:**

- **Buy URL**: Direct purchase link with pre-selected options
- **Relationship Type**: Product variant relationships (color, size, etc.)
- **Relationship Type Code**: Coded relationships between product variants

**Specialized Attributes:**

- **Wellness Merchandise Attributes**: Health and wellness product specifications
- **Predictive Search**: Search optimization terms and keywords

### Usage Guide

#### Step-by-Step Implementation

1. **URL Preparation**: Copy Target.com product URLs directly from your browser
2. **Proxy Configuration**: Set proxy country to US for optimal Target.com access
3. **Retry Settings**: Configure max\_retries\_per\_url based on your reliability needs
4. **Execution**: Submit configuration and monitor extraction progress
5. **Data Processing**: Parse returned JSON for analysis or database storage

#### Best Practices

**URL Selection**: Use complete product URLs with all parameters intact. Pre-selected variants (color, size) in URLs ensure consistent data extraction.

**Proxy Management**: RESIDENTIAL proxies are essential for Target.com access. Rotate proxy countries if experiencing access issues.

**Rate Limiting**: Allow reasonable delays between requests to maintain access reliability and respect Target's server resources.

**Error Handling**: Monitor retry attempts and adjust configuration based on success rates. Temporary failures often resolve with simple retries.

#### Common Issues and Solutions

- **Access Denied Errors**: Switch to different proxy countries or verify residential proxy settings
- **Incomplete Data**: Some fields may be empty for certain product types - this is expected behavior
- **Price Format Variations**: Prices may include promotional formatting - parse accordingly
- **Image URL Expiry**: Product images may have temporary URLs - capture and store locally if needed

### Benefits and Applications

#### Time and Resource Efficiency

Automates data collection that would require hours of manual browsing, copying, and formatting. A single execution can process hundreds of products in minutes.

#### Real-World Applications

- **Competitive Intelligence**: Monitor competitor pricing strategies and promotional activities
- **Market Research**: Analyze product positioning, customer sentiment, and market trends
- **Inventory Planning**: Track product availability and demand indicators
- **Price Optimization**: Develop dynamic pricing strategies based on market data
- **Content Analysis**: Study product descriptions and marketing approaches

#### Business Value

Retail data analysis helps brands identify gaps in product offerings, develop new SKUs that meet customer needs, and effectively forecast performance across selling channels. This scraper provides the foundation for data-driven decision making in competitive retail environments.

### Conclusion

The Target.com Product Details Scraper delivers comprehensive, reliable product data extraction for businesses and researchers. With its robust proxy integration, detailed output format, and enterprise-grade reliability, it transforms Target.com into a valuable data source for strategic decision making.

Ready to streamline your Target.com data collection? Start extracting comprehensive product intelligence today.

## Related Actors

- [**Target.com Product Search Scraper**](https://apify.com/ecomscrape/target-product-search-scraper): A specialized data extraction tool designed to harvest detailed product information from Target's extensive retail marketplace.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Target.com Product Details Page 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 Specific product urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `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/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab"
  ],
  "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/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab"
    ],
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/target-product-page-details-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/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab"],
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/target-product-page-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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/apple-watch-ultra-gps-cellular-titanium-case-with-ocean-band/-/A-87580603?preselect=85973623#lnk=sametab"
  ],
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/target-product-page-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ecomscrape/target-product-page-details-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Target Product Details Scraper",
        "description": "The Target.com Product Details Scraper extracts detailed product data from Target.com, including title, brand, price, rating, image URLs, etc., by providing product details page urls.",
        "version": "0.0",
        "x-build-id": "CSQKSVTpG3LHqjixX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ecomscrape~target-product-page-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ecomscrape-target-product-page-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ecomscrape~target-product-page-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ecomscrape-target-product-page-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ecomscrape~target-product-page-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ecomscrape-target-product-page-details-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the Specific product urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific product urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "max_retries_per_url": {
                        "title": "Limit the number of retries for each URL",
                        "type": "integer",
                        "description": "Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load"
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
