Target AU Scraper – Products, Prices & Reviews avatar

Target AU Scraper – Products, Prices & Reviews

Pricing

from $1.00 / 1,000 product results

Go to Apify Store
Target AU Scraper – Products, Prices & Reviews

Target AU Scraper – Products, Prices & Reviews

Scrape products and customer reviews from Target.com.au. Search by keyword or use product/category URLs with sorting and filters. Returns name, brand, price, OnePass price, ratings, review text and stats, colours, sizes, images, category, stock, and variations.

Pricing

from $1.00 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Target Australia Scraper: Products, Prices & Reviews

Target Australia Scraper turns target.com.au into a clean product data API. Search by keyword or paste product, category and search links, and get back one flat record per product with current price, was/original price, savings amount and percent, stock, colour and size variants, images, category breadcrumbs, and, when you switch it on, the full rating breakdown and individual customer reviews. Filter to On sale, Clearance or New arrivals, sort by price or rating, then export to JSON, CSV or Excel, or read the results straight through the API.

Why This Scraper?

  • Two ways in. Search by keyword, or paste a mix of product, category and search URLs from target.com.au in one run.
  • One flat record, every mode. A pasted product link is resolved through the same product backend as a search result, so it carries the exact same fields, not a stripped-down detail shape.
  • Real discounts, never invented. Was-price, savings amount and percent, and the on-special flag are only set when the site itself publishes a genuine strike-through reduction or a clearance classification.
  • Specials and offers built in. Scope a search or pasted category/search URL to On sale, Clearance or New arrivals, store-wide or combined with a keyword.
  • Ratings and reviews on demand. Switch on detail enrichment to attach the full rating distribution and individual, per-review text to every product, and pay only for the products you enrich.
  • Filters and sorting that actually apply. Brand, colour and a price range work the same way in search mode and a pasted category or search URL; a pasted single product URL only respects the price range. Sort by relevance, latest, rating or price.
  • Resume a big crawl. Point a new run at a previous run or dataset ID and it returns only the products it hasn't collected yet, so topping up a full-catalogue pull never re-pays for duplicates.

Use Cases

  • Price and discount tracking: monitor the was/current price, savings and on-special status of a product line over time.
  • Specials and clearance monitoring: pull On sale, Clearance or New arrivals collections on a schedule to catch new markdowns first.
  • Catalogue and assortment research: walk a category or a keyword across the whole result set to map brands, price bands and stock levels.
  • Voice-of-customer analysis: collect ratings, review text and sub-ratings for a product range to spot recurring praise or complaints.
  • Competitive benchmarking: compare price, promo status and review scores for the same products against other retailers you scrape separately.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
