Target Products Scraper avatar

Target Products Scraper

Pricing

from $2.00 / 1,000 products

Go to Apify Store
Target Products Scraper

Target Products Scraper

Search Target products and find which stores have them in stock across selected states, with per-store quantities.

Pricing

from $2.00 / 1,000 products

Rating

0.0

(0)

Developer

Harpoon

Harpoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Target Products Scraper — find which Target stores have a product in stock

Search Target for a product and see exactly which stores carry it, in the states you choose, with the quantity on hand and pickup status for each store. Point it at a keyword such as airpods, pick one or more states, and get one structured row per product listing its matching stores (up to 25 per product). You can also paste specific product URLs when you already know what you want.

What can Target Products Scraper do?

  • Check a searched product at up to 25 stores in one or more states, or switch to a faster "nearest stores" mode
  • Report the units in stock at each store, plus pickup and in-store availability status
  • Search by keyword, or look up one exact product by TCIN, DPCI, UPC/barcode, or product URL
  • Filter to only stores that currently have the item, or keep sold-out stores too
  • Export results to JSON, CSV, Excel, or XML
  • Run via the API, schedule runs, and integrate through webhooks or MCP

What data can I extract?

What you getFeatures
  • Product — title, TCIN, UPC/barcode, DPCI, item type, product type, brand and brand page, category and category path, all images, videos, price with sale/regular/save amounts, rating, review count, rating distribution, review pros/cons and an AI review summary, highlights, a specifications table, package dimensions, return policy, purchase limit, gift-wrap eligibility, badges, and promotions
  • Per-store availability — store name, address, city, state, ZIP, phone, distance, in-stock flag, units in stock, pickup status/date/SLA, curbside status, in-store status, and aisle/block/floor when known
  • Summary — number of stores returned, number in stock, and total units across them
  • Multi-select by state
  • Up to 25 stores per product, or a fast nearest-stores mode
  • Only-in-stock filtering
  • Export to JSON, CSV, Excel, XML
  • API access, webhooks, SDKs
  • LLM-ready output for MCP, ChatGPT, Claude

How to use Target Products Scraper

  1. Create a free Apify account.
  2. Open Target Products Scraper in Apify Console.
  3. Enter one or more Search terms — a keyword, an exact TCIN / DPCI / UPC, or a product URL.
  4. Pick the States to check (or leave empty for a free default-area result).
  5. Optionally set Max products and choose Store coverage.
  6. Click Save & Start, then download results in JSON, CSV, Excel, or XML.

Input

One run has two parts: what to look up and where to check it. A single list of entries covers keywords, exact identifiers, and product URLs. The states decide which stores are checked.

  • search_terms — one entry per line: a keyword (airpods), an exact TCIN (85978619), DPCI (057-10-2490), UPC/barcode (195951378657), or a Target product URL.
  • states — optional; the states whose stores are checked, or Everywhere (all US states) to sweep the whole country. Leave it empty for a free default-area result with up to 5 stores per product.
  • max_products — cap on how many products are returned from the search (default 24).
  • max_stores_per_product — how many stores are checked (and listed) per product; default 25, capped at 25. Lower it to run faster and cheaper.
  • store_coverage — all checks the stores in each state (up to max_stores_per_product); nearby checks only the nearest stores and is much faster.
  • include_product_details — on by default; adds the UPC/barcode, package dimensions, category path, return policy and purchase limit. Turn off for lighter runs.
  • include_out_of_stock — when off (default), only stores with the item in stock are returned.
  • grid_step_deg — advanced; how finely a state is searched when coverage is all.

Example input

{
"search_terms": ["airpods"],
"states": ["RI"],
"max_products": 24,
"store_coverage": "all"
}

See the Input tab above for every parameter.

Output

Results land in a dataset under the Storage tab. Each row is one product with a stores array of its matching stores (up to max_stores_per_product, default 25). View as a table, download in JSON, CSV, Excel, or XML, or pull them via the API.

The sample below is a real row (arrays and stores trimmed) from a run with the example input.

