Target Product Search Scraper avatar

Target Product Search Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Target Product Search Scraper

Target Product Search Scraper

Target product search scraper that pulls product prices, ratings, and availability from Target.com search results and category pages, so retail analysts can collect structured data without manual browsing.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Target Product Search Scraper: Pull Structured Product Data from Target.com at Scale

Target.com lists millions of products across thousands of categories, but getting that data into a usable format means sitting through pages of manual browsing or building brittle browser scripts that break every time the site updates. This actor solves that. Point it at any Target search URL or category browse page and it collects structured product records across all paginated results automatically, including prices, ratings, availability, brand, images, and more.

Works with keyword search pages, department category pages, filtered result pages, and subcategory browse pages. You can scrape a single URL or queue up a whole list in one run.

What data does this actor extract?

Each product record contains the following fields:

FieldTypeDescription
tcinstringTarget's unique internal product ID. Use this to track and deduplicate products.
productTitlestringFull product name as shown on the listing.
brandstringBrand or manufacturer name.
currentPricenumberCurrent selling price in USD, reflecting any active sale or promotion.
regularPricenumberStandard non-sale price in USD. Null when no comparison price is listed.
onSalebooleanTrue when the current price is lower than the regular price.
averageRatingnumberAverage customer rating on a 0 to 5 scale.
reviewCountintegerTotal number of customer reviews submitted for this product.
urlstringDirect link to the product page on Target.com.
imageUrlstringURL of the primary product image.
availableOnlinebooleanTrue when the product can be purchased online at the time of scraping.
upcstringUniversal Product Code (barcode). Null when not returned by Target.
currencystringCurrency code for price fields. Always USD.
highlightsarrayFeature bullet points from the product listing with HTML tags removed.
productDescriptionstringShort product description or introductory summary text.
specificationsstringFull specifications block as raw HTML. Null for products without a spec sheet.
shippingInfostringFree shipping threshold message, if available.
weightnumberPackage weight value.
weightUnitstringUnit of measure for weight (e.g. LB, OZ).
originstringCountry of origin.
colorstringColor variant of this specific item. Null for products without color variants.
sizestringSize variant of this specific item. Null for products without size options.
sizeUnitstringUnit of measure for the size field (e.g. FL OZ).
imagesarrayAll product image URLs: primary image first, then alternate angles.
nextPagestringURL to the next page of results. Null on the last page or when the item limit is reached.
scrapedAtstringISO 8601 timestamp of when this record was collected.

Supported URL types

URL patternWhat gets scraped
https://www.target.com/s?searchTerm=<keyword>Keyword search results with all matching products
https://www.target.com/c/<category-slug>/-/N-<id>Category browse page products
https://www.target.com/s?sortBy=relevance&category=<id>&searchTerm=<keyword>Filtered or sorted search results
https://www.target.com/c/<dept>/<subcat>/-/N-<id>Department or subcategory product listings

Use cases

  • Price monitoring: track price changes on specific product categories over time by scheduling the actor to run on a recurring basis
  • Competitive research: pull product catalogs from Target to compare against other retailers on pricing, availability, and assortment gaps
  • Inventory tracking: monitor which products are in stock or out of stock across any category or search result set
  • Product catalog building: collect structured product data including titles, brands, images, and prices for import into a database or spreadsheet
  • Retail analytics: aggregate search result data across multiple keyword queries to understand how Target ranks products and surfaces brands
  • Market research: extract product listings from department and subcategory pages to analyze pricing patterns, brand presence, and promotional activity

Input

ParameterTypeDefaultDescription
urlstring(required)A single Target.com search or category page URL.
urlsarray of strings(optional)List of Target.com URLs to scrape in one run. One URL per line.
maxItemsinteger100Maximum products to collect per URL. Set to 0 for no limit.
requestDelayMsinteger1000Milliseconds to wait between paginated page requests. Increase if you encounter rate limiting.
proxyConfigurationobjectDatacenter (US)Proxy type and location. Datacenter proxies with United States location are recommended.

Note: Either url or urls must be provided. If both are given, url is processed first.