id"W1234567890"
name / title"Sample Linen Shirt" / "Sample Brand Sample Linen Shirt"
url"https://www.target.com.au/p/sample-linen-shirt/12345678"
brand"Sample Brand"
price45.0
wasPrice60.0 (null when the product isn't reduced)
savingsAmount / savingsPercent15.0 / 25 (both null when there's no genuine reduction)
isOnSpecial / promoLabeltrue / null (promoLabel is "Clearance" on a clearance line, otherwise null)
onePassPricenull (set only when the site publishes a OnePass member price)
currency"AUD"
onSale / clearancetrue / false
description"A lightweight, breathable everyday shirt."
features["Regular fit", "Button-through front", "Curved hemline"]
careInstructions["Warm delicate machine wash", "Do not bleach"]
category / breadcrumbs"Clothing & Accessories > Clothing > Shirts & Tops" / ["Clothing & Accessories", "Clothing", "Shirts & Tops"]
topLevelCategory"Women"
availability / inStock"NORMAL" / true
colour"White"
image / imagesfirst image URL / full image URL array
variantCount / variations1 / [{ "colour": "White", "price": 45.0, "wasPrice": 60.0, "inStock": true }]
averageRating / reviewCount4.8 / 18
reviewsarray of { rating, title, body, author, date, verifiedPurchase, helpfulCount, subRatings } (present only when reviews were collected)
onlineDate"2026-05-24"

Every record also carries baseUrl, merchDepartmentCode, productType, groupIds, colourVariantCode, sizeVariantCode, availableOnlineQty, availableStoreQty, and boolean flags for bulkyProduct, targetExclusive, onlineExclusive, onePassExclusive and advFreeDeliveryEligible. When detail enrichment collects reviews, each product also gets reviewStats (the full aggregate: total reviews, recommended/not-recommended counts, helpful-vote count, first/last review dates, sub-rating averages) and ratingDistribution, recommendedCount and reviewsCollected. Products with no reviews simply leave the rating and review fields empty; they are never faked.

How to Use

  1. Pick a mode: search (keywords) or url (paste product, category or search links).
  2. Fill in the fields for that mode, add any filters (brand, colour, price range, specials collection) and a sort order.
  3. Turn on Fetch ratings and reviews if you want review text and rating breakdowns, and set Max products to control run size and cost.
  4. Click Start, then download the dataset as JSON, CSV or Excel, or read it through the API.

Search with filters, sorted by price:

{
"mode": "search",
"searchTerms": ["linen shirt"],
"brand": "Target Woman",
"colour": "White",
"minPrice": 20,
"maxPrice": 60,
"sortBy": "price-asc",
"maxItems": 30,
"fetchReviews": false
}

Store-wide clearance, no keyword:

{
"mode": "search",
"specialsCategory": "clearance",
"maxItems": 50,
"fetchReviews": false
}

Paste links and attach reviews:

{
"mode": "url",
"urls": [
"https://www.target.com.au/p/sample-ceramic-mug/98765432",
"https://www.target.com.au/c/kitchen-dining/mugs/W2000000"
],
"fetchReviews": true,
"maxReviews": 20,
"maxItems": 40
}

Whole catalogue for a keyword, no caps:

{
"mode": "search",
"searchTerms": ["kids toys"],
"maxItems": 0,
"maxPages": 0,
"fetchReviews": false
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/target-au-scraper").call(run_input={"mode": "search", "searchTerms": ["shirt"], "maxItems": 20})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["name"], product["price"], product["isOnSpecial"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/target-au-scraper').call({ mode: 'search', searchTerms: ['shirt'], maxItems: 20 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

Caps and full-catalogue runs

Max products (maxItems) stops the whole run once that many products are pushed; 0 means unlimited. With more than one search term or pasted URL, that cap is split evenly across them, so a run doesn't exhaust the budget on the first term alone. Max pages per search (maxPages) is a safety cap on pages walked per term or category; leave it at 0 to walk every page, since the walk already stops on its own once the storefront's own result total is reached or a page repeats.

Resuming a large run

Pass a previous run's ID (or its dataset ID) as Resume from a previous run. The actor reads every product ID already in that dataset, skips them, and this run then returns only the products it hasn't collected before, a delta you can append to the earlier dataset. This is separate from the automatic checkpoint the actor keeps for its own migrations and Resurrects: if a run is interrupted by the platform, resuming it automatically continues from the exact page it left off, without needing resumeFromRunId.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each product, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify then Settings then API & Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (keywords) or url (paste product, category, or search URLs).
searchTermsarrayno default (prefill: ["shirt"])Keywords to search (search mode).
urlsarrayno default (prefill: ["https://www.target.com.au/search?text=shirt"])Product, category or search URLs to walk (URL mode).
sortBystringrelevancerelevance, newest, rating, price-asc, price-desc, or brand.
specialsCategorystring"" (no promo filter)Limit to a promotional collection: on-sale, clearance, or new-arrivals.
brandstringno defaultFilter to one exact brand facet value.
colourstringno defaultFilter to one exact colour facet value.
minPriceintegerno defaultOnly keep products at or above this price.
maxPriceintegerno defaultOnly keep products at or below this price.
fetchReviewsbooleantrueAttach ratings, review stats and individual reviews to each product (detail enrichment).
maxReviewsinteger20Cap on reviews captured per product. 0 disables reviews.
maxItemsinteger20Total products to return across all searches or URLs. 0 = unlimited.
maxPagesinteger0Safety cap on pages walked per search term or category. 0 = walk every page.
resumeFromRunIdstringno defaultID of a previous run (or dataset) of this actor; already-collected products are skipped.
proxyobject{"useApifyProxy": true}Apify Proxy configuration.
mcpConnectorsarrayno defaultOptional: send a summary of each product to apps you authorized under Integrations.
notionParentPageUrlstringno defaultNotion connector only: page under which product pages are created.
maxNotifyListingsinteger50Cap on items written to each connector per run.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"kind": "product",
"id": "W1234567890",
"name": "Sample Linen Long Sleeve Shirt",
"title": "Sample Brand Sample Linen Long Sleeve Shirt",
"url": "https://www.target.com.au/p/sample-linen-long-sleeve-shirt/12345678",
"baseUrl": "https://www.target.com.au/p/sample-linen-long-sleeve-shirt/12345678",
"brand": "Sample Brand",
"price": 45.0,
"wasPrice": 60.0,
"onePassPrice": null,
"currency": "AUD",
"onSale": true,
"isOnSpecial": true,
"savingsAmount": 15.0,
"savingsPercent": 25,
"promoLabel": null,
"onlineOnlyPrice": false,
"clearance": false,
"description": "A lightweight, breathable everyday shirt.",
"features": ["Regular fit", "Button-through front", "Curved hemline"],
"careInstructions": ["Warm delicate machine wash", "Do not bleach"],
"category": "Clothing & Accessories > Clothing > Shirts & Tops",
"breadcrumbs": ["Clothing & Accessories", "Clothing", "Shirts & Tops"],
"topLevelCategory": "Women",
"merchDepartmentCode": "WMN01",
"productType": "SHIRT",
"availability": "NORMAL",
"groupIds": ["W951361"],
"colour": "White",
"colourVariantCode": "WHT",
"sizeVariantCode": "M",
"inStock": true,
"availableOnlineQty": 25,
"availableStoreQty": null,
"bulkyProduct": false,
"targetExclusive": true,
"onlineExclusive": false,
"newArrival": false,
"onePassExclusive": false,
"advFreeDeliveryEligible": true,
"onlineDate": "2026-05-24",
"image": "https://assets.target.com.au/transform/00000000-0000-0000-0000-000000000000/sample_1",
"images": [
"https://assets.target.com.au/transform/00000000-0000-0000-0000-000000000000/sample_1",
"https://assets.target.com.au/transform/11111111-1111-1111-1111-111111111111/sample_2"
],
"variations": [
{ "variationId": "V1", "colour": "White", "colourVariantCode": "WHT", "sizeVariantCode": "M", "price": 45.0, "wasPrice": 60.0, "savingsAmount": 15.0, "savingsPercent": 25, "inStock": true, "url": "https://www.target.com.au/p/sample-linen-long-sleeve-shirt/12345678", "image": "https://assets.target.com.au/transform/00000000-0000-0000-0000-000000000000/sample_1" }
],
"variantCount": 1,
"searchMode": "search",
"averageRating": 4.8,
"reviewCount": 18,
"ratingDistribution": { "5": 15, "4": 3 },
"recommendedCount": 17,
"reviewsCollected": 1,
"reviewStats": {
"totalReviews": 18,
"averageRating": 4.8,
"ratingDistribution": { "5": 15, "4": 3 },
"recommendedCount": 17,
"notRecommendedCount": 1,
"helpfulVoteCount": 9,
"firstReviewDate": "2025-11-02T08:00:00.000+00:00",
"lastReviewDate": "2026-03-19T12:18:09.000+00:00",
"subRatings": { "Quality": 4.6, "Value For Money": 4.5 }
},
"reviews": [
{
"id": "100000001",
"rating": 5,
"title": "Great everyday shirt",
"body": "Comfortable and true to size.",
"author": "Sample Reviewer",
"location": "Victoria",
"date": "2026-03-19T12:18:09.000+00:00",
"verifiedPurchase": true,
"isRecommended": true,
"isRatingsOnly": false,
"helpfulCount": 3,
"notHelpfulCount": 0,
"isSyndicated": false,
"syndicatedFrom": null,
"pros": null,
"cons": null,
"subRatings": { "Quality": 5, "Value For Money": 5 }
}
]
}

Plan Requirement

The default automatic proxy pool works out of the box for target.com.au. Since Target serves the Australian market, a residential proxy group is used automatically as a reliability fallback if the automatic pool is refused; you can also select it directly under Connection for heavier runs. You are charged per product returned, plus a smaller charge for each product where detail enrichment (ratings and reviews) actually ran. The Pricing tab shows the current rates for both.

FAQ

How much does it cost?

You pay per product returned to the dataset, plus a separate, smaller charge for each product where detail enrichment ran (Fetch ratings and reviews on and Max reviews above 0), whether or not that product turned out to have any reviews. The Pricing tab shows the current rates. Use Max products to cap the cost of any run.

This actor collects only publicly available product data. You are responsible for how you use it: follow target.com.au's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Product facts like price and stock are generally not protected, but images, descriptions and review text may be subject to third-party rights.

Does turning on reviews always add a charge?

No. Ratings and reviews are only fetched, and only billed, when Fetch ratings and reviews is on and Max reviews per product is above 0. This applies the same way to every mode, including a single pasted product URL: turn the toggle off (or set Max reviews to 0) and no review fetch happens and no enrichment charge is added for that run.

Why did my pasted product URL return nothing?

A single product URL resolves to exactly one record. If a price range (Min price / Max price) is set and that product's price falls outside it, that one product is dropped, so the run legitimately returns zero items. Clear or widen the price range to confirm.

Can I top up a large crawl without paying twice?

Yes. Pass a previous run's ID (or its dataset ID) as Resume from a previous run; the actor skips every product already in that dataset and returns only the new ones. Combine both datasets for the full set.

Why did my run fail instead of returning an empty dataset?

If a result-page fetch is rejected and zero products were collected, the run stops with a clear error message so "no results for these terms" is never confused with "the connection never worked". Resurrect the failed run from the Console in a few minutes; it resumes from the exact page that was rejected, unlike a brand-new run, which starts from the beginning. If some products were already collected before a mid-run rejection, you still get those, with a status message noting the run was only partial.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push product summaries into Notion, Linear or Airtable.

🔗 Want more e-commerce data?

Pair this actor with these related scrapers from the same team:

🛒 Kmart Scraper
Scrape products and customer reviews from Kmart.com.au. Search by keyword or use...
🛒 Harvey Norman Scraper
Scrape Harvey Norman Australia products: name, brand, price, was-price / discount...
🛒 Chemist Warehouse AU
Scrape chemistwarehouse.com.au products with prices, RRP, discounts, stock, images...
🛒 Costco AU Scraper
Scrape Costco.com.au products with full details and customer reviews. Search by keyword...
🛒 Amazon Australia Product & Reviews Scraper
Scrape Amazon Australia (amazon.com.au) products and customer reviews. Search by keyword...
🛒 BIG W Marketplace Scraper
Scrape BIG W Marketplace seller listings from bigw.com.au: name, brand, price, was-price...

👉 Browse all abotapi scrapers

💬 Support & custom scrapers

  • 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • 🛠️ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
  • ⭐ Enjoying it? A quick review on the actor page helps other users find it.