Target Scraper: Products, Prices & Store Stock · Apify
Target Scraper: Products, Prices & Store Stock avatar

Target Scraper: Products, Prices & Store Stock

Pricing

from $0.68 / 1,000 product from a searches

Go to Apify Store
Target Scraper: Products, Prices & Store Stock

Target Scraper: Products, Prices & Store Stock

Target scraper for searches, categories, product URLs, TCINs and UPCs: price, sale price, UPC, DPCI, ratings and variants, plus units in stock at each store near a ZIP code. Changes-only alerts for price drops and restocks.

Pricing

from $0.68 / 1,000 product from a searches

Rating

0.0

(0)

Developer

CleanPull

CleanPull

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

This Target scraper gets Target product data by search term, category, product URL, TCIN or UPC: price, regular price and discount, UPC, DPCI and TCIN, ratings with the star breakdown, variants with their own barcodes and prices, images, category path and description. Turn on Store stock and every product also carries how many units each Target store near a ZIP code has, with distance, pickup status and aisle. Schedule it and get only price drops, restocks at a store, sell-outs and new listings. It runs once, on a schedule or through the API, with no sign-in.

Also known as: Target scraper, Target product API, Target stock checker, Target inventory checker, Target price tracker, TCIN lookup, DPCI lookup, Target UPC lookup, Target store availability.

How to scrape Target products and store stock

  1. Open Target Scraper on Apify and go to its input form.
  2. Enter words in Search terms, one per line, or Target item numbers in TCINs and barcodes in UPCs. Category and product pages go in Target URLs.
  3. Pick the Sort for search and category results. For units at stores, turn on Store stock and enter a ZIP code, or a Store id for one store with its aisle.
  4. Start the run. Open the Products view to read each product's Price, Regular price, Discount %, UPC, DPCI and Units nearby, and the Store stock view for each store's Units, Miles and Pickup status.
  5. To watch prices and restocks, turn on Only changes since the last run, give the run a Monitor name, save it as a task and schedule it daily. The Changes view then lists price drops, restocks at a store, sell-outs and new listings, with Before and Now.
Target scraper input: TCINs, UPCs, search terms, ZIP code and store stock settings

What the Target scraper gives you

  • "Which stores near 55401 have this in stock, and how many?" Give TCINs or URLs, a ZIP code and Store stock on: about 20 stores per product, nearest first, each with units, distance, pickup status and date.
  • "Tell me when it is back in stock at my store." Schedule with Only changes since the last run: a row comes back when a store goes from no units to some, with the store's name and id.
  • "Track Target prices on my list." Price drops (and rises, if you want them) come back with the old and new price and the percent.
  • "What does Target sell for 'air fryer', cheapest first?" Search terms or category URLs, sorted as on the site, with filters for price range and items on sale.
  • "What is this barcode at Target?" UPCs are matched to Target's product and delivered only when Target states that same barcode.
  • "What is the TCIN, DPCI and UPC of each variant?" A product with colors or sizes lists every variant with its own TCIN, UPC, DPCI and price.
  • "Grocery prices at my local store." Give a store id: store-priced items (groceries, household) are priced for that store, and pricingStoreId says whose price it is.

Target stock and price accuracy

  • Units, not just "in stock". Each store row carries Target's own promised quantity (quantity), its in-store and pickup status, and how far the store is from your ZIP code.
  • Target's own data. Read from the same data target.com's pages load, so prices, sale prices and stock match what shoppers see.
  • A blocked answer is never "nothing found". A protection page or error is reported as a failure and never billed; "no results" is said only when Target says so.
  • Variants resolved. Ask for a variant's TCIN and you get that variant (its price, UPC and stock), not its parent.
  • Only delivered rows are billed, after they are saved. Each product is delivered once per run, however many searches list it.
  • Runs do not fail for one bad entry. A malformed TCIN, UPC or URL is skipped with a warning; an empty input runs the form's example.

Target scraper input

