Digitec Galaxus Scraper - Products, Prices & Specs (CH/DE)
Pricing
from $1.20 / 1,000 product results
Digitec Galaxus Scraper - Products, Prices & Specs (CH/DE)
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.
Pricing
from $1.20 / 1,000 product results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Digitec Galaxus Scraper: Products, Prices & Specs (CH/DE)
Digitec Galaxus Scraper turns the Galaxus Switzerland, Galaxus Germany and Digitec Switzerland storefronts into a clean product data feed. Search by keyword or paste your own product and category links, get local prices, currency, discounts, ratings, availability and promotion info on every row, and switch on a detail read for the full description, specification table, warranty and gallery. Export to JSON, CSV or Excel, or pull the results straight into your app through the API.
Why This Scraper?
- 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.
- 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.
Use Cases
- 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.
Data You Get
Sample shape: values are illustrative placeholders, not from a live record.
| Field | Example |
|---|---|
recordType | "product" |
id / productId | "100000001" / 100000001 |
name | "Sample Product 000000000" |
brand | "Sample Brand" |
productTypeName / productTypeId | "Notebooks" / 6 |
url | Galaxus or Digitec link to the product |
imageUrl | Product image link |
currency / price | "CHF" / 499.00 |
priceExclVat | 461.61 |
oldPrice / discountPercent | 649.50 / 23 |
ratingAverage / ratingCount | 4.3 / 214 |
availability / stock | availability class such as "FULL" / stock count and status (when reported) |
soldCount | 340 |
labels / promotionType | ["DISCOUNT"] / "PROMOTION" |
canAddToCart | true |
description / summary | full text and bullet points (detail read only) |
keySpecifications / specifications | key facts, then the full spec table, grouped by section (detail read only) |
warranty / returnPolicy | "24 Months Warranty (Bring-in)" / return terms (detail read only) |
imageUrls / dataSheetUrl | gallery images / manufacturer data sheet link (detail read only) |
testReportCount / testReportGrade | 3 / 5.4 (detail read only) |
market / marketHost | "CH" / "www.galaxus.ch" |
sourceType / sourceId | "search" / "laptop" |
scrapedAt | "2026-09-30T08:00:00Z" |
changeType / changedFields / firstSeenAt / lastSeenAt | recurring updates only, for example "UPDATED" / ["price"] / first and last seen timestamps |
How to Use
- Pick a mode: keyword search on one storefront, or your own product and category links.
- Choose a storefront, then add one or more search terms, or paste product or category URLs from that storefront.
- Turn on Read product detail pages if you need description and specifications, set Max records and Max pages per source, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it through the API.
Keyword search, cheapest first:
{"mode": "search","market": "galaxus-ch","searchTerms": ["laptop"],"sortBy": "lowest-price","maxItems": 20}
Walk a whole category from your own link:
{"mode": "urls","urls": ["https://www.galaxus.ch/en/s1/producttype/notebooks-6"],"maxItems": 50}
Search with full product detail:
{"mode": "search","market": "galaxus-de","searchTerms": ["kaffeemaschine"],"fetchDetails": true,"maxItems": 10}
Recurring updates, only what changed:
{"mode": "search","market": "digitec-ch","searchTerms": ["smartphone"],"incrementalMode": true,"emitExpired": true,"maxItems": 0}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("abotapi/galaxus-marketplace-scraper").call(run_input={"mode": "search", "market": "galaxus-ch", "searchTerms": ["laptop"], "maxItems": 20})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["name"], product["price"], product["currency"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('abotapi/galaxus-marketplace-scraper').call({ mode: 'search', market: 'galaxus-ch', searchTerms: ['laptop'], 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.
How Max records and Max pages shape a run
Max records is the single limit that stops a run; leave it at 0 to collect until the catalogue or your links run out. When a run has several search terms or links, the record cap is split across them so each gets a fair share; a source that is capped before it finishes is marked as not having reached its natural end. Max pages per source is a guardrail on how many reads any one search or category walk may spend, independent of the record cap.
Resume and recurring updates
- Continue a previous run (
resumeFromRunId) finishes one interrupted run: paste its run or dataset id and records it already returned are skipped, so a large collection does not pay for the same rows twice. - Recurring updates (
incrementalMode) is for running the same setup again and again, for example daily. Each record is classifiedNEW,UPDATED(withchangedFields),UNCHANGED(suppressed and not billed unlessemitUnchangedis on),REAPPEAREDorEXPIRED(only after a run that covered its whole setup, and only withemitExpired).stateKeynames or shares the stored memory; leave it empty and the memory is keyed on the run setup automatically. With recurring updates off, output is exactly as before.
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.
- Authorize a connector once under Apify, Settings, Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. If the picker is empty, you have not authorized a connector yet.
- For Notion, also set
notionParentPageUrlto 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
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search (keyword search) or urls (your own product and category links). |
market | string | galaxus-ch | Storefront: galaxus-ch, galaxus-de or digitec-ch. In links mode, set it to the storefront your links are on. |
searchTerms | array | ["laptop"] | One entry per search; each search is walked forward and all searches share the record cap. Search mode only. |
sortBy | string | relevance | Order for each source: relevance, newest, lowest-price, highest-price, rating or availability. |
minPrice | integer | (none) | Only return products at or above this price, in the storefront's currency. |
maxPrice | integer | (none) | Only return products at or below this price, in the storefront's currency. |
urls | array | sample category link | Product or category links to read. Links mode only. |
fetchDetails | boolean | false | Read each product's own page and add description, summary, specifications, warranty, gallery and data sheet. Billed as a per-product surcharge. |
maxItems | integer | 0 (prefilled 20) | Stop after this many records across the whole run; 0 means no limit. |
maxPages | integer | 0 | Guardrail on reads per source; 0 goes as deep as the source serves. |
resumeFromRunId | string | (none) | Continue one interrupted run: paste its run or dataset id. |
incrementalMode | boolean | false | Turn on for recurring runs that should return only new and changed records. |
stateKey | string | (none) | Name or share a recurring-updates memory. Recurring updates only. |
emitUnchanged | boolean | false | Also return (and bill) records that did not change. Recurring updates only. |
emitExpired | boolean | false | Also return (and bill) records that are gone. Recurring updates only. |
mcpConnectors | array | (none) | Optional: send a summary of each record to apps you authorized under Integrations. |
notionParentPageUrl | string | (none) | Notion connector only: page under which item pages are created. |
maxNotifyListings | integer | 50 | Cap on items written to each connector per run. Does not affect the dataset. |
proxyConfiguration | object | Apify Proxy | Connection used for every request. The default works; you can also bring your own connection links. |
Output Example
Sample shape: values are illustrative placeholders, not from a live record.
{"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.00,"priceExclVat": 461.61,"oldPrice": 649.50,"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"}
Plan Requirement
The default proxy setting works out of the box, and the actor rotates connections automatically when one is refused. For large or frequent runs, a higher proxy tier gives more headroom; pick it under Connection, or bring your own connection links.
FAQ
How much does it cost?
You pay per record returned, plus a per-product surcharge only when you switch on the detail read. The Pricing tab shows the current rates. Use Max records to cap the cost of any run.
Is it legal to scrape Digitec Galaxus?
This actor collects only publicly visible catalogue pages for your own analysis. You are responsible for how you use it: follow the store's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. It is an independent tool with no affiliation with the store operator.
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.
๐ More scrapers you might like
Pair this actor with these related scrapers from the same team:
| ๐งฉ Jumia Marketplace Scraper Scrape Jumia, Africa's largest marketplace: products with local prices, discounts... | ๐งฉ Falabella Scraper Scrape Falabella, Latin America's leading retail marketplace: products with local prices... |
| ๐งฉ eBay Scraper Scrape eBay by keyword, category, seller or pasted link across 16 country storefronts... | ๐ SSENSE Scraper Scrape SSENSE by keyword, category, designer or URL. Every row carries the selling price... |
| ๐งฉ Walmart Scraper Scrape Walmart.com by keyword, URL, or item ID. Extract prices, was-prices, sellers... | ๐ MUJI Scraper Scrape MUJI products from the United States, Canada and Australia storefronts. Search by... |
๐ 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.