Target Product Scraper - Prices & Reviews
Pricing
from $3.00 / 1,000 results
Target Product Scraper - Prices & Reviews
Scrape Target.com products with prices, ratings, reviews, UPC codes, and availability. Uses Target official RedSky API - no browser needed, blazing fast. Search by keyword, get detailed product data including sale prices, brands, and images.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
deusex machine
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
Target Product Scraper — Prices, Ratings, UPC Barcodes & Inventory from Target.com
⭐ Useful? Leave a review — it takes 10 seconds and is the single biggest thing that helps other ecommerce analysts find this Target scraper.
A fast, lightweight Target.com scraper that pulls products, prices, regular/sale prices, ratings, review counts, images, UPC barcodes, category breadcrumbs, brand info and store-level availability from Target search results. No login, no Target API key, no browser rendering — just clean JSON or CSV data. Built for price-monitoring tools, retail analysts, affiliate publishers, repricing engines, dropshippers, MAP-compliance monitors and anyone doing Target market research at scale.
✨ Why use this scraper
Given a list of search keywords and an optional store ID, this Target scraper queries Target's internal RedSky aggregation API — the exact same backend that powers the Target.com storefront — and returns structured data for every product it finds. Every run pulls fresh data — Target prices move frequently (flash sales, RedCard pricing, Circle deals) and so does inventory, so the scraper hits live search results each time. You can search multiple keywords per run, control product count, switch stores for regional pricing, and optionally enrich each record with a Product Detail Page (PDP) call to pull UPC barcodes and full descriptions. Export the dataset as JSON, CSV, Excel, or XML directly from the Apify console or via the Apify API.
Because it uses raw HTTPS requests (no headless browser, no Puppeteer, no Playwright) this Target scraper is an order of magnitude cheaper and faster than browser-based alternatives. A run of 100 products on a single keyword completes in roughly 5 seconds.
Most competing Target scrapers on the Apify Store and other scraper marketplaces fall into three categories: browser-based scrapers that are expensive and slow, unofficial reverse-engineered scrapers that break every few weeks, and generic "universal retail" scrapers that miss half the fields. This Target scraper hits Target's own public RedSky API directly — the data surface is stable, documented through the same endpoints Target itself consumes, and contains every field shoppers see on the site.
📤 Output fields
Core product identity
| Field | Description |
|---|---|
title | Product title as shown on Target.com |
tcin | Target Content Item Number — Target's unique product identifier |
brand | Primary brand name (e.g. Sony, Apple, Levi's) |
url | Direct link to the Target product page |
searchKeyword | The query that surfaced this product |
scrapedAt | ISO 8601 timestamp of when the record was extracted |
Pricing & promotions
| Field | Description |
|---|---|
price | Current selling price as a number (USD) |
regularPrice | Regular (non-sale) retail price |
salePrice | Sale price if the product is discounted, otherwise null |
savePercent | Discount percentage (e.g. 32.5) |
formattedPrice | Price string as displayed on the page (e.g. "$269.99") |
Ratings & social proof
| Field | Description |
|---|---|
rating | Average star rating on a 0–5 scale |
reviewCount | Total number of customer reviews |
Media & images
| Field | Description |
|---|---|
imageUrl | Primary product image URL (Target scene7 CDN) |
alternateImages | Array of additional image URLs |
Descriptions & specs
| Field | Description |
|---|---|
description | Short pipe-joined bullet summary |
bulletDescriptions | Detailed bullet spec list |
fullDescription | Full HTML description from the PDP (requires fetchProductDetails) |
Catalog & merchandising
| Field | Description |
|---|---|
category | Main category (e.g. Headphones, Coffee Makers) |
categoryId | Target category identifier |
categoryBreadcrumbs | Full category path (requires fetchProductDetails) |
upc | UPC barcode (requires fetchProductDetails) |
isMarketplace | Boolean — whether the product is sold by a third-party marketplace seller |
🎯 Use cases
- Retail price monitoring — track SKU-level prices and discount cadence across specific Target categories day-over-day.
- MAP compliance and repricing — brands can watch their own products on Target to enforce minimum advertised pricing.
- Competitive analysis across big-box retailers — combine with Walmart, Amazon and Best Buy scrapers to benchmark prices on the same UPC.
- UPC-based catalog enrichment — feed UPC barcodes into product databases, GS1 lookups, or marketplace onboarding flows.
- Affiliate content & deal-alert newsletters — surface discounts above a threshold and auto-publish deal posts linking to Target.com.
- Dropshipping product research — identify top-rated products by category and cross-reference against supplier catalogs.
- Retail analytics and forecasting — build historical pricing datasets per TCIN for demand and elasticity modeling.
- Academic research on retail pricing — reproducible Target.com datasets for papers on retail markdown behavior.
🚀 How to use
Basic search by keyword
{"searchQueries": ["wireless headphones", "coffee maker"],"maxProducts": 50}
Scrape with full product details (UPC, full description, breadcrumbs)
{"searchQueries": ["running shoes"],"maxProducts": 25,"fetchProductDetails": true}
Enabling fetchProductDetails hits the PDP API for each product to pull UPC barcodes, full HTML descriptions and the complete category breadcrumb path. This roughly 10x the run time per product but delivers a production-grade catalog record.
Scrape with a specific store for local pricing
{"searchQueries": ["laptop"],"maxProducts": 100,"storeId": "1375","fetchProductDetails": false}
Scrape multiple Target categories in one run
{"searchQueries": ["4k tv", "bluetooth speaker", "gaming headset","air fryer", "robot vacuum", "espresso machine"],"maxProducts": 50,"storeId": "3991"}
📥 Input
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array | — | Keywords to search on Target.com (required) |
maxProducts | integer | 100 | Max products per query (1–500) |
storeId | string | "3991" | Target store ID for local pricing and availability |
fetchProductDetails | boolean | false | Enrich each product with UPC, full description and breadcrumbs |
📋 Output example
{"title": "Sony WH-1000XM5 Wireless Noise Canceling Headphones","price": 269.99,"regularPrice": 399.99,"salePrice": 269.99,"savePercent": 32.5,"formattedPrice": "$269.99","brand": "Sony","tcin": "86696921","upc": "027242923782","description": "Industry-leading noise cancellation | 30-hour battery life | Crystal clear hands-free calling","fullDescription": "<p>The WH-1000XM5 headphones rewrite the rules for noise cancellation...</p>","bulletDescriptions": ["Industry-leading noise cancellation with Auto NC Optimizer","30-hour battery life with quick charging"],"imageUrl": "https://target.scene7.com/is/image/Target/GUEST_abc123","alternateImages": ["https://target.scene7.com/is/image/Target/GUEST_def456","https://target.scene7.com/is/image/Target/GUEST_ghi789"],"rating": 4.7,"reviewCount": 1842,"url": "https://www.target.com/p/-/A-86696921","category": "Headphones","categoryId": "5zja3","categoryBreadcrumbs": "Electronics > Headphones > Wireless Headphones","isMarketplace": false,"searchKeyword": "wireless headphones","scrapedAt": "2026-04-22T14:30:00.000Z"}
Export the full dataset as CSV directly from the Apify console, or programmatically via the Apify API.
💻 Code examples
From the Apify API (curl)
curl -X POST 'https://api.apify.com/v2/acts/makework36~target-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQueries": ["wireless headphones"],"maxProducts": 25,"storeId": "3991"}'
From Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("makework36/target-scraper").call(run_input={"searchQueries": ["coffee maker", "espresso machine"],"maxProducts": 50,"fetchProductDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["rating"], item.get("upc"))
From Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('makework36/target-scraper').call({searchQueries: ['gaming monitor'],maxProducts: 40,storeId: '3991',fetchProductDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.table(items.map((p) => ({title: p.title,price: p.price,sale: p.salePrice,rating: p.rating,})));
Export to CSV
From the console run page → Export → CSV. Or via API:
https://api.apify.com/v2/datasets/DATASET_ID/items?format=csv&token=YOUR_TOKEN
⚡ Performance
- ~5 seconds for 100 products on a single keyword with
fetchProductDetails: false - ~60 seconds for 100 products with
fetchProductDetails: true(one extra API call per product) - Runs on minimal Apify memory (256 MB is enough)
- Paginates automatically at 24 products per page — the same page size the Target.com UI uses
- Polite 500ms delay between pages to avoid triggering rate limits
- Automatic retry with exponential backoff on HTTP 429 responses
📊 Comparison
There are several Target scrapers on Apify Store and elsewhere. Here's how ours stacks up on the metrics that actually matter to repricing and monitoring workflows: fields, engine, proxy model, and price.
| Feature | This Target scraper | Browser-based Target scraper | Generic retail scraper with residential proxy | Legacy HTML-only Target scraper |
|---|---|---|---|---|
| Fields returned | 22+ (price, sale, UPC, breadcrumbs) | 10–15, mostly visual | 8–12 generic | 5–10, price + title only |
| Scraping engine | Raw HTTPS to RedSky API | Headless Chromium | Browser + residential proxy | Cheerio HTML parse |
| Proxy model | Apify Proxy (free tier) | Residential (expensive) | Residential (expensive) | Datacenter only |
| UPC barcode support | Yes (via fetchProductDetails) | Rare | No | No |
| Regular vs sale price split | Yes | Partial | No | No |
| Store-level pricing | Yes (storeId parameter) | No | No | No |
| Multi-keyword per run | Yes (array input) | Limited | Yes | Yes |
| Category breadcrumbs | Yes | No | No | No |
| Typical cost per 1K products | ~$0.50–1.00 | $5+ | $3–$5 | $1–$2 |
| Time for 100 products | ~5s | 2–5 min | 1–2 min | 20–40s |
| Reliability | High (official API surface) | Medium (DOM changes) | Medium | Low |
The honest take: if you only need product titles and prices for a handful of products, a generic retail scraper might be cheaper up-front. For any serious Target workflow — repricing, MAP compliance, catalog enrichment, deal hunting — the combination of UPC output, store-level pricing, sale/regular price split and API-grade reliability makes this scraper the better fit.
💵 Pricing
Pay-per-result model:
- ~$0.005 per Target product extracted (price varies slightly based on
fetchProductDetails) - Apify gives every new user a $5 free trial → roughly 1,000 Target products to evaluate the scraper before committing
- No subscription, no minimum, no egress fees
❓ FAQ
Do I need a Target account or API key?
No. This Target scraper reads publicly available search results via Target's own RedSky API — the same backend that powers target.com. No login, no cookies, no official Target partner access required.
Is scraping Target legal?
This actor only reads data that's publicly visible on Target.com search and product pages — the same data any shopper sees in a browser. Review Target's terms of service and consult legal counsel for your specific use case and jurisdiction. We don't bypass paywalls, logins, or private inventory feeds.
Why is this Target scraper so fast?
It uses raw HTTPS requests to the RedSky aggregation API instead of a headless browser. No JavaScript rendering, no Chromium startup, no waiting for page loads. One request → 24 products parsed.
Can I scrape Target reviews individually?
Not in v1 — this scraper returns aggregate review data (rating, reviewCount). Full individual review extraction is on the roadmap. Leave a comment in the issues tab if you need it.
How do I find my local Target store ID?
Go to Target.com, select Choose Store on any product, pick your local store, then look in the URL or the network tab for the store_id parameter. Common store IDs include 3991 (default), 1375, 2775 and 1462.
What about in-stock / out-of-stock?
Inventory availability at the search level is not reliably exposed. To get precise availability you'd need a fulfillment-specific endpoint call per TCIN — this is on the roadmap.
Does this support scraping Target by category URL?
Not directly — input is keyword-based. You can, however, pass a category-specific keyword (e.g. "women's running shoes") to get category-filtered results.
Can I use this for RedCard member pricing?
No. RedCard pricing requires authentication. The scraper returns standard (non-RedCard) prices, which matches what guest shoppers see.
📝 Changelog
- v1.1 (2026-04-22) — Full SEO rewrite, added PDP enrichment docs, Python / Node / curl examples, added anonymized comparison table, and categorized the field list.
- v1.0 (2026-03-10) — Initial release with RedSky-based search, store-level pricing and optional PDP enrichment.
🔗 Related actors
- Fast Airbnb Price Scraper — scrape Airbnb listings, prices, ratings and GPS coordinates
- VRBO Scraper — rival vacation rental marketplace coverage
- Reddit Scraper — threads, comments and karma from Reddit
- Booking.com Scraper — hotel prices and availability on Booking.com
- Shopee Scraper — Southeast Asian ecommerce product data