Target Products Scraper
Pricing
from $2.00 / 1,000 products
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
Maintained by CommunityActor 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 get | Features |
|---|---|
|
|
How to use Target Products Scraper
- Create a free Apify account.
- Open Target Products Scraper in Apify Console.
- Enter one or more Search terms — a keyword, an exact TCIN / DPCI / UPC, or a product URL.
- Pick the States to check (or leave empty for a free default-area result).
- Optionally set Max products and choose Store coverage.
- 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—allchecks the stores in each state (up tomax_stores_per_product);nearbychecks 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 isall.
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
- Run with
states: ["RI"],store_coverage: "nearby", and yoursearch_terms. - Sort the
storesarray bystock_quantityor filterin_stock: true. - Use each store's
address,city, andphoneto plan the trip.
2. Monitor stock across a whole state
- Set
store_coverage: "all"and pick a state. - Schedule the run every few hours.
- Compare
stores_in_stockandtotal_stockbetween runs to see when a product restocks.
3. Build a store-level stock dashboard
- Run for a batch of products with
include_out_of_stock: true. - Flatten the
storesarray to one row per product + store (store_id,stock_quantity,in_stock). - 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;nearbylimits to the stores nearest the state's centre for a quick metro check.pickup_dateandpickup_statusare only meaningful when a store has the item; sold-out stores reportOUT_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.