Skip to content

How to Scrape Target Products and Prices: Sales, Ratings, UPCs and Store Stock

Scrape Target.com products by keyword, category, brand, URL or TCIN: price, sale flag, rating, availability, seller, UPC, reviews and store stock for any ZIP code. No-code steps, curl, Python, Node.js and MCP, plus a real run from 27 October 2026 and its exact cost.

Published
Reading time
8 min read
Pixel-art robot with an orange >_ on its terminal head takes a yellow price tag out of a store front whose sign shows the red Target bullseye above a red-and-white awning and a lit window of goods, and drops it into a crate of price tags
In this article
  1. What data you can get from Target
  2. How to scrape Target without code
  3. How to scrape Target with the API
  4. With an AI agent (MCP)
  5. A real run: ten coffee makers, cheapest first
  6. Keyword search or category URL?
  7. What it costs
  8. What to watch out for
  9. Is it legal to scrape Target?
  10. Why Scrape.ly for Target
  11. FAQ
  12. Can you scrape Target for free?
  13. What is a TCIN?
  14. Can I get UPCs from Target?
  15. Can I check Target store inventory?
  16. Can I scrape Target reviews?
  17. Can I scrape Target with Python?

To scrape Target, give a ready-made Actor search keywords, Target category or brand URLs, or product URLs and TCINs, and it returns one row per product: current and regular price, sale flag and discount, rating and review count, shipping availability, the seller, and optionally UPC, DPCI, specifications, variants, customer reviews and in-store stock for a ZIP code. On Scrape.ly that's a preset and one click, or one API call, with no Target account and no browser.

This guide covers the fields you get, the no-code steps, the same job in curl, Python, Node.js and through an AI agent, a real run from 27 October 2026 (ten coffee makers between $20 and $80, cheapest first), its log and exact cost, and the search quirk that puts accessories in a product list.

What data you can get from Target

The Target Scraper returns one row per product:

Field What it holds
tcin, parentTcin, url Target's item number, its variant group and the product page
title, brand Product name and brand
price, priceMax, regularPrice, onSale, savePercent, saveAmount Current price (or range), regular price and discount
rating, reviewCount, ratingDistribution Average rating, number of ratings and the star breakdown
availability, fulfillment Shipping status; with a ZIP code or store: pickup, in-store stock with quantity and same-day delivery
isMarketplace, seller Whether a Target Plus partner sells it, and who
socialProof, isSponsored Badges such as "Bestseller" or "10k+ bought in last month"
upc, dpci, specifications, variants, breadcrumbs Product page details, with Include product page details (always on for product URLs)
reviews Rating, title, text, date, verified purchase and helpful votes, with Include reviews

How to scrape Target without code

  1. Open the Target Scraper in the Scrape.ly Store.
  2. Pick the Coffee makers $20 to $80, 10 results preset. It fills in this input:
json
{
  "searchQueries": ["coffee maker"],
  "sort": "price_low",
  "minPrice": 20,
  "maxPrice": 80,
  "maxResultsPerSearch": 10
}
  1. Change the keyword, or paste Target URLs or TCINs, and click Start. Our run took 9 seconds.
  2. Open the dataset and export it as JSON, CSV, Excel or HTML. The dataset has three views: Products, Details (identifiers and store stock) and Reviews.

The input fields that matter most:

  • searchQueries: keywords, each its own Target search.
  • startUrls: product pages, search pages, category pages (/c/...), brand pages (/b/...) or plain TCINs such as 85978615.
  • maxResultsPerSearch: products per keyword or listing URL (0 = as many as Target lists).
  • sort, minPrice, maxPrice, brands, dealsOnly: order and filters.
  • includeDetails: UPC, DPCI, specifications, breadcrumbs and every variant with its own price.
  • includeReviews, maxReviewsPerProduct, reviewsSort, verifiedReviewsOnly: customer reviews.
  • zipCode or storeId: local prices, pickup and in-store stock at the nearest store.

The laptops with product details and student laptops with reviews presets show the add-ons.

How to scrape Target with the API

Create a token under Settings → API & Integrations in the dashboard and store it as SCRAPELY_TOKEN. The Actor reads 24 products per request, so even a few hundred fit inside the synchronous endpoint's 45-second wait:

shell
curl -X POST "https://api.scrape.ly/v2/actors/shelfbright~target-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $SCRAPELY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries": ["air fryer"], "dealsOnly": true, "sort": "bestselling", "maxResultsPerSearch": 100}'