FieldKeyWhat it does
Search termssearchTermsWords to search on Target, one per line
Target URLsstartUrlstarget.com search, category (/c/…/-/N-…) or product (/p/…/A-…) addresses; a sortBy in the address is kept
TCINstcinsTarget item numbers (or product addresses)
UPCsupcsUPC or EAN barcodes, each matched to its Target product
Products per searchmaxResultsPerSearchProducts per search (default 24; pages of 24 are followed)
Max products in totalmaxResultsMost product rows in total
Sortsortrelevance (the default), featured, priceLow, priceHigh, rating, bestselling, newest
Store stockincludeStoreStockUnits at the stores near a ZIP code and at one store (with its aisle)
ZIP codezipCodeThe US ZIP code whose nearby stores are read, nearest first
Store idstoreIdOne store's units and aisle; a store id also prices store-priced items for that store
Radius (miles)radiusMilesHow far from the ZIP code stores are read (default 50)
Stores per productmaxStoresThe most nearby stores read per product (default 20)
In stock at a store onlyinStockOnlyKeep only products with units at one or more of the stores read (needs Store stock)
On sale onlyonSaleOnlyKeep only products priced below their regular price
Min price (USD), Max price (USD)minPrice, maxPricePrice range
Only changes since the last runonlyChangesOnly what changed since the last run with the same monitor name
Monitor namemonitorNameKeeps separate memories for different watch lists (default default)
Changes to reportchangeTypesnew-listing, price-drop, price-rise, back-in-stock, out-of-stock, removed (all but price-rise by default)
Output fieldsfieldsOnly these output fields (dotted paths such as stores.quantity)
History storestateStoreNameOptional key-value store for earlier runs' readings (default cleanpull-target-monitor); pick one when running with a scoped token in Restricted access mode

Example inputs

Stores near a ZIP code for a few products:

{ "tcins": ["94139335", "92538311"], "zipCode": "55401", "includeStoreStock": true }

A daily restock and price-drop watch at one store:

{
"startUrls": [{ "url": "https://www.target.com/p/-/A-94139335" }],
"storeId": "1375",
"includeStoreStock": true,
"onlyChanges": true,
"monitorName": "my-store",
"changeTypes": ["back-in-stock", "price-drop"]
}

A category, cheapest first, on sale only:

{
"startUrls": [
{
"url": "https://www.target.com/c/drip-coffee-makers-espresso-kitchen-appliances-dining/-/N-658ml"
}
],
"sort": "priceLow",
"onSaleOnly": true,
"maxResultsPerSearch": 48
}

Target scraper output

Target scraper output: Products and Store stock views with price, regular price, UPC, DPCI, units and pickup status per store

Example rows

One row per product. A real row (store stock on, stores shortened to two of its 20 stores, images and bullets shortened):

{
"recordType": "product",
"tcin": "94139335",
"dpci": "072-08-5510",
"upc": "086279240453",
"url": "https://www.target.com/p/cuisinart-12-cup-programmable-thermal-coffeemaker/-/A-94139335",
"title": "Cuisinart 12 Cup Programmable Thermal Coffeemaker",
"brand": "Cuisinart",
"price": 149.99,
"priceMax": null,
"regPrice": 149.99,
"discountPercent": null,
"onSale": false,
"priceType": "reg",
"priceText": "$149.99",
"unitPrice": null,
"pricingStoreId": "3991",
"currency": "USD",
"rating": 3.57,
"reviewCount": 228,
"ratingDistribution": {
"1": 53,
"2": 14,
"3": 26,
"4": 22,
"5": 113
},
"badges": ["1k+ bought in last month"],
"promotions": [],
"image": "https://target.scene7.com/is/image/Target/GUEST_5deaa938-0419-4784-8501-46f003b24e1f",
"images": [
"https://target.scene7.com/is/image/Target/GUEST_a399f74b-c028-45eb-8dc6-23c3753adc12",
"https://target.scene7.com/is/image/Target/GUEST_952170b0-c740-465f-852b-f15c746e88e5"
],
"relationshipType": "SA",
"parentTcin": null,
"variants": null,
"itemType": "Coffee Makers",
"category": "Drip Coffee Makers",
"breadcrumbs": [
"Kitchen & Dining",
"Kitchen Appliances",
"Coffee & Espresso Makers",
"Drip Coffee Makers"
],
"departmentId": 72,
"description": "Brew fresh, full-flavored coffee hotter and faster with the innovative PerfecTemp® 12-Cup Programmable Thermal Coffeemak…",
"bullets": [
"12-cup thermal carafe",
"Expert coffee-making technology ensures hotter coffee temperature without sacrificing flavor or quality"
],
"source": "tcin",
"input": "94139335",
"searchTerm": null,
"categoryUrl": null,
"position": null,
"stores": [
{
"storeId": "1375",
"name": "Mpls Nicollet Mall",
"address": "900 Nicollet Mall",
"city": "Minneapolis",
"state": "Minnesota",
"postalCode": "55403-2530",
"phone": "612-338-0085",
"distanceMiles": 0.52,
"quantity": 1,
"inStock": true,
"inStoreStatus": "IN_STOCK",
"pickupStatus": "IN_STOCK",
"pickupDate": "2026-10-27",
"aisle": null
},
{
"storeId": "3200",
"name": "Minneapolis Dinkytown",
"address": "1329 5th St SE",
"city": "Minneapolis",
"state": "Minnesota",
"postalCode": "55414-1390",
"phone": "612-355-3857",
"distanceMiles": 1.77,
"quantity": 0,
"inStock": false,
"inStoreStatus": "NOT_SOLD_IN_STORE",
"pickupStatus": "UNAVAILABLE",
"pickupDate": null,
"aisle": null
}
],
"storesChecked": 20,
"storesInStock": 16,
"totalStoreQuantity": 26,
"nearestInStock": {
"storeId": "1375",
"name": "Mpls Nicollet Mall",
"distanceMiles": 0.52,
"quantity": 1
},
"stockZipCode": "55401",
"stockStoreId": null,
"storesNote": null,
"changeType": null,
"changes": [],
"previous": null,
"scrapedAt": "2026-10-27T01:55:02.986Z"
}

