Dunnes Stores Scraper — Fashion & Home Prices, Sizes, EANs avatar

Dunnes Stores Scraper — Fashion & Home Prices, Sizes, EANs

Pricing

from $1.00 / 1,000 products

Go to Apify Store
Dunnes Stores Scraper — Fashion & Home Prices, Sizes, EANs

Dunnes Stores Scraper — Fashion & Home Prices, Sizes, EANs

Scrape Dunnes Stores Ireland fashion and home: EUR prices, sale prices, every size with EAN and availability, categories, care and fit. Not groceries. Pay per result.

Pricing

from $1.00 / 1,000 products

Rating

0.0

(0)

Developer

architek.earth

architek.earth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Recorded 18 Oct 2026 from Apify datacenter IPs, no proxy: dunnesstores.com lists 4,980 fashion and home products. A "jeans" search listed 59 products and Home › Bedroom listed 219. Every row came with EUR prices, every size and colour with its EAN barcode and availability, and the full category path. A 15-request burst was never blocked.

From Architekture, makers of the ALDI Ireland, Tesco UK, Shopify and AliExpress scrapers.

Search dunnesstores.com by keyword, browse a department or category, or look up product URLs. You get one clean JSON row per product, with every size and colour nested inside: name, brand, style code, price range, sale prices, availability per size, EAN per size, category path, gender and age group, image and URL. Turn on details to add the description, details and care (composition and washing), size and fit (measurements), country of origin, and every image.

Fashion & home only, not groceries. Dunnes sells groceries on a separate site, which this actor does not cover. It covers dunnesstores.com: Women, Men, Kids, Home, Seasonal and School.

🤖 Built for AI workflows. Every row is deterministic, schema-stable JSON — feed it straight to LLM apps, RAG pipelines, or agent tool calls via the Apify API, the Apify MCP server (mcp.apify.com), or AI coding agents like Claude Code and Cursor.

🏪 Retailer📍 Market💰 From🔑 Standout fields
Dunnes StoresIreland 🇮🇪$1.00 / 1,000 productsAll sizes & colours in one row, details & care

🚀 Why choose this actor

  • 🔬 One row per product, all sizes inside. You pay per product, not per size: a pair of jeans in 18 sizes is one product row with variants[18].
  • 🔬 EAN barcode on every size. Use it to match Dunnes products against other retailers, or against your own catalogue.
  • 💸 Sale detection per size. Dunnes discounts individual sizes or colours (e.g. a duvet cover, ivory double, at €5, was €25). Each discounted variant carries wasPrice. The product's price, maxPrice and onSale are worked out from the sizes in stock, so a sold-out €5 size never shows as "from €5".
  • 💸 Detail tier you only pay for when it's there. With includeDetails, a row is charged as product-detail only when Dunnes published a description, care, fit or origin for it. Extra images alone don't trigger the detail price.
  • 🆓 Never pay for misses. An unknown category, a missing product or a blocked request gets one free status row.

⚠️ Worth knowing up front

  • 📊 No stock counts. Dunnes' API publishes a capped stock indicator, not a quantity. You get available: true/false per size, and we never estimate a count.
  • 🔎 Up to 2,500 products per search term or category. That's the limit of Dunnes' API. A department bigger than that is reachable by listing its sub-categories, and RUN_SUMMARY warns when a query hits the limit.
  • 💸 Prices are the online prices shown on dunnesstores.com, in EUR. Store-only promotions are not included.
  • 🗂️ No reviews. Dunnes does not publish them in its catalogue.

⚡ Try the example

{
"searchTerms": ["jeans"],
"maxItemsPerQuery": 50
}

Add "includeDetails": true for composition, care and size-fit, or "categories": ["home/bedroom"] for a whole category.

⚙️ Input parameters

ParameterTypeDefaultDescription
searchTermsarray—Keywords, e.g. jeans, duvet cover. Up to 50 terms + categories.
categoriesarray—Name (Home, Duvet Covers), path (women/clothing/jeans) or dunnesstores.com category URL. An ambiguous name like Clothing (Women and Men both have one) needs the path.
productUrlsarray—dunnesstores.com product URLs (…/savida-stripe-jeans-7951169/p) or product ids (36256). Up to 500.
maxItemsPerQueryinteger100Cap per search term or category. 0 = everything (up to 2,500).
includeDetailsbooleanfalseAdds the detail tier (see below). Needs no extra requests, so it doesn't slow the run.
sortselectrelevancerelevance, price_asc, price_desc, newest, best_selling, name_asc, name_desc.
proxyConfigurationproxyApify datacenterBlocked or rate-limited requests are retried on a fresh IP.
feedbackstring—A note to the maintainers. Read by a human.

Results are de-duplicated by product across every term, category and URL in a run, so a product found twice is delivered and charged once. Product URLs are fetched first.

🧱 Stable fields for automations

Product rows have recordType: "product"; status rows have recordType: "query". Fields are omitted, never null, when Dunnes does not publish them. New fields are only ever added.