{
"tcin": "80585769",
"title": "Apple AirPods Max 2 - Midnight",
"url": "https://www.target.com/p/apple-airpods-max-160-2-160-midnight/-/A-80585769",
"image_url": "https://target.scene7.com/is/image/Target/GUEST_42c8aea9-c986-478e-97cb-9c900c281931",
"images": [
"https://target.scene7.com/is/image/Target/GUEST_42c8aea9-c986-478e-97cb-9c900c281931",
"https://target.scene7.com/is/image/Target/GUEST_73faf436-6840-4093-a405-c0eef4e57efe",
"https://target.scene7.com/is/image/Target/GUEST_a2d4127f-848f-44e5-adaf-3a57ea8f8e73"
],
"videos": ["https://target.scene7.com/is/content/Target/GUEST_3a7a5917-3f47-4851-ad7a-402b69544b34"],
"brand": "Apple",
"brand_url": "https://www.target.com/b/apple/-/N-5y3ej",
"dpci": "057-10-1513",
"item_type": "Headphones",
"price": 549.99,
"price_text": "$549.99",
"price_type": "reg",
"reg_price": 549.99,
"was_price": "",
"save_amount": 0,
"save_percent": 0,
"price_handle": "",
"rating": 3.54,
"review_count": 109,
"review_pros": ["sound quality", "noise cancellation", "design", "ease of use"],
"review_cons": ["sweat attraction", "connectivity issues", "price concerns"],
"review_summary": "Guests appreciate the sound quality and design of these headphones, highlighting their comfort and noise-canceling features... (trimmed)",
"highlights": [
"ULTIMATE OVER-EAR LISTENING EXPERIENCE—Powered by the H2 chip, AirPods Max 2 delivers improved high-fidelity audio with deep bass, expansive mids, and crisp highs.",
"TUNE OUT THE NOISE—Up to 1.5x more Active Noise Cancellation than the previous generation."
],
"specifications": {
"Battery": "1 Lithium Ion, Required, Installed",
"Connection Type": "USB-C",
"Ear Cushion Material": "Textile",
"Maximum Battery Charge Life": "20 Hours",
"Model name": "AirPods Max 2",
"Noise Canceling": "Noise Canceling",
"Water Resistance": "No Water Resistance Rating",
"Weight": ".85 Pounds",
"Wireless Technology": "Bluetooth"
},
"badges": ["4k+ bought in last month"],
"promotions": ["Get the Apple AirPods Max 2 starting at $36/mo."],
"rating_distribution": { "1": 30, "2": 6, "3": 5, "4": 12, "5": 56 },
"upc": "195951039060",
"category": "Wireless Over-Ear Headphones",
"category_path": "target > Electronics & Tech > Headphones > Over-Ear Headphones > Wireless Over-Ear Headphones",
"product_type": "ELECTRONICS",
"package_dimensions": { "depth": 9.586, "height": 3.188, "width": 9.444, "weight": 2.535, "dimension_unit": "INCH", "weight_unit": "POUND" },
"return_method": "This item must be returned to any Target store.",
"return_policy_url": "https://www.target.com/help/articles/returns-exchanges/returns",
"purchase_limit": 2,
"gift_wrap_eligible": true,
"search_type": "keyword",
"requested_id": "",
"exact_match": true,
"states": ["RI"],
"stores_total": 4,
"stores_in_stock": 4,
"total_stock": 8,
"stores": [
{
"store_id": "2073",
"store_name": "Lincoln",
"address": "620 George Washington Hwy",
"city": "Lincoln",
"state": "RI",
"state_name": "Rhode Island",
"zip": "02865-4216",
"phone": "401-642-0080",
"distance_miles": 0,
"in_stock": true,
"stock_quantity": 2,
"pickup_status": "IN_STOCK",
"pickup_date": "2026-09-29",
"pickup_sla_minutes": 120,
"curbside_status": "",
"curbside_pickup_date": "",
"in_store_status": "IN_STOCK",
"aisle": "",
"block": "",
"floor": ""
},
{
"store_id": "1404",
"store_name": "Smithfield",
"address": "371 Putnam Pike Ste A-250",
"city": "Smithfield",
"state": "RI",
"state_name": "Rhode Island",
"zip": "02917-2440",
"phone": "401-232-1699",
"distance_miles": 0,
"in_stock": true,
"stock_quantity": 1,
"pickup_status": "IN_STOCK",
"pickup_date": "2026-09-29",
"pickup_sla_minutes": 120,
"curbside_status": "",
"curbside_pickup_date": "",
"in_store_status": "IN_STOCK",
"aisle": "",
"block": "",
"floor": ""
}
]
}