{
"url": "https://www.target.com/s?searchTerm=baking+sheet",
"maxItems": 50,
"requestDelayMs": 1000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

Example input 2: category browse page

{
"url": "https://www.target.com/c/air-fryers-kitchen-appliances-dining/-/N-ncrpx",
"maxItems": 100,
"requestDelayMs": 1500,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

Example input 3: multiple URLs in one run

{
"urls": [
"https://www.target.com/s?searchTerm=green+sneakers",
"https://www.target.com/s?searchTerm=running+shoes",
"https://www.target.com/c/travelwear-commute-activewear-men-s-clothing/-/N-hyb5i"
],
"maxItems": 75,
"requestDelayMs": 1000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

Example input 4: filtered search with sorting

{
"url": "https://www.target.com/s?sortBy=relevance&Nao=0&category=5xu1w&searchTerm=green+sneakers",
"maxItems": 200,
"requestDelayMs": 2000,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

Example input 5: no proxy (local testing)

{
"url": "https://www.target.com/s?searchTerm=cast+iron+skillet",
"maxItems": 24
}

Output

Results are saved to the Apify dataset. Each record represents one product.

Below is a sample output record:

{
"tcin": "84695745",
"productTitle": "Nordic Ware Natural Aluminum Commercial Baker's Half Sheet",
"brand": "Nordic Ware",
"currentPrice": 14.99,
"regularPrice": 17.99,
"onSale": true,
"averageRating": 4.8,
"reviewCount": 3241,
"url": "https://www.target.com/p/nordic-ware-natural-aluminum-commercial-baker-s-half-sheet/-/A-84695745",
"imageUrl": "https://target.scene7.com/is/image/Target/GUEST_abc123",
"availableOnline": true,
"upc": "011172014890",
"currency": "USD",
"highlights": [
"Half sheet size, great for baking, roasting, and more",
"Made from pure aluminum for fast, even heat distribution",
"Rolled edges prevent warping",
"Dishwasher safe"
],
"productDescription": "The perfect baking sheet for everything from cookies to roasted vegetables.",
"specifications": null,
"shippingInfo": "Free shipping on orders over $35.00",
"weight": 1.2,
"weightUnit": "LB",
"origin": "USA",
"color": null,
"size": null,
"sizeUnit": null,
"images": [
"https://target.scene7.com/is/image/Target/GUEST_abc123",
"https://target.scene7.com/is/image/Target/GUEST_abc124"
],
"nextPage": null,
"scrapedAt": "2026-04-26T10:30:00.000000+00:00"
}

How it works

  1. Parse the input URL to extract the search keyword, category ID, and any filter parameters from the URL query string and path.
  2. Call the product search API with the extracted parameters, requesting 24 products per page.
  3. Extract product data from the JSON response, mapping each item to the output schema fields.
  4. Paginate automatically by incrementing the offset in 24-item steps, continuing until the maximum item count is reached or no more results are returned.
  5. Deduplicate by TCIN across all input URLs so the same product is never pushed twice in a single run.
  6. Throttle requests using the configured delay between pages to stay within rate limits.
  7. Push results to the Apify dataset as they are collected, so data is available before the run finishes.

Proxy and anti-blocking

Target.com responds well to Datacenter proxies routed through US IP addresses. The actor defaults to Apify's Datacenter proxy pool with United States location, which is both fast and reliable for this use case.

If you notice empty results or HTTP 403 responses, switch to Residential proxies in the proxy configuration. Residential proxies use IP addresses assigned to real internet service providers and are harder for rate-limiting systems to detect.

The actor also rotates the proxy URL on each input URL request, so long multi-URL runs do not hammer a single IP.

FAQ

Can this actor scrape individual product detail pages? No. This actor is designed for search results and category browse pages where multiple products appear in a list. It collects the data available on those listing pages, including prices, ratings, availability, and images. For full product detail pages with extended descriptions and specifications, you would need a separate product page scraper.

Why does regularPrice sometimes come back null? Target only shows a comparison price when a product is actively on sale. Products at their standard price do not have a reg_retail field in the response, so regularPrice will be null and onSale will be false.

How many products can I scrape per run? The maxItems field caps how many products are returned per URL. The default is 100. You can set it higher or to 0 for no limit. In practice, Target search result pages typically return between a few dozen and a few hundred products before results run out, depending on the search term.

What happens if a URL returns no results? The actor logs a warning and moves on to the next URL. No records are pushed for that URL, and the run does not fail. You can check the actor log for details on which URLs produced results.

Can I run this actor on a schedule? Yes. Use Apify's built-in scheduler to run the actor at regular intervals. This is useful for price monitoring tasks where you want to track how prices and availability change over time. Connect the output to Google Sheets or a webhook to get automatic updates whenever new data arrives.

Why are some fields like color and size null? Many products on Target are sold as single items without variant options. For those, Target does not return color or size attributes, so those fields are null. Products that come in multiple colors or sizes will have those fields populated.

Does the actor handle pagination automatically? Yes. The actor pages through results automatically using the offset parameter, collecting up to maxItems products per URL. Each page returns 24 products. The actor stops when it reaches the item limit, runs out of results, or cannot determine the total result count.

Integrations

Connect Target Product Search Scraper with other apps and services using Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use webhooks to trigger actions whenever new product data is ready.


Collecting Target product data at scale is straightforward with this actor. Whether you need a one-time category export or ongoing price monitoring across dozens of search queries, it handles pagination, deduplication, and structured output so you can focus on what to do with the data.