FieldMeaning
recordType, retailerproduct; "Dunnes Stores".
productId, styleCodeDunnes product id and style code (the number in the product URL).
name, brande.g. "Savida Stripe Jeans", "Savida". Brands seen include Savida, Gallery and Dunnes Stores.
department, category, categoryPath"Women", "Jeans", "Women > Clothing > Jeans".
price, maxPrice, currencyLowest and highest price among in-stock sizes (all sizes if none is in stock), "EUR".
onSale, availableAn in-stock size is discounted (any size if none is in stock); any size in stock.
colours, gender, ageGroupAs tagged by Dunnes.
variantCount, variants[]Each variant: sku, ean, size, colour, price, wasPrice (only when discounted), available.
image, url, releaseDateMain image, product page, date Dunnes listed it.
source{source: "search" | "category" | "product", searchTerm?, category?, categoryUrl?, page?}.
Detail tier: description, detailsAndCare, sizeFit, countryOfOrigin, imagesWith includeDetails, where published. detailsAndCare and sizeFit are plain text with one item per line.
Status rows: query, status, reasonNOT_FOUND, BLOCKED or ERROR, and why.

📦 Output example

Recorded 18 Oct 2026; variants abridged.

{
"recordType": "product",
"retailer": "Dunnes Stores",
"productId": "36256",
"styleCode": "7951169",
"name": "Savida Stripe Jeans",
"brand": "Savida",
"department": "Women",
"category": "Jeans",
"categoryPath": "Women > Clothing > Jeans",
"price": 50.0,
"currency": "EUR",
"onSale": false,
"available": true,
"colours": ["Print"],
"gender": "female",
"ageGroup": "adult",
"variantCount": 7,
"variants": [
{ "sku": "265134", "ean": "5099013076909", "size": "10", "colour": "Stripe", "price": 50.0, "available": true },
{ "sku": "265137", "ean": "5099013076985", "size": "16", "colour": "Stripe", "price": 50.0, "available": false }
],
"url": "https://www.dunnesstores.com/savida-stripe-jeans-7951169/p",
"source": { "source": "search", "searchTerm": "jeans", "page": 1 }
}

With details on, a bedding row also carries text like "detailsAndCare": "Details:\n100% polyester\nCare:\nWash at 40 degrees\n…", "sizeFit": "Single: 90 x 190cm + 28cm\n…" and "countryOfOrigin": "CN".

🧠 Advanced usage

  • 💸 Competitor price and markdown tracking: schedule the same categories daily. Join on variants[].sku and watch price / wasPrice.
  • 🔬 Catalogue matching: join variants[].ean against your own range or another retailer's.
  • 📈 New-in monitoring: sort: "newest" with a small maxItemsPerQuery, filtered by releaseDate.
  • 💸 Whole catalogue: list the sub-categories of each department in categories. The run is de-duplicated, so overlapping categories are not charged twice.
  • 💸 Completion check: read RUN_SUMMARY, which has status (COMPLETE, PARTIAL, NO_PRODUCTS, BUDGET_LIMIT, TIME_LIMIT, STATE_SAVE_FAILED, INVALID_INPUT, NOT_CONFIGURED), products, charged, and queries[] (each with status, delivered, listed, warning).

🔌 Integrations

Export as JSON, CSV or Excel; push to Google Sheets; trigger from Make, Zapier or n8n; get a webhook when a run finishes; schedule with the Apify Scheduler.

💸 How much does it cost?

1,000 products ≈ $1.00 (all sizes and colours in one row); with the detail tier $4.00 / 1,000. Platform usage is included.

💰 Pricing

EventPriceCovers
product$1.00 / 1,000One product row, all sizes and colours included
product-detail$4.00 / 1,000One product row with the detail tier (includeDetails) and at least one of description, details & care, size & fit, or country of origin

Platform usage is included. Status rows are free, and nothing is charged for failed requests. A run stops cleanly at your spending limit, with charges equal to rows delivered.

❓ FAQ

Does it cover Dunnes groceries? No. Groceries are on Dunnes' separate grocery site; this actor covers dunnesstores.com (fashion, home, kids, seasonal, school).

Can I get exact stock levels? No. Dunnes publishes availability per size, not quantities.

Why did a category name come back NOT_FOUND? Some names exist in several departments (e.g. Clothing). Use the path from the category URL, e.g. women/clothing.

🤖 For AI agents & LLM apps

architekture/dunnes-ie-scraper returns Dunnes Stores (Ireland) fashion and home products as deterministic, schema-stable JSON, one object per product. Each object has name, brand, EUR price range and sale flags, and every size and colour with SKU, EAN and availability; detail text is optional. Invoke it from any agentic workflow via the Apify API or the Apify MCP server (mcp.apify.com) as a tool call. Its cost is bounded before it starts: $1 per 1,000 products, or $4 per 1,000 with the detail tier. maxItemsPerQuery caps each query, and a spending limit stops the run cleanly. Every query gets a machine-readable status in RUN_SUMMARY, and misses come back as free recordType: "query" rows. Honest limits: dunnesstores.com only (no groceries), no stock counts, up to 2,500 products per query.

Works out of the box with LangChain, LlamaIndex and AI coding agents — call it as a tool from Claude Code, Cursor, or any MCP client via mcp.apify.com.

🧰 More Architekture scrapers

🙋 Support

Open an Issue on this actor's page; a human replies within a day.

This actor reads publicly available product data from dunnesstores.com's public catalogue API, without logging in. You are responsible for how you use the data, including Dunnes Stores' terms, intellectual property in product content and images, and data-protection law where it applies. Not affiliated with Dunnes Stores.

📝 Changelog

  • 🔎 2026-10-18: 1.0. Search, category and product-URL modes; one row per product with sizes and colours nested; EAN per variant; per-size sale detection; detail tier charged only when published; free status rows; clean stops at spending limit and timeout; resumable after platform migration.