Fields

FieldMeaning
tcin, dpci, upcTarget item number, Target's department-class-item code, the barcode (product lookups; search rows state no barcode)
url, title, brand, image, imagesThe product page and its pictures
price, priceMax, regPrice, discountPercent, onSale, priceType, priceText, unitPrice, currencyPrice now (the lowest of a range, priceMax its top), regular price, discount, Target's price label
pricingStoreIdWhose price it is: 3991 is Target's online store; a store id for store-priced items when you gave storeId
rating, reviewCount, ratingDistributionAverage stars, reviews, and the 1-to-5 breakdown (product lookups). No reviews yet: rating null and reviewCount 0; both null when Target's answer does not state them
badges, promotions"1k+ bought in last month", "Bestseller"; promotion texts
relationshipType, parentTcin, variantsSA stand-alone, VC variant, VAP parent; each variant's TCIN, attributes, UPC, DPCI, price
itemType, category, breadcrumbs, departmentId, description, bulletsClassification and text
source, input, searchTerm, categoryUrl, positionWhat you asked for, and the place in Target's results
stores[]storeId, name, address, city, state, postalCode, phone, distanceMiles, quantity, inStock, inStoreStatus, pickupStatus, pickupDate, aisle
storesChecked, storesInStock, totalStoreQuantity, nearestInStockStore stock at a glance
stockZipCode, stockStoreId, storesNoteWhere stock was read, or why it was not
changeType, changes, previousWith Only changes since the last run: added, updated or removed, each change with before and after (and the store)
scrapedAtWhen it was read (ISO 8601)

The dataset has three views: Products, Store stock (one row per product and store) and Changes. The run summary (RUN_SUMMARY) has the outcome, counts, charges, requests (pageReads: requests to Target, retries included) and anything that could not be read; the final status ends with the pages read for the rows delivered.

Target data for AI agents

  • Compact, typed JSON: numbers as numbers, ISO dates, absolute URLs, stable ids (TCIN, store id).
  • Field selection: fields returns only what the agent needs, such as ["tcin", "price", "stores.storeId", "stores.quantity"].
  • Stable schema: every row has the same keys; what Target does not state is null.
  • Explanations, not failures: a search with no results or an unknown UPC gives a free recordType: "unreadable" row with the reason.
  • MCP ready: callable from any MCP client through Apify's MCP server.

Pricing

