Digitec Galaxus Scraper at a glance
Digitec Galaxus Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes kind, id, productid, product and brand, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.20 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
- Web data
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.20 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 25 options
Scrape Digitec Galaxus, Switzerland's largest online retailer: products with local prices, discounts, ratings, stock state and full specification tables across the galaxus.ch, galaxus.de and digitec.ch storefronts. Search keywords or paste links, and monitor price changes with recurring updates.
What Digitec Galaxus Scraper can do
- Three storefronts, one actor. Galaxus Switzerland, Galaxus Germany and Digitec Switzerland, each with its own currency, covered by the same run.
- Two ways to collect. Keyword search walks a storefront's catalogue; your own links read exact product pages or walk whole category listings.
- Category-aware search. A keyword the store maps to a whole category is walked as that category, exactly what a shopper browsing the site would see.
- Detail read on demand. Switch on a per-product read for description, summary bullets, full specification table, warranty, gallery images, data sheet link and test report grade, billed only for the products you enrich.
- Filter and sort like the storefront. Price range and six sort orders (relevance, newest, price, rating, availability) are applied by the store itself, in both modes. The one exception is a toplist ranking page (and a brand hub that lists no product type): its rows are the page's own ranking, so the price range is applied to the ranked rows and the order stays the ranking.
- Built for monitoring. Recurring updates return only new and changed products on repeat runs, and a run that could not read anything fails loudly instead of returning an empty dataset.
Choose what to collect
These inputs let you configure Digitec Galaxus Scraper - Products, Prices & Specs (CH/DE). Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Where to collect from: a keyword search on one storefront, or your own product and category links. |
marketstring | Which storefront to search. Each storefront is its own catalogue with its own currency (Swiss Francs on the Swiss shops, euros on the German shop). |
searchTermsarray | Only read when mode = keyword search. One entry per search; each search is walked forward, and all searches share the record cap. |
sortBystring | Order in which products are returned for each source. Ranking pages (toplist links) keep their own ranking order. |
minPriceinteger | Only return products at or above this price, in the selected storefront's currency. Applied by the store in both modes, except ranking pages (toplist links), whose price range is applied to the ranked rows; price ranges on very large categories are server-side counts, so a wide range narrows strongly. |
maxPriceinteger | Only return products at or below this price, in the selected storefront's currency. Applied by the store in both modes, except ranking pages (toplist links), whose price range is applied to the ranked rows. |
includeOutOfStockboolean | Off drops products whose list data says they cannot be bought; products with unknown stock are always kept. |
Show 18 more inputs
| Input | What it controls |
|---|---|
urlsarray | Only read when mode = my own links. Paste search links (/search?q=), category links (product type, tag, sector, promotion or sale pages, with sortOrder / priceFrom / priceTo in the link honoured) for a forward walk, or single product page links for one enriched product each. Each link is read on its own storefront (galaxus.ch, galaxus.de, digitec.ch). Left untouched, the field scrapes one example of each link shape. |
categoryUrlstring | One category page link, walked like a pasted link. When set and no search terms are given, the run reads this category instead of searching. |
categorySlugstring | A product-type slug such as notebooks-6, read on the selected storefront. Ignored when a category link is set. |
fetchDetailsboolean | Read each product's own page data and add the description, summary bullets, full specification table, key specifications, warranty, gallery images, data-sheet link and test-report grade to the record. Off by default: a run without it is cheaper and still carries prices, discounts, ratings, availability and promotion info. |
maxItemsinteger | Stop after this many records across the whole run (default 1000, at most 1000000; 0 = no limit and the walk then ends when the catalogue runs out). |
maxPagesinteger | Guardrail bound on how many reads any single search or category walk may spend. Leave 0 to go as deep as the source serves, with the record cap above as the only real limit. |
resumeFromRunIdstring | Paste the run id (or dataset id) of an earlier run of this Actor to continue it. Records that run already returned are skipped, so an interrupted large collection can finish without paying for the same rows twice. Leave empty for a normal run. |
incrementalModeboolean | Turn this on for daily or weekly monitoring. The first run returns everything as NEW. Later runs return only NEW, UPDATED and REAPPEARED records, each labelled in a changeType column. What is compared: every output column except the ones excluded below, so a change in price, old price, discount, rating, review count, availability, stock, labels, promotion type or detail data makes a record UPDATED, and changedFields names what moved. What is excluded: scrapedAt, position, the source columns, promotionRemainingDays and soldCount (they change on their own every day); they stay in the output but never decide UPDATED. Add more with the ignore-fields input below, or compare price and stock only with Change scope. Leave off for a normal one-off run. |
stateKeystring | Optional. Name this monitoring campaign to keep its memory stable, or to deliberately share one memory across differently configured runs. Leave empty and the memory is keyed on the run setup automatically. |
emitUnchangedboolean | Off by default. Turn on to also return records that have not changed since the last run, labelled UNCHANGED. This returns, and bills, rows you already have. |
emitExpiredboolean | Off by default. Turn on to also return records that were present before and are no longer found, labelled EXPIRED. Only produced when a run covered its whole setup, so a capped or continued run never reports records as gone. This returns, and bills, extra rows. |
changeScopestring | All (default) compares every column except the excluded ones. Price and stock only compares price, price without VAT, old price, discount, currency, availability, stock and the can-add-to-cart flag, so a changed name, image, label, rating or description never creates a billable UPDATED row. Switching scope under an automatic state key starts a fresh baseline (the first run returns everything as NEW); set a State key to keep one baseline. |
compactUpdatesboolean | Off by default. When on, UPDATED rows carry only the identifiers, the current price and stock and priceChanges (old and new per moved field), and EXPIRED rows only the identifiers and last price and stock. NEW rows stay full. A slim row does not carry detail data, so it does not trigger the per-product detail surcharge. |
expireAfterMissedScansinteger | With Also return records that are gone on, a record is reported EXPIRED only after it was missing from this many complete scans in a row (1 = the first complete scan that misses it). EXPIRED means the product was not found in the listing; without a detail check a listing drop and a delisting look the same, so read the stock fields for availability. |
ignoreFieldsForChangesarray | Column names that must never make a record UPDATED, for example labels or ratingCount. Use a dotted path such as specifications.value for a key inside a nested list. The ignored columns still appear in the output. Changing this under an automatic state key starts a fresh baseline; set a State key to keep one. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write or digest. Leave empty to skip; never changes the dataset output. |
notionParentPageUrlstring | URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
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.
recordTypeKindidIdproductIdproductIdnameProductbrandBrandproductTypeNameProduct typeproductTypeIdproductTypeIdnameFullFull namecategoryCategoryinStockIn stockenergyRatingEnergy ratingurlLinkShow 38 more fields
imageUrlImagecurrencyCurrencypricePricepriceExclVatPrice (excl. VAT)oldPriceWasdiscountPercentDiscount %ratingAverageRatingratingCountRatingsavailabilityAvailabilitystockStocksoldCountSoldlabelsLabelspromotionTypePromotionpromotionRemainingDayspromotionRemainingDayscanAddToCartcanAddToCartdescriptionDescriptionsummarySummarykeySpecificationsKey specsspecificationsSpecificationsimageUrlsGallerywarrantyWarrantyreturnPolicyReturn policydataSheetUrlData sheettestReportCountTest reportstestReportGradeTest grademarketMarketmarketHostStorefrontsourceTypeSource kindsourceIdSourcesourceUrlSource linkpositionPositionscrapedAtScraped atchangeTypeChangechangedFieldsChanged fieldspriceChangesPrice changesvariantChangesVariant changesfirstSeenAtFirst seenlastSeenAtLast seenExample output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"recordType": "product",
"id": "100000001",
"productId": 100000001,
"name": "Sample Product 000000000",
"brand": "Sample Brand",
"productTypeName": "Notebooks",
"productTypeId": 6,
"url": "https://www.galaxus.ch/en/s1/product/sample-product-15-inch-100000001",
"imageUrl": "https://www.galaxus.ch/productimages/sample",
"currency": "CHF",
"price": 499,
"priceExclVat": 461.61,
"oldPrice": 649.5,
"discountPercent": 23,
"ratingAverage": 4.3,
"ratingCount": 214,
"availability": "FULL",
"stock": {
"stockCount": 12,
"stockStatus": "IN_STOCK",
"expectedDelivery": null
},
"soldCount": 340,
"labels": [
"DISCOUNT"
],
"promotionType": "PROMOTION",
"promotionRemainingDays": 3,
"canAddToCart": true,
"market": "CH",
"marketHost": "www.galaxus.ch",
"sourceType": "search",
"sourceId": "laptop",
"sourceUrl": null,
"position": 1,
"scrapedAt": "2026-09-30T08:00:00Z"
}Ways to use this data
- Price monitoring and repricing: track prices, discounts and promotions across CH and DE storefronts to react to competitor moves.
- Stock and availability alerts: watch specific products or categories for restocks and availability changes with recurring updates.
- Product research and comparison: pull full specification tables and ratings to compare laptops, phones and other electronics before buying.
- Catalogue and assortment analysis: collect a whole category with sort and price filters to study assortment depth and pricing bands.
- Content and marketplace feeds: feed product data, images and specification tables into your own site, app or price comparison tool.
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 Digitec Galaxus Scraper return?
The documented output for Digitec Galaxus Scraper includes kind, id, productid, product, brand, product type, producttypeid and full name. Availability of each field depends on the source page and the selected mode.
How much does Digitec Galaxus Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.20 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 and turn on Recurring updates. Each run then returns only new and updated products, and unchanged ones are not billed unless you ask for them.
Why does a search sometimes return a whole category instead of a short list?
When the store itself maps a search term to one of its own categories, the actor follows that redirect and walks the category, which is exactly what a shopper typing the same term would see. This can return more products than a narrow keyword match would suggest.
Why did my run fail instead of returning an empty dataset?
If the store refuses every request, the run stops with a clear message so "no products for this search" is never confused with "nothing could be read". Run it again in a few minutes. If only some searches or links could be read, you still get what was found.
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.
