Target.com Product Scraper avatar

Target.com Product Scraper

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Target.com Product Scraper

Target.com Product Scraper

Scrape Target.com product details — title, price, brand, images, ratings, variants, specs — from search keywords, category pages, or product URLs.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Always Prime

Always Prime

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

🎯 Target.com Product Scraper

⚡️ Blazing-fast, structured product data from Target.com — straight from Target's own data layer, no browser, no HTML parsing.

Apify

🚀 Why this scraper?

  • 🔌 Direct data access — pulls clean JSON from Target's structured catalog, not from rendered HTML.
  • ⚡️ ~70 KB per product — tiny payloads, sub-second per item, very cheap to run at scale.
  • 📦 Full product schema — title, brand, current price, regular price, all images, every feature bullet, full specifications, ratings, reviews, breadcrumb categories, and every variant (size/color) with its own price and image.
  • 🎯 Three input modes — keyword search, category browse, or specific product URLs. Pick what fits.
  • 💰 Variant-aware pricing — automatically detects price-range items (e.g. T-shirts $8–$12) and ships per-variant prices for every size/color.
  • 🛡️ Honeypot detection — internal cross-check flags poisoned listings; you don't pay for bad data.
  • 🤖 Resilient by default — TLS-fingerprint rotation, structured retry, and fast-fail when something looks wrong.

🏁 Quick start

  1. Click Try for free at the top of this page.
  2. Pick an input mode and fill in keywords / categories / URLs.
  3. Click Start.
  4. Download results as JSON, CSV, or Excel when the run finishes.

That's it — no setup, no API keys, no proxies to configure.

📥 Input

FieldWhat it doesExample
searchTypeOne of keyword, category, url. Picks which input list is used.keyword
queriesList of search terms. Used when searchType = keyword.["airpods", "lego star wars"]
categoriesList of Target category node IDs (the part after N- in URLs like target.com/c/grocery/-/N-5xt1a).["5xt1a"]
startUrlsDirect product URLs. The actor reads the TCIN from /A-<tcin>.["https://www.target.com/p/-/A-1000000076"]
maxItemsStop after this many products. 0 = unlimited.50
scrapeDetailsWhen false, returns only URL + TCIN from list pages (cheap diff mode).true
concurrencyDetail requests in parallel (1–25).5
storeIdTarget store ID; pricing varies by store.1414
zipCodeZIP for fulfillment context.12401
stateCodeTwo-letter state code.NY

📤 Output

Each product is one record. Sample:

{
"url": "https://www.target.com/p/campus-lab-uam-hoodie/-/A-1000000076",
"id": "1000000076",
"tcin": "1000000076",
"dpci": "081-04-9999",
"upc": "196760123456",
"title": "Campus Lab University of Arkansas at Monticello Boll Weevils Logo Adult Pull-Over Hoodie - Heather Gray",
"brand": "Campus Lab",
"brand_url": "/b/campus-lab/-/N-aaa1",
"description": "Show your school spirit with this Campus Lab pullover hoodie featuring the official UAM Boll Weevils logo.",
"bullets": [
"Soft fleece interior for warmth",
"Officially licensed collegiate apparel",
"Front kangaroo pocket"
],
"product_type": "APPAREL",
"item_type": "Sweatshirts",
"primary_image_url": "https://target.scene7.com/is/image/Target/GUEST_23f20057",
"image_urls": [
"https://target.scene7.com/is/image/Target/GUEST_alt1",
"https://target.scene7.com/is/image/Target/GUEST_alt2"
],
"specifications": [
{"name": "Material", "value": "50% Cotton, 50% Polyester"},
{"name": "UPC", "value": "196760123456"}
],
"category_id": "551v0",
"category_name": "Graphic Sweatshirts and Hoodies",
"breadcrumbs": [
{"name": "Target", "url": "/"},
{"name": "Clothing, Shoes & Accessories", "url": "/c/clothing-shoes-accessories/-/N-5xst5"},
{"name": "Hoodies & Sweatshirts", "url": "/c/hoodies-sweatshirts-women-s-clothing/-/N-551v0"}
],
"currency": "USD",
"current_price": 39.99,
"current_price_min": null,
"current_price_max": null,
"reg_price": 49.99,
"formatted_current_price": "$39.99",
"is_price_range": false,
"rating": 4.5,
"rating_count": 28,
"review_count": 28,
"recommended_count": 25,
"variants": [],
"in_store_only": false,
"_suspicious": false,
"scraped_at": "2026-05-21T18:30:00+00:00"
}

💼 Use cases

WhoWhat for
🛒 Price monitoringDaily price-and-stock tracking on competitor SKUs; alert on drops/raises.
📈 Market researchCatalog-wide pricing distribution, brand share, category depth for retail analytics.
🤝 Arbitrage / resaleFind under-priced items vs. Amazon/Walmart in real time, with full identifiers (UPC, TCIN, DPCI).
🎨 Catalog enrichmentHigh-quality images + structured bullets + specs to fill your own product catalog.
🧠 ML / trainingClean, normalised, multi-modal product data for retail vision/NLP models.
🛍️ Affiliate sitesBuild niche product comparison pages with auto-refreshed prices.

💡 Tips & tricks

  • Start small — set maxItems: 25 for your first run to validate fields, then scale up.
  • Cheap incremental refresh — set scrapeDetails: false for a daily TCIN-only diff against yesterday's dataset; re-fetch full details only for new TCINs.
  • Pricing varies by store — change storeId / zipCode / stateCode to scrape a specific market (e.g. NYC 10001, LA 90001).
  • _suspicious: true — the actor cross-checks formatted vs. numeric prices and flags inconsistent records. Filter these out, or audit them; they're rare.
  • Variants — apparel / multi-size items return is_price_range: true and a populated variants array; iterate that for per-SKU data.

❓ FAQ

What's a TCIN / DPCI / UPC? TCIN is Target's own product ID (also in every product URL after /A-). DPCI is the in-store SKU (Department-Class-Item). UPC is the universal barcode shared across retailers — useful for cross-retailer joins.

Will I get rate-limited? Concurrency defaults to 5, which is well below typical limits. If you hit rate-limits at higher concurrency, lower it — the actor will fail-fast (not silently degrade) so you'll know.

Can I scrape store locations / store-only items? This actor focuses on product data. Each product record includes the store-specific price; for store-locator data we recommend a dedicated actor.

Does the actor handle pagination? Yes — categories and keyword searches paginate automatically until maxItems or the end of results.

Why is current_price null on some items? Variant parent items show current_price_min / current_price_max instead (apparel, multi-size, multi-pack). The is_price_range flag tells you which mode the item is in.

🛟 Support

Found a field that's wrong, missing, or always-null on a category you care about? Tell us via the actor's Issues tab — we treat field bugs as P0.