Target Scraper — Products, Prices, Stock & Reviews
Pricing
from $2.50 / 1,000 products
Target Scraper — Products, Prices, Stock & Reviews
Scrape Target.com search, category, brand and product pages: price, regular price, sale and clearance flags, Circle offers, stock, store pickup, UPC, variants and reviews.
Pricing
from $2.50 / 1,000 products
Rating
0.0
(0)
Developer
Trevor Ortega
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Target Scraper: Products, Prices, Stock & Reviews
Scrape Target.com search results, category pages, brand pages and product pages into a clean dataset: price, regular price, sale and clearance flags, savings, promotions and Circle offers, rating, review count, online stock, store pickup and in-store stock for any Target store or ZIP code, DPCI, images, badges and rank. Turn on details for the UPC, category path, specifications, description and every variant (color / size) with its own price, and turn on reviews for the review texts.
No browser and no login: the Actor reads the same public JSON that target.com loads in your browser, so one request returns 24 products. Download the results as JSON, CSV or Excel, or pull them through the API into your own app, Google Sheets or an LLM pipeline. You pay per item you get.
What data does Target Scraper extract?
Every product from a search, category or brand page (the result event):
| Field | Description |
|---|---|
type | "product" |
tcin, parentTcin | Target item number (the digits after /A- in the URL) and, for a color / size variant, the item number of its parent product |
dpci | Target's store item number (department-class-item, e.g. 057-10-8384), printed on shelf tags |
upc | Barcode. Filled with Include product details on (or for product URLs); search tiles do not carry it |
name, brand, url, imageUrl, images | Title, brand, product URL, main image and all images shown on the tile |
price, priceText, currency | Current price (USD) and the price as displayed |
regularPrice, wasPrice | Target's regular price and the struck-through comparison price ("reg $59.99") when shown |
priceType | Target's own price label: reg, sale, clearance |
isOnSale, isClearance, savingsAmount, savingsPercent | Sale and clearance flags, savings in dollars and percent |
priceMin, priceMax, regularPriceMin, regularPriceMax | Price range when a product is shown as a range ("$139.99 - $169.95") |
priceNote | e.g. When purchased online |
promotions, hasCircleOffer | Promotions on the product: {promotionId, message, type, rewardType, rewardValue, thresholdType, thresholdValue, isCircleOffer, channel}, e.g. "Buy 1, get 1 50% off Hanes clothing" |
rating, reviewCount | Average rating (0-5) and number of ratings |
availability, inStock | Online / shipping status (IN_STOCK, OUT_OF_STOCK, UNAVAILABLE, ...) and an overall boolean |
storeAvailability | Store pickup status at the chosen store (IN_STOCK, UNAVAILABLE, ...); null without a store |
fulfillment | {shippingStatus, shippingMinDeliveryDate, shippingMaxDeliveryDate, isTwoDayShipping, freeShipping, storeId, storeName, pickupStatus, pickupDate, inStoreStatus, storeQuantity, aisle, soldOut, outOfStockInAllStores} |
badges | Bestseller, New at Target, Rarely returned, 4k+ bought in last month, ... |
isSponsored | true for sponsored products. A product shown as an ad and as an organic result is saved once, as organic |
categoryId, productType, variantOptions | Target category id, product type (Headphones) and the variant dimensions ([{name: "Color", values: ["Black", "Pink"]}]) |
position, page | Rank among the tiles of the search (ads included, in display order) and page number |
searchTerm, sourceUrl, storeId, scrapedAt | Provenance |
changeType, previousValues | Only with Only new or changed items on (see below) |
With Include product details on, or for product URLs / TCINs (the extra detail event), each product also gets:
| Field | Description |
|---|---|
upc, category, categoryPath | Barcode and Target's category breadcrumb (["Electronics & Tech", "Headphones", "Earbuds"]) |
description, highlights | Full description and the highlight bullets |
specifications, warranty | Target's specification table as a dict ({"Connection Type": "USB-C", ...}) and the warranty text |
variants, variantCount, selectedOptions | Every variant: {tcin, name, options: {Color: "Black"}, price, regularPrice, wasPrice, priceType, upc, dpci, url, imageUrl, isShippingAvailable, isSoldOut}; for a variant, its own option values |
ratingDistribution, reviewsWithText, recommendedPercentage, questionCount, secondaryRatings | 1-5 star breakdown, written reviews, "would recommend" share, Q&A count, sub-ratings (quality, value, ...) |
isMarketplace, soldBy | Target Plus marketplace flag and the seller (Target for Target's own items) |
returnPolicy, packageDimensions, purchaseLimit, origin, department | Return window and method, package size and weight, order limit, Imported / Made in the USA, Target department |
With Include reviews on (the review event), one item per review:
| Field | Description |
|---|---|
type | "review" |
tcin, productName, productUrl | Reviewed item (for variants Target keeps reviews on the parent product) |
reviewId, rating, title, text, submittedAt, modifiedAt | Review id, stars (1-5), title, text, ISO dates |
reviewerName | Reviewer's nickname as Target shows it |
verifiedPurchase, recommended, badges, isIncentivized | Verified purchaser flag, "would recommend", badges, incentivized review flag |
positiveFeedback, negativeFeedback | Helpful / not helpful votes |
photosCount, photos, videosCount | Customer photos (image URLs) and number of videos |
secondaryRatings | Sub-ratings the reviewer gave ({"quality": 5, "value": 4}) |
isSyndicated, syndicatedFrom | Reviews copied from the brand's own site (sharkninja.com) |
sellerResponse, sellerResponseBy, sellerResponseDate | Brand / seller reply when present |
How to use Target Scraper
- Type one or more Search terms (one per line), and/or paste Start URLs: search pages (
/s?searchTerm=...), category pages (/c/.../-/N-5xteg), brand pages (/b/.../-/N-...) or product pages (/p/.../-/A-89827259). Filters you applied on target.com stay in the URL and are respected. You can also list TCINs in Product IDs. - Optionally pick Sort by, a Min / Max price, and a Store ID or ZIP code for store pickup stock.
- Set Max items to cap the run (and the cost). Products and reviews both count. With several searches, Max products per search gives each its share.
- Turn on Include product details and/or Include reviews only if you need them.
Input example
{"searchTerms": ["air fryer"],"startUrls": [{ "url": "https://www.target.com/c/headphones-electronics-tech/-/N-5xteg" },{ "url": "https://www.target.com/p/apple-earpods-usb-c/-/A-89827259" }],"maxItems": 200,"sortBy": "bestselling","zipCode": "10001","includeDetails": true,"includeReviews": false}
Output example
{"type": "product","tcin": "85978609","parentTcin": null,"dpci": "057-10-8384","upc": null,"name": "Apple AirPods Pro 3 Wireless Earbuds with Active Noise Cancellation","brand": "Apple","url": "https://www.target.com/p/ap2022-true-wireless-bluetooth-headphones/-/A-85978609","imageUrl": "https://target.scene7.com/is/image/Target/GUEST_d1b8c229-751b-430b-a0fb-521d7777a784","price": 199.99,"regularPrice": 249.99,"wasPrice": 249.99,"priceText": "$199.99","priceType": "sale","isOnSale": true,"isClearance": false,"savingsAmount": 50.0,"savingsPercent": 20.0,"currency": "USD","promotions": [{ "promotionId": "584387474", "message": "Get the AirPods Pro 3 starting at $24/mo.", "type": "No Discount","rewardType": "NoDiscount", "rewardValue": 0.0, "isCircleOffer": false, "channel": "online_and_store" }],"hasCircleOffer": false,"rating": 3.92,"reviewCount": 2192,"availability": "IN_STOCK","inStock": true,"storeAvailability": "IN_STOCK","fulfillment": {"shippingStatus": "IN_STOCK", "shippingMinDeliveryDate": "2026-10-11", "shippingMaxDeliveryDate": "2026-10-11","isTwoDayShipping": true, "freeShipping": true, "storeId": "1176", "storeName": "Arlington Heights","pickupStatus": "IN_STOCK", "pickupDate": "2026-10-10", "inStoreStatus": "IN_STOCK", "storeQuantity": 10,"aisle": "D 30", "soldOut": false, "outOfStockInAllStores": false},"badges": ["Bestseller"],"isSponsored": false,"categoryId": "4sbu8","productType": "Headphones","position": 15,"page": 1,"searchTerm": "headphones","storeId": "1176","scrapedAt": "2026-10-10T07:38:43+00:00"}
A review item:
{"type": "review","tcin": "91747218","productName": "Beats Solo 4 Bluetooth Wireless On-Ear Headphones - Cloud Pink","productUrl": "https://www.target.com/p/beats-solo-4-bluetooth-wireless-on-ear-headphones-cloud-pink/-/A-91747218","reviewId": "09dd01b0-6057-4efb-ab8b-183f9dcf53fa","rating": 5.0,"title": "Worth $","text": "The presentation/ unboxing was my favorite part sounds grate would recommend","submittedAt": "2026-09-26T14:21:43.000+00:00","modifiedAt": "2026-09-28T09:58:49.000+00:00","reviewerName": "John","verifiedPurchase": true,"recommended": true,"badges": ["verifiedPurchaser"],"positiveFeedback": 0,"negativeFeedback": 2,"photosCount": 0,"photos": [],"isSyndicated": false,"sellerResponse": null}
How much does it cost?
Pay per item, no subscription:
| Event | Price | When |
|---|---|---|
Product (result) | $0.0025 | Every product saved: price, stock, rating, promotions, images |
Product details (detail) | $0.0015 | Extra, per product whose details are fetched (Include product details, product URLs, TCINs) |
Review (review) | $0.0005 | Every review saved |
1,000 products from search cost $2.50 (with details $4.00). Platform usage is small: the Actor runs on 512 MB and reads 24 products per request through Apify's datacenter proxy. In our test, 1,300 products took 124 requests and less than $0.01 of platform usage.
How to scrape Target search results by keyword
Type the keywords into Search terms. Each term is read page by page (24 products per page) until Max items is reached. Target shows at most 1,200 products for one search; when you ask for more, the Actor splits the search into price ranges automatically and reads each range, so large categories can be collected completely. Results are deduplicated by TCIN.
How to track Target prices, sales and clearance
Every product carries price, regularPrice, wasPrice, priceType (reg / sale / clearance), isOnSale, isClearance, savings and promotions. Filter a category for deals by pasting a target.com URL with the "Deals" filter applied, or use Sort by and Min / Max price. For a fixed list of products, put their TCINs into Product IDs.
How to check Target store stock and pickup availability
Set Store ID (e.g. 1176) or a ZIP code (the nearest store is used). Every product then gets storeAvailability and fulfillment with pickup status, pickup date, in-store status, quantity at that store and the aisle. Without a store you still get online / shipping availability and delivery dates.
How to scrape Target product reviews
Turn on Include reviews and set Max reviews per product. Reviews are read 50 per request in the order you choose (most recent, most helpful, highest or lowest rating). Each review includes the reviewer's nickname as Target shows it, verified purchaser flag, helpful votes, photos, and the brand's reply. Use Only reviews newer than (7 days, 2026-10-01) to collect only recent reviews.
Monitor changes on a schedule
Turn on Only new or changed items and the Actor remembers what earlier runs of the same input returned. Each run then outputs only products that are new in the results or whose price, regular price or online availability changed (plus store availability when a store is set, and the rating count when reviews are on). Unchanged products are dropped before anything is saved and before details or reviews are requested, so they are not charged. Save the input as a task and add a Schedule to it in Apify Console (Schedules → Create new, e.g. daily). Every output item carries changeType (new or changed), and changed products carry previousValues, e.g. {"price": 24.99, "availability": "IN_STOCK"} for a product that dropped to $19.99 and sold out.
Tips:
- Max items becomes the watched window: that many products of the listing are checked each run.
- Turn Include sponsored products off so rotating ads do not show up as new.
- Target's relevance order shifts slightly between runs, so the first runs may report a few products that moved into the window as
new; each one is reported once. - With reviews on, only reviews not returned before are output.
- Monitoring key keeps several schedules on the same search separate.
Does it work without login or a browser?
Yes. Everything comes from Target's public pages and the public JSON they load; no account, cookies or browser are needed, and nothing behind a login is collected.
Proxy note
The default Apify datacenter proxy works. Target protects its APIs with PerimeterX; the Actor identifies its requests the way Target's mobile app does and retries a blocked request with another IP, so in our tests every request succeeded on the first try. No Unblocker or residential proxy is needed.
Integrations and API
Use the run in Zapier, Make, n8n or Google Sheets, or call it from Python / Node.js with the Apify client. See the API tab for ready-made snippets.
Is it legal to scrape Target?
The Actor collects only information Target publishes on its public pages: product data, prices, stock and public reviews with the nickname the reviewer chose to show. It does not log in and does not collect anything behind a login. You are responsible for how you use the data and for complying with Target's terms and applicable law (for example data-protection rules when you store reviewer nicknames).
Support
Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.
Related scrapers
- Home Depot Scraper: Products, Prices & Reviews
- Lowe's Scraper: Products, Prices & Reviews
- eBay Scraper: Listings, Prices & Sellers
- Etsy Scraper: Listings, Prices, Shops & Badges
- Walmart Scraper: Products, Prices & Reviews
Found it useful?
A ★ review on this Actor's Apify Store page helps other users find it and tells us what to improve. Issues and feature requests are welcome in the Actor's Issues tab.