EventFreeBronzeSilverGold and above
Product: a row from a search or category$1.70$0.85$0.765$0.68
Product lookup: a row looked up by TCIN or product URL$8.00$4.00$3.60$3.20
UPC lookup: a row found by its barcode (Target's search, then its answer)$16.00$8.00$7.20$6.40
Store stock: one lookup for one product (up to 20 stores near a ZIP code, or one store id)$8.00$4.00$3.60$3.20

Per 1,000. Each run also has the standard start fee. A row is charged once, as the one event it took. A TCIN with stock at the 20 stores near a ZIP code is one product lookup and one stock lookup: $0.008 on Bronze. A lookup that fails or finds nothing is not billed, and neither are unchanged products with Only changes since the last run.

Limits

  • US only, as target.com. Store stock is what Target promises for pickup and in-store shopping; it can change during the day.
  • Search rows state no barcode. UPC, star breakdown, category path and description come with product lookups (TCIN, product URL, UPC).
  • A parent of variants has no store stock of its own. Its row lists the variants; look one up by TCIN for its stores.
  • Aisle is given for the one store in storeId.
  • A search reads at most 50 pages (1,200 results). A run with Only changes since the last run reads every search, so each one's memory stays current; maxResults counts the rows it delivers, removed rows included (those over it come in the next run).
  • In stock at a store only (inStockOnly) delivers only products confirmed in stock: one whose stock could not be read is listed as not read, not delivered.
  • Nothing found: when nothing could be read because none exists (a search with no results, an unknown UPC), the run still succeeds with one free unreadable row per item giving the reason. A run near its time limit stops starting products, delivers what it read and lists the rest the same way.

FAQ

How much does Target product data cost per product per day?

One product checked daily by TCIN, with its units at the 20 stores near a ZIP code, is one product lookup and one stock lookup: $0.008 a day on Bronze (about $0.24 a month), and $0.016 on the Free plan, where every price is doubled. A search of 24 results, without store stock, costs about $0.02 a day on Bronze. With Only changes since the last run, unchanged products are not delivered or charged, and rows for products a search no longer lists are free. A lookup that fails or finds nothing is never billed. Higher Apify plans pay less (see Pricing below).

How often should I check Target stock and prices?

Daily suits most watch lists; store stock can change during the day, so a restock watch can run more often. With Only changes since the last run and a schedule, each run returns only the products that changed, and Changes to report picks which changes count (price rises are off by default). Stock changes compare the same stores (same ZIP code or Store id) between runs.

What is the difference between price, regular price and store price?

price is the price now (the lowest of a range, with priceMax its top), and regPrice the regular price, so onSale and discountPercent show a discount. pricingStoreId says whose price it is: 3991 is Target's online store, and with a Store id, store-priced items such as groceries are priced for that store.

Why is a UPC, rating or store stock missing?

  • Search rows state no barcode: the UPC, star breakdown, category path and description come with product lookups (TCIN, product URL, UPC).
  • No reviews yet: rating is null and reviewCount 0; both are null when Target's answer does not state them.
  • A parent of variants: it has no store stock of its own; its row lists the variants, and a variant looked up by TCIN gets its stores.
  • Stock not read: storesNote says why, and stockZipCode and stockStoreId say where stock was read.
  • Aisle: given only for the one store in Store id.
  • Nothing found: a search with no results or an unknown UPC gives a free recordType: "unreadable" row with the reason, and RUN_SUMMARY lists anything that could not be read.

Which Target stores and countries does it support?

US only, as target.com. Store stock is read at the stores near any US ZIP code (up to Stores per product, within Radius (miles)) and at one store by Store id. Stock is what Target promises for pickup and in-store shopping.

Can I use the Target scraper through the API?

Yes. Start runs through the Apify API or an API client, and read the dataset through its Products, Store stock and Changes views, or the RUN_SUMMARY record. Output fields (fields) trims each row to the keys you need, such as stores.quantity.

Does it work with Google Sheets, Make, Zapier or Claude?

Yes. Apify's integrations send each run's results to Google Sheets, Make, Zapier, webhooks and other tools, and a schedule keeps them updated. From Claude, the MarketMage plugin compares and watches Target prices in a chat.

Is it allowed to scrape Target product data?

The actor reads public target.com product, search and store availability data as a signed-out shopper sees it: no login, no account and no customer data. Ratings are kept as counts and averages, with no review text. How you use the data, and following the laws and terms that apply to you, is your responsibility. This is not legal advice.

Other CleanPull actors for marketplace:

Use it from Claude

The MarketMage plugin runs these actors from a Claude chat.

Found it useful? A rating on the Store helps others find it.

Changelog

  • 0.1.x, fixes (2026-11-02): rows are delivered in Target's order (each search's results by position, TCINs and UPCs as given), also when products are read several at once; outside a monitor, a product past maxResults is no longer read while earlier ones are still being delivered. A product nobody has reviewed has rating null and reviewCount 0 (Target states 0 stars of 0 reviews for it, which was delivered as rating: 0). A rating of 5 from one or two reviews is Target's own figure. Prices and events unchanged.
  • 0.1.x, fewer stock reads (2026-10-31): for search results, stock at the stores near a ZIP code is read for blocks of up to 30 products per store in one request, when a block has more products than stores asked for. Two products' own reads name the nearby stores (and if they differ, stock is read product by product); each store's units, in-store and pickup status come from Target's product summary, the same values the per-product read gives. Anything else is read product by product, as before. Rows, prices and events unchanged.
  • 0.1.1, fewer reads (2026-10-30): price range and on-sale filters are sent to Target with a search, so filtered searches read far fewer pages (the price check on each row stays). In Only changes, products already watched are checked 24 at a time through Target's product summary (price and the one store's stock) and read in full only when something changed; unchanged TCINs no longer need their own product read. A variant TCIN now gets its own stock at the one store asked about. A product with a price range counts as on sale only when it is really discounted (its low end against the low regular price, or high against high). The run summary and final status give the pages read for the rows delivered. Prices and events unchanged.
  • 0.1 (October 2026): products by search, category, URL, TCIN or UPC; prices, sale prices, UPC, DPCI, ratings and variants; units at the stores near a ZIP code and at one store with its aisle; filters; monitoring of price drops, restocks, sell-outs, new and removed listings.