Target Product Scraper - Prices & Reviews avatar

Target Product Scraper - Prices & Reviews

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Target Product Scraper - Prices & Reviews

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

deusex machine

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

4

Monthly active users

17 hours 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.

What this Target scraper does

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.

Why choose this Target scraper over other options

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.

Data fields the Target scraper extracts

Core product identity

FieldDescription
titleProduct title as shown on Target.com
tcinTarget Content Item Number — Target's unique product identifier
brandPrimary brand name (e.g. Sony, Apple, Levi's)
urlDirect link to the Target product page
searchKeywordThe query that surfaced this product
scrapedAtISO 8601 timestamp of when the record was extracted

Pricing & promotions

FieldDescription
priceCurrent selling price as a number (USD)
regularPriceRegular (non-sale) retail price
salePriceSale price if the product is discounted, otherwise null
savePercentDiscount percentage (e.g. 32.5)
formattedPricePrice string as displayed on the page (e.g. "$269.99")

Ratings & social proof

FieldDescription
ratingAverage star rating on a 0–5 scale
reviewCountTotal number of customer reviews

Media & images

FieldDescription
imageUrlPrimary product image URL (Target scene7 CDN)
alternateImagesArray of additional image URLs

Descriptions & specs

FieldDescription
descriptionShort pipe-joined bullet summary
bulletDescriptionsDetailed bullet spec list
fullDescriptionFull HTML description from the PDP (requires fetchProductDetails)

Catalog & merchandising

FieldDescription
categoryMain category (e.g. Headphones, Coffee Makers)
categoryIdTarget category identifier
categoryBreadcrumbsFull category path (requires fetchProductDetails)
upcUPC barcode (requires fetchProductDetails)
isMarketplaceBoolean — whether the product is sold by a third-party marketplace seller

Use cases for this Target data API

  • 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 this Target scraper

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 parameters

ParameterTypeDefaultDescription
searchQueriesarrayKeywords to search on Target.com (required)
maxProductsinteger100Max products per query (1–500)
storeIdstring"3991"Target store ID for local pricing and availability
fetchProductDetailsbooleanfalseEnrich each product with UPC, full description and breadcrumbs

Output example (JSON)

{
"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.

How to call this Target scraper from your code

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 ApifyClient
client = 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 → ExportCSV. Or via API:

https://api.apify.com/v2/datasets/DATASET_ID/items?format=csv&token=YOUR_TOKEN

Performance & cost

  • ~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

Target scraper comparison — how this compares to other retail scrapers

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.

FeatureThis Target scraperBrowser-based Target scraperGeneric retail scraper with residential proxyLegacy HTML-only Target scraper
Fields returned22+ (price, sale, UPC, breadcrumbs)10–15, mostly visual8–12 generic5–10, price + title only
Scraping engineRaw HTTPS to RedSky APIHeadless ChromiumBrowser + residential proxyCheerio HTML parse
Proxy modelApify Proxy (free tier)Residential (expensive)Residential (expensive)Datacenter only
UPC barcode supportYes (via fetchProductDetails)RareNoNo
Regular vs sale price splitYesPartialNoNo
Store-level pricingYes (storeId parameter)NoNoNo
Multi-keyword per runYes (array input)LimitedYesYes
Category breadcrumbsYesNoNoNo
Typical cost per 1K products~$0.50–1.00$5+$3–$5$1–$2
Time for 100 products~5s2–5 min1–2 min20–40s
ReliabilityHigh (official API surface)Medium (DOM changes)MediumLow

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.

Step-by-step tutorial — your first Target scraper run in 3 minutes

  1. Sign up for Apify — go to apify.com and create a free account. You'll get a $5 trial credit, enough for thousands of Target products.
  2. Open this actor — click Target Product ScraperTry for free.
  3. Fill the input form — paste keywords into searchQueries, set maxProducts to something small at first (25–50), and leave storeId on the default 3991.
  4. Click "Start" — the actor runs. A typical 50-product run finishes in under 10 seconds.
  5. View the dataset — click the Dataset tab → you'll see a table of Target products with prices, ratings, images, TCIN. Click Export to download JSON or CSV.
  6. Enable UPC enrichment — re-run with fetchProductDetails: true to pull barcodes and full descriptions.
  7. Automate it — click SchedulesCreate new schedule to re-run the same Target scrape daily or weekly. Each run saves to a fresh dataset you can pull via API.

That's it — no Target API key, no browser setup, no proxy config.

Advanced usage patterns

Pattern 1 — daily price monitoring for a TCIN watchlist

Schedule this actor daily with a stable array of high-value keywords. Dedupe the output by tcin and append a timestamped row to a Postgres table. Over a few weeks you'll have a complete Target pricing time series for modeling discount behavior or alerting on flash sales.

Pattern 2 — MAP compliance watcher for brand owners

If you're a manufacturer with a MAP policy, run this scraper weekly on your brand keywords and alert your team any time price < MAP_floor. Target frequently runs manufacturer-funded Circle promotions that can accidentally break MAP — catching it early matters.

Pattern 3 — UPC-based cross-retailer comparison

Run this with fetchProductDetails: true to capture UPC. Then feed those UPCs into Walmart, Amazon, Best Buy and eBay scrapers to build a cross-retailer price matrix. Great for affiliate "find the best price" products.

Pattern 4 — category mapping for catalog ingestion

Use categoryBreadcrumbs to build a taxonomy of Target's category tree. Useful when onboarding suppliers or building a unified retail taxonomy across multiple big-box retailers.

Pattern 5 — deal-finder newsletter

Filter the dataset to savePercent >= 25 and rating >= 4.3. Sort by savings. Email the top 20 to your subscribers each morning as a Target deals digest.

Troubleshooting

Empty dataset — no products returned

  • Double-check your search keyword spelling. Target's search is fuzzy but very niche or brand-name-only queries can return zero hits.
  • Try without the storeId parameter (default 3991) — some store IDs are decommissioned.
  • If a specific query returns nothing, try variations ("bluetooth headphones" instead of "blutoooth headphones").

Rate-limited (HTTP 429)

The scraper already handles 429 responses with exponential backoff (up to 3 retries). If you see persistent rate-limiting, lower maxProducts or split your run into multiple scheduled runs spaced by a few minutes.

Prices showing null

Occasionally Target hides the price on items requiring RedCard-only pricing. Fall back to formattedPrice (which sometimes contains "See price in cart") or retry with a different storeId.

UPC is missing even with fetchProductDetails: true

Some Target products (notably variation parents) don't expose a primary UPC — only the individual variation children do. The scraper already attempts to resolve the first child's UPC as a fallback. If UPC is still missing, the product is likely a bundle or a Target-exclusive SKU that never had an external barcode.

isMarketplace — what does this mean?

When isMarketplace: true, the product is sold by a third-party seller through Target Plus, not Target itself. This matters for returns, shipping and pricing authority — third-party prices change more frequently.

Dataset view truncated in the console

The Apify console table view shows only 8 columns by default. Click View in JSON to see every field, or export to CSV to get them all.

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.

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.

This Target scraper accesses only publicly available data. It does not bypass any login, paywall or access control. Before operationalizing at scale, review Target's terms of service, the schema.org product vocabulary, and any applicable regional laws (e.g. CCPA, GDPR). Don't use this data to harass sellers, resell copyrighted content, or violate Target's trademarks.


🙏 Ran this Target scraper successfully? Leaving a review helps the algorithm surface this to other retail analysts. Much appreciated.