---
title: "How to Scrape Target Products and Prices | Scrape.ly"
description: "Scrape Target.com prices, sales, ratings, UPCs and store stock by keyword, category or TCIN. A real run, its cost, and API, Python and MCP code."
url: https://scrape.ly/blog/scrape-target
markdown: https://scrape.ly/blog/scrape-target.md
---

[Tutorials](https://scrape.ly/blog/category/tutorials.md)

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

[Shelfbright Actor publisher on the Scrape.ly Store](https://scrape.ly/blog/author/shelfbright.md)

- Published

  Oct 27, 2026

- 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](https://scrape.ly/media/scrape-target.png?w=1080)

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](https://scrape.ly/store/shelfbright/target-scraper.md) 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](https://scrape.ly/store/shelfbright/target-scraper/presets/search-price-sort.md) preset. It fills in this input:

```json
{
  "searchQueries": ["coffee maker"],
  "sort": "price_low",
  "minPrice": 20,
  "maxPrice": 80,
  "maxResultsPerSearch": 10
}
```

3. Change the keyword, or paste Target URLs or TCINs, and click **Start**. Our run took 9 seconds.
4. 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](https://scrape.ly/store/shelfbright/target-scraper/presets/search-details.md) and [student laptops with reviews](https://scrape.ly/store/shelfbright/target-scraper/presets/search-reviews.md) presets show the add-ons.

Scrape.ly Store Target Scraper Target.com products by keyword, category, brand, URL or TCIN: price, sale, rating, availability, seller, UPC and DPCI, reviews and store stock, with no login.

[Try it free](https://scrape.ly/store/shelfbright/target-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## 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](https://scrape.ly/docs/api-actors.md) 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](https://scrape.ly/api/target-api.md) page shows the same Actor as a ready-made API, and the [Python client](https://scrape.ly/docs/client-python.md) 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](https://scrape.ly/docs/mcp.md) 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                        |                           |

```plaintext
20261027T17:17:39.717Z [scrapely.proxy_configuration] INFO  Platform proxy access check succeeded.
20261027T17:17:39.971Z [scrapely.actor] INFO  [Status message]: Scraping 1 input(s)...
20261027T17: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.**

## Is it legal to scrape Target?

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](https://www.target.com/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](https://scrape.ly/blog/robots-txt-web-scraping.md) 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](https://scrape.ly/blog/how-to-scrape-amazon.md), [Walmart](https://scrape.ly/blog/walmart-scraping.md) and [Google Shopping](https://scrape.ly/blog/scrape-google-shopping.md); our [price scraping](https://scrape.ly/blog/price-scraping.md) and [ecommerce scraping](https://scrape.ly/blog/ecommerce-scraping.md) 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.

Scrape.ly Store Start with the coffee makers preset Run the preset as-is or set your own keyword, category or TCINs. Prices, sales, ratings and sellers at $2.13 per 1,000 products, platform usage included.

[Try it free](https://scrape.ly/store/shelfbright/target-scraper.md) [Browse the Store](https://scrape.ly/store.md)

About the author

[Shelfbright](https://scrape.ly/blog/author/shelfbright.md) 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.

- [Website](https://scrape.ly/users/shelfbright.md)

Keep reading

## More in Tutorials

- [![Pixel-art robot with an orange >\_ on its terminal head pulls a stay card with a navy house icon and a gold star out of a hotel tower whose sign shows the navy Booking.com B. logo, and drops it into a crate](https://scrape.ly/media/scrape-booking-com.png?w=750)](https://scrape.ly/blog/scrape-booking-com.md)
  ### [How to Scrape Booking.com: Hotel Prices, Ratings, Rooms and Reviews](https://scrape.ly/blog/scrape-booking-com.md)
  [Scrape Booking.com stays for any city and dates: live stay price, rating, review count, category scores, rooms and facilities, plus guest reviews. No-code steps, curl, Python, Node.js and MCP, with two real runs from 27 October 2026 and their exact cost.](https://scrape.ly/blog/scrape-booking-com.md)
- [![Pixel-art robot with an orange >\_ on its terminal head pulls a listing card with a house icon out of an apartment block with balconies whose sign shows the lime idealista logo, and drops it into a crate](https://scrape.ly/media/scrape-idealista.png?w=750)](https://scrape.ly/blog/scrape-idealista.md)
  ### [How to Scrape Idealista Listings: Prices, Size, Rooms and Coordinates](https://scrape.ly/blog/scrape-idealista.md)
  [Scrape Idealista listings in Spain, Italy and Portugal by city, postal code, results URL or property code: price, size, rooms, floor, coordinates, photos and advertiser. No-code steps, curl, Python, Node.js and MCP, plus a real run from 27 October 2026 and its exact cost.](https://scrape.ly/blog/scrape-idealista.md)
- [![Pixel-art robot with an orange >\_ on its terminal head pulls a listing card with a red house icon off two houses at night, in front of which a yard sign shows the red Realtor.com house logo, and drops it into a crate](https://scrape.ly/media/scrape-realtor-com.png?w=750)](https://scrape.ly/blog/scrape-realtor-com.md)
  ### [How to Scrape Realtor.com Listings: Prices, History, Taxes and Risk Scores](https://scrape.ly/blog/scrape-realtor-com.md)
  [Scrape Realtor.com listings for sale, for rent or recently sold by city, ZIP code or URL: price, beds, baths, square feet, sale and price history, tax records, schools and flood and wildfire risk. No-code steps, curl, Python, Node.js and MCP, plus a real run from 27 October 2026 and its exact cost.](https://scrape.ly/blog/scrape-realtor-com.md)

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

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:hello@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
