THE ICONIC Scraper at a glance
THE ICONIC Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes product id, sku, name, brand and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.40 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Other
- Region
- Oceania
- Pricing
- $2.40 per 1,000 results (Free plan), from $1.50 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 30 options
Scrape THE ICONIC (theiconic.com.au) fashion products: name, brand, price, sale price, sizes with stock and price per size, images, colour variants, category path, materials, care and customer reviews. Search by keyword, category or brand, or paste product, search and sale links.
What THE ICONIC Scraper can do
- Every size with its own stock and price. Each product carries parallel size lists (sizes, size_code, size_stock_status, size_price, size_sku) and a size_details array, so you can see exactly which sizes are in stock and what each one costs.
- Two ways in. Search by keyword, category page or brand page with sort, price, gender, size, colour and on-sale filters, or paste links and read exactly those pages.
- Rich product detail. Full image gallery, colour variants with their own prices, description, composition and fabric, care label, category path, breadcrumbs, supplier, dispatch time and sustainability notes.
- Sale and price clarity. price, special_price, final_price and markdown_price (the reduced price when on sale) with an is_on_sale flag and a price range across sizes, in the store currency.
- Customer reviews, ready to use. Turn on reviews to attach each product's reviews (stars, title, text, date, reviewer, recommendation, helpful votes, extra ratings and store replies) plus its rating average, review count and per-star counts. A dedicated Reviews view lists one row per review.
- Built for monitoring. Turn on Incremental mode to track the same search over time and get only new and changed products, with an optional price-and-availability-only scope and compact update rows.
Choose what to collect
These inputs let you configure THE ICONIC Scraper - Fashion Products, Sizes, Stock & Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search: build the lists to read from keywords, category pages and brand pages below. URL: paste product, search, category, brand and sale links, or the product sitemap, and read exactly those. |
searchTermsarray | Words to search for, for example t-shirt or running shoes. One search per entry. Search mode only. |
categoriesarray | Category pages by plain name, for example Women's dresses, Men's shoes or Beauty skincare. A category address such as womens-clothing-dresses or a pasted category link works too. One list per entry, read alongside the keywords. Search mode only. |
brandsarray | Brand pages by plain name, for example Nike, Country Road or AERE. A brand address such as aere or a pasted brand link works too. One list per entry, read alongside the keywords. Search mode only. |
sortBystring | Order of each list. Also fills the sort of pasted listing links that do not already carry one. |
minPriceinteger | Only keep products priced at or above this whole amount (in the store currency). Applied by the site's own price filter to searches and listings. Does not apply to a pasted product link. |
maxPriceinteger | Only keep products priced at or below this whole amount (in the store currency). Applied by the site's own price filter to searches and listings. Does not apply to a pasted product link. |
Show 23 more inputs
| Input | What it controls |
|---|---|
genderstring | Optionally narrow listings to one gender. Leave empty for all. |
sizestring | Optionally narrow listings to one size, for example M or 10 (written for you as AU M or AU 10), or exactly as the site writes it, for example AU 10 or One Size. |
colourstring | Optionally narrow listings to one colour as the site writes it, for example black. |
onSaleOnlyboolean | Only keep products that are currently reduced. Applies to searches and listings. |
urlsarray | Paste links from theiconic.com.au (or theiconic.co.nz): product pages, search results, category pages, brand pages, the sale and new arrivals pages, or the product sitemap index. Filters you ticked on the site and carried in the link (price, gender, size, sort, sale) are applied, and a link that starts at a later page continues from that page. Search filters set above only fill in what a link does not already say. Links the actor does not recognise are skipped with a warning in the log. URL mode only. |
fetchDetailsboolean | On: open every product page to add all sizes with stock and price, every image, colour variants, description, materials, care, category path and more. Off: return only what the list shows (name, brand, price, image, colour message, wishlist count), which is much lighter. |
fetchReviewsboolean | Attach each returned product's customer reviews to its row as a nested list, with the rating average, review count, per-star counts and recommended count. Works with or without full product details. Charged once per product row that has at least one review, never for products without reviews, for unchanged rows left out in incremental mode, or when switched off. |
maxReviewsinteger | How many reviews to attach to each product, newest first, when Fetch customer reviews is on. Use 0 to skip reviews entirely (no review reads, no rating summary, no review charge). Up to 100 reviews are read per request, so higher values read more pages per product. |
maxPagesinteger | Optional limit on result pages read per list (60 products per page). Leave empty or 0 for no page limit. This does not cap the run: it defers to Max items, which is the only default cap (20). |
maxItemsinteger | Total products to scan across all searches and links. 0 = unlimited, up to the built-in traffic limit (roughly 5,500 detailed products per run). With several searches or links the budget is shared fairly between them. In incremental mode this counts products scanned, not only changed rows returned. |
resumeFromRunIdstring | Optional. Id of an earlier run of this Actor (or a dataset id). Products already in that dataset are skipped, so this run returns only new products. For recurring monitoring of the same setup use Incremental mode below instead. |
incrementalModeboolean | Turn on for daily or scheduled monitoring. The first run returns every matching product as NEW. Later runs compare each product with the last run (price, special price, final price, on-sale flag, availability and per-size stock and price, plus name, brand, colour, description, materials, category and sizes) and return only NEW, UPDATED and REAPPEARED products; an UPDATED row's changedFields names what moved. Images, the wishlist count, listing position, keyword and scrape time are never compared. Turn on Emit unchanged or Emit expired only when you also want those rows (they are billed). State is kept per search, link and filter setup; use State key to name or share a campaign. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to share state across differently configured runs. Leave empty to derive a key from the search, links and filters so different setups never mix. |
baselineDatasetIdstring | Optional. Pick the dataset of an earlier full run of this Actor as the starting point so your first incremental run returns only products that changed since then. Pick it unedited. Used only on the first run for a state key; cannot be combined with Resume. |
emitUnchangedboolean | Off by default. Also return products that did not change, marked UNCHANGED. This returns and bills rows you already have. |
emitExpiredboolean | Off by default. Also return products that were present before but are no longer found in the list, marked EXPIRED. Only after a complete scan (not when Max items or Max pages capped it, a link started after page 1, or product links or the sitemap were used). A product leaving a list is not proof it is unavailable; use the stock fields for availability. |
changeScopestring | All fields (default): any change to the product record other than the always-ignored fields returns an UPDATED row. Price and availability only: only price, special price, final price, on-sale flag, overall availability and each size's price and stock return UPDATED; descriptions, images, materials and other details never do. Switching this on an existing campaign continues from its saved baseline. |
compactUpdatesboolean | Off by default. UPDATED and EXPIRED rows become short: ids, link, name, current price and stock, plus priceChanges and variantChanges with the old and new value of each moved price or stock field per size. NEW rows always carry the full record. Extra detail fees are not charged for compact rows. |
expireAfterMissedScansinteger | Only used with Emit expired. A product is marked EXPIRED only after it was missing from this many complete scans in a row (default 1). Raise it (for example 3) so a product that briefly drops out of a list is not reported. A product that comes back resets the count. |
ignoreFieldsForChangesarray | Optional. Field names to leave out of UPDATED detection, in addition to the built-in handling (images, wishlist count, position, keyword, scrape time and the review fields never count). To ignore a field inside each size while still tracking size price and stock, use a dotted name such as size_details.dispatch_time. Ignoring size_details itself would hide size price and stock changes. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify then Settings then API & Integrations, then select it here. Notion gets a page-per-item export; other connectors get a best-effort write. Leave empty to skip. Supported: Notion, Linear, Airtable, Apify. |
notionParentPageUrlstring | URL or id of the Notion page under which item pages are created. Required only for the Notion export. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
product_idProduct ID (text)skuSKU (text)nameName (text)brandBrand (text)urlURL (link)pricePrice (number)special_priceSpecial price (number)final_priceFinal price (number)markdown_priceMarkdown price (number)currencyCurrency (text)is_on_saleOn sale (boolean)price_rangePrice range (object)Show 68 more fields
imageImage (image)imagesImages (array)thumbnailsThumbnails (array)color_nameColour (text)color_hexColour hex (text)variants_countColour variants (number)variants_detailsColour variants detail (array)variants_messageVariants message (text)sizesSizes (array)size_universalUniversal sizes (array)size_codeSize codes (array)size_stock_statusSize stock status (array)size_priceSize prices (array)size_skuSize SKUs (array)size_detailsSize details (array)dispatch_timeDispatch time (text)supplierSupplier (text)genderGender (text)departmentDepartment (text)categoryCategory (text)subcategorySubcategory (text)category_pathCategory path (text)breadcrumbsBreadcrumbs (array)descriptionDescription (text)composition_materialComposition (text)fabric_materialFabric (text)measurementsMeasurements (text)care_labelCare (text)size_fitSize and fit (text)sizeguide_urlSize guide (link)availabilityAvailability (text)has_stockIn stock (boolean)returnableReturnable (boolean)shipment_typeShipment type (text)brand_typeBrand type (text)sustainabilitySustainability (object)activated_atActivated at (text)wishlist_count_textWishlist count (text)is_sponsoredSponsored (boolean)reviews_ratingRating (0-5) (number)reviews_countReview count (number)reviews_recommended_countRecommended count (number)rating_distributionRating distribution (array)reviewsReviews (array)total_items_foundTotal found (number)positionPosition (number)keywordKeyword (text)scraped_atScraped at (date)changeTypeChange type (incremental mode) (text)changedFieldsChanged fields (incremental mode) (array)firstSeenAtFirst seen (incremental mode) (date)lastSeenAtLast seen (incremental mode) (date)previousPricePrevious price (number)priceChangesPrice changes (object)variantChangesSize changes (array)review_idReview ID (text)review_titleTitle (text)review_textReview (text)review_ratingStars (number)review_dateDate (datetime)reviewer_nameReviewer (text)review_recommendedRecommends (boolean)review_helpful_votesHelpful votes (number)review_unhelpful_votesNot helpful votes (number)review_secondary_ratingsExtra ratings (object)review_responsesStore replies (array)review_localeLocale (text)review_syndicatedFrom another store (boolean)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"product_id": "0000000",
"sku": "AB000AA00CD",
"name": "Sample Boxy Tee",
"brand": "Sample Label",
"url": "https://www.theiconic.com.au/sample-boxy-tee-0000000.html",
"price": 60,
"special_price": 45,
"final_price": 45,
"markdown_price": 45,
"currency": "AUD",
"is_on_sale": true,
"price_range": {
"min_price": 60,
"max_price": 60,
"min_final_price": 45,
"max_final_price": 45
},
"image": "https://img1.theiconic.com.au/sample-image-1.jpg",
"images": [
"https://img1.theiconic.com.au/sample-image-1.jpg",
"https://img1.theiconic.com.au/sample-image-2.jpg"
],
"color_name": "Black",
"color_hex": "#000000",
"variants_count": 2,
"variants_message": "More colours available",
"sizes": [
"AU 6",
"AU 8"
],
"size_code": [
"6",
"8"
],
"size_stock_status": [
"in-stock",
"out-of-stock"
],
"size_price": [
45,
45
],
"size_sku": [
"AB000AA00CD-0000001",
"AB000AA00CD-0000002"
],
"dispatch_time": "1-2 Working Days",
"supplier": "Sample Supplier Pty Ltd",
"gender": "female",
"department": "Clothing",
"category": "T-Shirts & Singlets",
"subcategory": "Basic T-Shirts",
"category_path": "Clothing/Tops/Tees",
"breadcrumbs": [
{
"name": "Women",
"url": "https://www.theiconic.com.au/women/"
}
],
"description": "A relaxed boxy tee in soft organic cotton.",
"composition_material": "Main: 100% Cotton",
"fabric_material": "Cotton",
"measurements": "Length: 57cm",
"care_label": "Cold gentle machine wash.",
"availability": "LimitedAvailability",
"has_stock": true,
"returnable": true,
"shipment_type": "WH",
"brand_type": "Private Label",
"activated_at": "2026-01-01 00:00:00",
"reviews_rating": 4.7,
"reviews_count": 120,
"reviews_recommended_count": 110,
"rating_distribution": [
{
"stars": 5,
"count": 90
},
{
"stars": 4,
"count": 20
}
],
"reviews": [
{
"review_id": "0000001",
"review_title": "Great fit",
"review_text": "Soft fabric and true to size.",
"review_rating": 5,
"review_date": "2026-01-01T00:00:00.000+00:00",
"reviewer_name": "Sample",
"review_recommended": true,
"review_helpful_votes": 2,
"review_unhelpful_votes": 0,
"review_secondary_ratings": {
"Quality": 5,
"Value": 5
},
"review_responses": [],
"review_locale": "en_AU",
"review_syndicated": false
}
],
"total_items_found": 1000,
"position": 1,
"keyword": "t-shirt",
"scraped_at": "2026-01-01T00:00:00Z"
}Ways to use this data
- Price and markdown tracking: watch final_price, special_price and is_on_sale across brands and categories to catch new reductions first.
- Stock monitoring: follow per-size stock status to spot sell-outs and restocks for the sizes you care about.
- Brand and range research: build category-level datasets of assortment, colours, materials and pricing for a brand.
- Catalogue enrichment: pull images, descriptions, composition and care text for fashion product databases.
- Review and sentiment analysis: pull reviews with their star ratings for brands and categories to compare quality, fit and value.
- Deal alert tools: feed an app or bot with newly discounted products using Incremental mode.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does THE ICONIC Scraper return?
The documented output for THE ICONIC Scraper includes product id, sku, name, brand, url, price, special price and final price. Availability of each field depends on the source page and the selected mode.
How much does THE ICONIC Scraper cost?
It costs $2.40 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed products on a schedule?
Yes. Schedule the actor from the Schedules tab with the same search or links and turn on Incremental mode. Each run then returns only new and updated products by default, and unchanged ones are not billed.
What is the difference between Resume and Incremental mode?
Resume continues one specific earlier run so it is not re-collected or re-charged. Incremental mode is for running the same search again and again on a schedule and wanting only what changed; it remembers its own state, so you never paste a run id.
Why do sponsored products appear in my results?
Some lists show sponsored placements. They are real products, so they are returned and marked with is_sponsored: true when the product was found through a list.
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 results into Notion, Linear or Airtable.