Add ?format=csv for a CSV. For whole categories, start the run asynchronously (POST /v2/actors/shelfbright~target-scraper/runs), poll /v2/actor-runs/RUN_ID?waitForFinish=60, then read /v2/actor-runs/RUN_ID/dataset/items?format=csv. The API docs cover each step.

In Python (pip install scrapely-client-python), this price monitor checks a list of TCINs every day and prints the ones on sale, with UPCs you can match to your own catalog:

python
import os

from scrapely_client import ScrapelyClient

client = ScrapelyClient(os.environ["SCRAPELY_TOKEN"], api_url="https://api.scrape.ly")

tcins = ["91863923", "52580270", "91986267"]
run = client.actor("shelfbright/target-scraper").call(run_input={"startUrls": tcins})
for p in client.dataset(run.default_dataset_id).iterate_items():
    flag = f"SALE {p['regularPrice']} -> {p['price']}" if p.get("onSale") else f"{p['price']}"
    print(p["tcin"], p.get("upc"), flag, p["title"][:60])

In JavaScript or Node.js (npm install scrapely-client), check which stores near a ZIP code have an item in stock for pickup today:

javascript
import { ScrapelyClient } from 'scrapely-client';

const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN, baseUrl: 'https://api.scrape.ly' });

const run = await client.actor('shelfbright/target-scraper').call({
  startUrls: ['https://www.target.com/p/apple-airpods-4/-/A-85978615'],
  zipCode: '10001',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const p of items) {
  const f = p.fulfillment ?? {};
  console.log(p.title, p.price, f.storeName, f.pickupStatus, f.inStoreStatus, f.storeQuantity);
}

The Target API page shows the same Actor as a ready-made API, and the Python client docs cover paging through large datasets.

With an AI agent (MCP)

Scrape.ly runs a hosted MCP server at https://mcp.scrape.ly. In Cursor, add it to ~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

In Claude Code, run claude mcp add --transport http scrapely https://mcp.scrape.ly, then /mcp to sign in with OAuth. Then ask: "Use scrapely to get Target's 50 best-selling coffee makers, drop accessories, and compare price and rating between Target and Target Plus sellers." The MCP docs list ChatGPT, VS Code, Windsurf and the other clients.

A real run: ten coffee makers, cheapest first

We ran the preset as-is on 27 October 2026. It saved 10 products in 9 seconds:

Title (shortened) Price Regular Rating (count) Seller Badge
BLACK+DECKER 12-Cup Replacement Carafe $21.99 $21.99 3.64 (52) Spectrum Brands (Target Plus)
Mr. Coffee 5 Cup Switch Coffee Maker $21.99 $21.99 4.49 (1,206) Target Highly rated
Mr. Coffee 12-Cup Switch Coffee Maker $21.99 $26.99 4.42 (1,299) Target 10k+ bought in last month
WDT Distribution Tool $24.99 $24.99 no ratings Casabrews (Target Plus)
BLACK+DECKER DCM600B 5-Cup Coffeemaker $26.99 $26.99 2.80 (75) Spectrum Brands (Target Plus)
Hamilton Beach 12 Cup Programmable Coffee Maker $27.99 $27.99 4.19 (2,686) Target Bestseller
Proctor Silex 12 Cup Coffee Maker $29.99 $29.99 4.38 (32) Target
Text
2026-10-27T17:17:39.717Z [scrapely.proxy_configuration] INFO  Platform proxy access check succeeded.
2026-10-27T17:17:39.971Z [scrapely.actor] INFO  [Status message]: Scraping 1 input(s)...
2026-10-27T17:17:45.572Z [scrapely.actor] INFO  [Status message]: Saved 10 product(s).

What the ten rows show:

  • Price sorting surfaces accessories. Three of the ten weren't coffee makers: a replacement carafe, an espresso distribution tool and a glass knob for a percolator. A keyword search matches anything that mentions the words; for a clean product set, use a category URL or filter on title and breadcrumbs (with product details on).
  • Half the list is Target Plus. Five of the ten came from marketplace sellers (isMarketplace: true), including both BLACK+DECKER items, sold by Spectrum Brands. If you benchmark "Target's price", separate Target's own listings from partners.
  • One real markdown. Only the Mr. Coffee 12-cup was on sale, $21.99 against a $26.99 regular price, 19% off, and it also carried the strongest demand badge, "10k+ bought in last month". onSale and regularPrice make sale tracking a filter.
  • Ratings separate the field. At almost the same price, the Mr. Coffee 5-cup had 4.49 from 1,206 ratings and the BLACK+DECKER 5-cup 2.80 from 75. For assortment research, that gap matters more than a dollar.
  • National online availability by default. All ten were IN_STOCK online. Add a zipCode to see what a specific store has on the shelf.

Four requests and 0.2 MB of Target's own JSON for ten products, on residential proxies with no browser.

Keyword search or category URL?

Pick the input by the question you're answering:

  • "What does a shopper see for this word?" Use searchQueries. You get Target's own ranking for the term, accessories and sponsored items included, which is what search-share and visibility tracking needs.
  • "What does Target sell in this category?" Paste a category URL (/c/coffee-makers/-/N-...) from target.com. Category pages hold the products Target files under that shelf, so the carafe and the knob from our run stay out.
  • "How is one brand priced?" Paste a brand URL (/b/...), or add brands to a search.
  • "What do these exact items cost today?" Pass TCINs. Product URLs and TCINs always come with full product details, so you get UPC and DPCI for catalog matching in the same run.

Filters in a pasted URL are kept, so you can narrow a category on the site (price, brand, rating) and paste the result.

What it costs

The Actor charges per product, platform usage (compute and proxy) included. Prices checked on the Store page on 27 October 2026: $0.00213 per product ($2.13 per 1,000) and $0.00052 per review when reviews are on.

Our run: 10 × $0.00213 = $0.0213 at list price ($0.01704 charged, because our plan has a Store discount).

At scale: a daily price check of 1,000 products costs $2.13. 100 products with 10 reviews each cost $0.213 + $0.52 = $0.733. The Free plan's $5 of monthly usage covers about 2,300 products.

What to watch out for

  • About 1,200 products per search and sort order. That's Target's own limit. Ask for more and the Actor also walks other sort orders and removes duplicates; for bigger crawls, use narrower keywords, categories or price ranges.
  • Search rows are lean. UPC, DPCI and specifications need Include product page details, one extra request per product (product URLs always include them).
  • Variant groups show a range. A parent TCIN has price and priceMax instead of one price; pass the child TCIN for an exact one.
  • One store per run. Store availability covers the nearest store to one ZIP code, or one storeId.
  • US only, prices in USD.

The Actor collects publicly visible product information, the same data anyone sees on target.com without logging in; reviewer data is limited to the public nickname. Target's robots.txt has one rule group for all crawlers and disallows search result pages (Disallow: /s?), and its Terms & Conditions govern use of the site. Read both before a commercial project; whether and how they bind you depends on your jurisdiction and your use. Our robots.txt and web scraping guide explains how to read the file. This is not legal advice; for a commercial project, ask a lawyer about your case.

Why Scrape.ly for Target

  • Every way in. Keywords, search, category and brand URLs, product URLs and plain TCINs in one run.
  • Price monitoring built in. Current and regular price, sale flag, discount, badges and seller in every row, with no product-page request needed.
  • Store-level stock. Pickup, in-store quantity and same-day delivery for any US ZIP code.
  • The rest of retail on one token. Amazon, Walmart and Google Shopping; our price scraping and ecommerce scraping guides show how to compare them.

FAQ

Can you scrape Target for free?

Yes. The Free plan includes $5 of usage credit every month with no credit card, which covers about 2,300 products at list price.

What is a TCIN?

Target's item number, the digits after A- in a product URL (/p/.../-/A-85978615). The Actor accepts TCINs directly and returns parentTcin for variant groups.

Can I get UPCs from Target?

Yes, with Include product page details on, or for product URLs, which always include them. Each variant carries its own UPC and DPCI.

Can I check Target store inventory?

Yes. Add a zipCode (or a storeId) and each row gets the store name, pickup status, in-store status and quantity, and same-day delivery status.

Can I scrape Target reviews?

Yes. Turn on includeReviews and set maxReviewsPerProduct and reviewsSort. Reviews are saved inside each product's row and billed per review.

Can I scrape Target with Python?

Yes. Install scrapely-client-python and call shelfbright/target-scraper, as in the price monitor above. The scraping runs in the cloud, so you don't manage proxies or Target's internal endpoints.

  • target
  • ecommerce
  • price monitoring
  • retail
  • python
  • api

About the author

Actor publisher on the Scrape.ly Store

Prices, stock and seller data from shops and marketplaces, from Amazon and AliExpress to Vinted and Leboncoin. For price trackers, catalogue teams and resellers. A Scrapely studio.

//Keep reading\\

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.