Magasin.dk Scraper — Magasin du Nord Product Prices avatar

Magasin.dk Scraper — Magasin du Nord Product Prices

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Magasin.dk Scraper — Magasin du Nord Product Prices

Magasin.dk Scraper — Magasin du Nord Product Prices

Scrape product data from magasin.dk, Magasin du Nord, Denmark's largest department store chain. Extract names, brands, prices, stock status, categories and images via the store's own search and category pages.

Pricing

from $1.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Magasin.dk Scraper

Pull product data from magasin.dk, the webshop of Magasin du Nord -- Denmark's largest department store chain, founded in 1868 with its flagship on Kongens Nytorv in Copenhagen. This scraper reads the store's own search and category pages directly, so it returns clean, structured data -- brand, price, stock, category, images -- without a browser or a login.

How to scrape Magasin du Nord data

Give the actor a Danish search term, or a magasin.dk category URL, and it pulls product listings the same way the store's own visitors browse it. There's nothing else to configure -- no session cookies, no login, no API key.

Under the hood, magasin.dk runs on Salesforce Commerce Cloud (the same platform family as Picard, Torfs and several other actors in this fleet). The site's own backend search endpoint (Search-Show) sits behind a Cloudflare JavaScript challenge and can't be hit directly. This actor routes around that the same way a real visitor's browser does: the plain storefront page itself -- both the search results page and any category page -- accepts a ?page=N parameter and returns a full, server-rendered page of the next 36 products. No challenge, no browser needed.

Each product tile on the page carries a small JSON blob (used by the site's own analytics) with name, brand, price, SKU, category and stock status already structured -- this actor reads that directly instead of guessing at CSS selectors for visible text, so prices and IDs come back exact, not parsed from formatted text.

If you don't provide any input, it defaults to searching for "sko" (Danish for "shoes") as a demo.

Search mode vs. category mode

  • Search mode (default): set searchQuery to any Danish search term. The actor searches magasin.dk the way a shopper would, e.g. "kjole" (dress), "taske" (bag), "sengetøj" (bedding).
  • Category mode: set categoryUrl to a magasin.dk category page URL, e.g. https://www.magasin.dk/dame/sko/sneakers/, to pull every product in that specific department instead of running a keyword search. When both are set, categoryUrl takes priority.

A note on discounts

Magasin du Nord runs a loyalty program ("Goodie") that shows members a lower price on many items alongside the public price -- that member-only price is not the same as a public markdown. This actor's originalPrice field only reflects a genuine public "was" price (a real strike-through), never the loyalty member price, so you don't mistake a loyalty discount for an actual sale.

Input

FieldTypeDescription
searchQuerystringSearch term, in Danish (e.g. "sko", "taske", "kjole"). Ignored if categoryUrl is set.
categoryUrlstringOptional magasin.dk category page URL to scrape instead of a search, e.g. https://www.magasin.dk/dame/sko/sneakers/
maxResultsintegerCap on number of products returned (default: 100, max: 5000)
proxyConfigurationobjectApify proxy settings. magasin.dk's storefront page routes have no anti-bot challenge -- automatic Apify proxy is used by default, no residential proxy needed

What you get back

FieldTypeExample
namestring"Gel-nyc 2. 0"
brandstring"Asics"
pricenumber | null1300
originalPricenumber | nullnull (only set on a genuine public markdown, never a loyalty member price)
currencystring"DKK"
skustring | null"BRCE83-00PX" (variant-level: style + colour)
productIdstring"BRCE83" (style-level, shared across colour/size variants)
inStockboolean | nulltrue (null only if the source gives no stock signal)
urlstringFull product page URL
imageUrlstring | nullPrimary product image
imageUrlsarrayProduct image URLs
categorystring | null"sneakers"
categoriesarrayFull category breadcrumb, e.g. ["womens", "shoes", "sneakers"]
searchQuerystring | nullThe search term used to find this product (null in category mode)
categoryUrlstring | nullThe category URL used to find this product (null in search mode)
sourcestring"magasin.dk"
scrapedAtstringISO timestamp

Sample output

{
"name": "Gel-nyc 2. 0",
"brand": "Asics",
"price": 1300,
"currency": "DKK",
"originalPrice": null,
"sku": "BRCE83-00PX",
"productId": "BRCE83",
"inStock": true,
"url": "https://www.magasin.dk/gel-nyc-2.-0/BRCE83-00PX.html",
"imageUrl": "https://www.magasin.dk/dw/image/v2/BFCS_PRD/on/demandware.static/-/Sites-mdn-master-catalog/default/dwe1394835/large2/AA/4573690011688.jpg?sw=300&sfrm=jpg",
"imageUrls": ["https://www.magasin.dk/dw/image/v2/BFCS_PRD/on/demandware.static/-/Sites-mdn-master-catalog/default/dwe1394835/large2/AA/4573690011688.jpg?sw=300&sfrm=jpg"],
"category": "sneakers",
"categories": ["womens", "shoes", "sneakers"],
"searchQuery": null,
"categoryUrl": "https://www.magasin.dk/dame/sko/sneakers/",
"source": "magasin.dk",
"scrapedAt": "2026-09-11T09:12:47.866Z"
}

Use cases

  • Price monitoring -- track Magasin du Nord's price changes over time across fashion, home and beauty, including "was" price whenever an item is genuinely discounted.
  • Assortment research -- see what brands and categories Denmark's largest department store carries, and at what price points.
  • Stock and availability tracking -- inStock gives a live read on which items are selling through.
  • Danish/Nordic market comparison -- compare Magasin du Nord against other Nordic department stores and fashion retailers already covered in this fleet.

Coverage

v1 covers magasin.dk's Danish storefront (DKK pricing). Sibling storefronts exist for Norway (Sites-NO-Site) and Sweden (Sites-SE-Site) but are not covered by this actor.

Performance and cost

The scraper hits the store's own storefront pages directly -- no browser rendering, no login, no session warm-up required. A run of 100 products typically completes in well under a minute. This actor charges $0.005 per run (start fee) plus $0.002 per result -- a 100-product run costs about $0.205. Your run's usage cost only settles after the run reports SUCCEEDED -- checking cost mid-run will undercount it.

Limitations

  • Keyword search or category-URL mode only, matching magasin.dk's own on-site search and category browsing. It does not accept direct product URLs.
  • ean and product-level color are not included -- magasin.dk leaves both empty on every listing tile sampled during development, so they were left out rather than shipped as always-empty fields.
  • originalPrice reflects only a genuine public markdown. It is never set from the store's loyalty member price ("Goodie"), even when that price is lower.
  • v1 targets the Danish storefront (DKK) only.

If you're covering European department-store and luxury retail more broadly, also check out:

Support

Found an issue or need a specific category covered? Open an issue on this actor's Apify Store page and we'll take a look.