Field names are lowercase snake_case. Two dataset views are provided: Overview leads with the product image, rating and stock summary; Product details shows the full specs, highlights, reviews, badges and media. distance_miles, curbside_status and aisle/block/floor are populated when the source exposes them (a default-area run gives distance and curbside). When a search_terms entry is an identifier, search_type is tcin, dpci, or upc and exact_match tells you whether the returned product truly matches that id.

What can you do with the data?

Each recipe names the exact input and fields to use.

1. Find the nearest store that has an item

  1. Run with states: ["RI"], store_coverage: "nearby", and your search_terms.
  2. Sort the stores array by stock_quantity or filter in_stock: true.
  3. Use each store's address, city, and phone to plan the trip.

2. Monitor stock across a whole state

  1. Set store_coverage: "all" and pick a state.
  2. Schedule the run every few hours.
  3. Compare stores_in_stock and total_stock between runs to see when a product restocks.

3. Build a store-level stock dashboard

  1. Run for a batch of products with include_out_of_stock: true.
  2. Flatten the stores array to one row per product + store (store_id, stock_quantity, in_stock).
  3. Chart total units per store, or flag stores below a reorder threshold.

How much does Target Products Scraper cost?

Pricing is pay-per-event, so you only pay for what a run returns:

  • product — $3 per 1,000 products returned. The first 5 stores in each product's row are included at no extra cost.
  • additional-store — $1 per 1,000 stores beyond the first 5 in a product's row.

A product stocked in a few stores therefore costs a single charge; a product spanning more stores costs the base charge plus the extra stores. Each product carries at most 25 stores, so a row's additional-store charges are capped at 20.

Leaving States empty gives a free result: up to 5 stores per product from a default area, so there are no additional-store charges.

Worked example: 24 products, each carried by 25 stores = 24 product charges (24 ÷ 1,000 × $3 ≈ $0.07) + 480 additional-store charges (480 ÷ 1,000 × $1 ≈ $0.48) ≈ $0.55 for the run.

Rates are also shown on the Pricing tab.

FAQ

Do I need an account, cookies, or an API key? No. You run the Actor from your Apify account and it reads public product and store information. There is nothing to log into and no key to configure.

Can I get private or restricted content? No. It returns publicly listed products and publicly available store stock only.

How many results can I get? One row per product. max_products caps the products per run (up to 500) and max_stores_per_product caps the stores checked and listed per product (default 25, maximum 25). Every selected state is searched.

Is it legal to use? It collects publicly available information only. Review Apify's guidance on legal and ethical scraping for your use case.

Can I use it with the API / SDKs / MCP? Yes — see the API tab above, or connect through the Apify MCP server.

Something isn't working. Open an issue in the Issues tab with your input and the run log, and we'll take a look. Results reflect stock at the moment of the run, so an unexpected "0 in stock" can simply mean the item sold out since.

Notes and limitations

  • Store stock changes constantly; values are a snapshot from when the run executed.
  • Availability covers only the states you select.
  • Each product carries at most 25 stores (max_stores_per_product); lower it for faster, cheaper runs.
  • store_coverage: "all" checks stores across the selected states; nearby limits to the stores nearest the state's centre for a quick metro check.
  • pickup_date and pickup_status are only meaningful when a store has the item; sold-out stores report OUT_OF_STOCK.
  • A product's row reflects the exact item matched by your keyword or URL, which for products with variants is one specific variant.

Support

Found a bug or have feedback? Open an issue in the Issues tab.