Bilka ToGo Scraper - Danish Online Grocery Prices
Pricing
from $1.20 / 1,000 result scrapeds
Bilka ToGo Scraper - Danish Online Grocery Prices
Scrape everyday grocery prices, brands, stock, EAN codes and images from Bilka ToGo (bilkatogo.dk), Salling Group's Danish online supermarket. Fresh dairy, produce, meat, bread, frozen. No login required.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Bilka ToGo Scraper
Scrape products from bilkatogo.dk, Salling Group's Danish online grocery and home-delivery shop (the successor to Føtex home delivery). This is Salling's real everyday grocery webshop: fresh dairy, produce, meat and fish, bread, frozen, drinks and pantry staples, all with real shelf prices.
Coverage note: our sibling actors foetex-scraper and bilka-scraper
read foetex.dk/bilka.dk's own Algolia index, which only covers non-perishable
groceries and general merchandise — fresh groceries are NOT in that catalogue.
Bilka ToGo is different: it's Salling's dedicated online grocery shop, so
milk, bread, butter, eggs, meat and fruit are all present with everyday
online prices, not just dry goods.
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Danish keyword, e.g. "mælk", "brød", "smør", "æg", "kød", "frugt" |
searchQueries | Array of strings | No | Multiple search terms in one run (overrides searchQuery) |
categoryUrl | String | No | A bilkatogo.dk category page URL, e.g. https://www.bilkatogo.dk/kategori/mejeri-og-koel/ |
categoryUrls | Array of strings | No | Multiple category URLs in one run (overrides categoryUrl) |
maxResults | Integer | No | Product limit across all search terms/categories (default: 100) |
storeId | String | No | Delivery-warehouse store id to read price/stock from (advanced, default "1653") |
inStockOnly | Boolean | No | Only return products currently in stock at the selected store |
proxyConfiguration | Object | No | Legacy proxy settings (not required — data comes from a public search API) |
Provide either a searchQuery/searchQueries or a categoryUrl/
categoryUrls (or both — the run will fetch all of them). Leaving everything
empty runs the default search query so {} still returns data.
Category URLs
Any bilkatogo.dk /kategori/{slug}/ URL works, at any depth of the category
tree. The seven top-level grocery categories:
https://www.bilkatogo.dk/kategori/frugt-og-groent/— Frugt & grønt (fruit & veg)https://www.bilkatogo.dk/kategori/koed-og-fisk/— Kød & fisk (meat & fish)https://www.bilkatogo.dk/kategori/mejeri-og-koel/— Mejeri & køl (dairy & chilled)https://www.bilkatogo.dk/kategori/broed-og-kager/— Brød & kager (bread & cakes)https://www.bilkatogo.dk/kategori/kolonial/— Kolonial (pantry)https://www.bilkatogo.dk/kategori/frost/— Frost (frozen)https://www.bilkatogo.dk/kategori/drikkevarer/— Drikkevarer (drinks)
Output
| Field | Type | Example |
|---|---|---|
name | String | "Minimælk 0,4% fedt" |
brand | String | "Salling" |
price | Number or null | 10.60 |
originalPrice | Number or null | null |
currency | String | "DKK" |
onPromotion | Boolean | false |
promotionStartDate | String or null | "2026-08-28" |
promotionEndDate | String or null | "2026-09-11" |
ean | String | "5711953134616" |
sku | String | "92369031" |
productId | String | "84121" |
inStock | Boolean or null | true |
unitPrice | Number or null | 10.60 |
unitPriceUnit | String | "L." |
packageSize | String | "1 l" |
category | String | "Mejeri & køl > Mejeri > Mælk > Minimælk" |
imageUrl | String | Product image |
retailer | String | "Bilka ToGo" |
url | String | Product page URL |
scrapedAt | String | ISO timestamp when this Actor run collected the item |
sourceUpdatedAt | String or null | ISO timestamp Bilka ToGo's own catalogue last synced the record |
{"name": "Minimælk 0,4% fedt","brand": "Salling","price": 10.6,"originalPrice": null,"currency": "DKK","onPromotion": false,"promotionStartDate": null,"promotionEndDate": null,"ean": "5711953134616","sku": "92369031","productId": "84121","inStock": true,"unitPrice": 10.6,"unitPriceUnit": "L.","packageSize": "1 l","category": "Mejeri & køl > Mejeri > Mælk > Minimælk","categories": ["Mejeri & køl", "Mejeri", "Mælk", "Minimælk"],"imageUrl": "https://digitalassets.sallinggroup.com/image/upload/...","imageUrls": ["https://digitalassets.sallinggroup.com/image/upload/..."],"retailer": "Bilka ToGo","url": "https://www.bilkatogo.dk/produkt/minimaelk-0-4-fedt/84121/","scrapedAt": "2026-09-09T15:39:03.764Z","sourceUpdatedAt": "2026-09-09T14:35:42.000Z"}
price is the current shelf/online price at the selected delivery store, and
originalPrice is the pre-discount "before" price — when either
originalPrice is set or onPromotion is true, the product is on an
active campaign and promotionStartDate / promotionEndDate give the
campaign window as published by Bilka ToGo. unitPrice / unitPriceUnit
give the per-kg/per-litre/per-piece price used for shelf comparisons.
Technical details
- Queries the same public Algolia search index bilkatogo.dk's own search box uses
- No proxy or browser required — direct HTTPS API calls only
- Prices in DKK (Danish kroner), read from a single delivery-warehouse store (default the site's own anonymous default); price and unit price were identical across every store spot-checked during recon, so this reflects the national online price for the vast majority of products
- Danish-language content throughout
- Catalogue size: ~36,000 products across the full non-food + grocery range
Cost
Direct API calls, no browser or proxy overhead. ~$0.10 per 1,000 products (roughly $0.0001 per result). Usage cost only settles once a run finishes with status SUCCEEDED — a run that fails or is aborted mid-way is not billed for the results it already pushed.
Why use Bilka ToGo Scraper
- Everyday price tracking — Track real shelf prices for staples (milk, bread, butter, eggs, meat, fruit) at Denmark's largest grocery chain
- Grocery price comparison — Build a Danish grocery price-comparison feed across categories, not just dry goods
- Competitive intelligence — Compare your catalog against Bilka ToGo pricing, promotions and assortment
- Market research — Analyze category trends, new arrivals and assortment breadth by category
- No login or cookies required — Authenticated access not needed; works out of the box
How to use Bilka ToGo Scraper
- Open the Input tab and provide a search query or a category URL
- Adjust optional filters such as
maxResultsorinStockOnly - Click Start and wait for the run to complete
- Download results from the Output tab in JSON, CSV, Excel, XML, or HTML
- Schedule recurring runs from the Schedule tab if you need ongoing price-monitoring data
How to scrape Bilka ToGo data
This Actor automates the process of extracting structured grocery data from Bilka ToGo. You can run it directly from the Apify console, the Apify API, or any of the official SDKs (JavaScript, Python). It handles pagination, category-to-facet resolution, and deduplication so you can focus on the data, not the plumbing.
Typical workflows:
- One-off export: paste a keyword or category URL, set
maxResults, and run - Scheduled monitoring: set a daily cron in the Schedule tab to track everyday grocery prices over time
- Full-category pulls: use
categoryUrlswith the seven grocery categories above to build a complete staples price feed - Programmatic integration: trigger runs from your backend via the Apify API and pull the dataset when finished
- Webhook automation: receive a callback the moment a run completes and pipe the results into Zapier, Make, n8n, BigQuery, or Google Sheets
Tips for best results
- Start small — run with
maxResults: 10before launching large jobs - Use category URLs for full coverage — a keyword search only returns matching products; a category URL returns the whole aisle
- Filter to in-stock only — set
inStockOnly: truefor purchase-ready data - Schedule runs — daily runs are usually enough for price monitoring
- Inspect the dataset schema — the Storage tab shows the full output structure
FAQ and support
Is it legal to scrape Bilka ToGo? This Actor extracts publicly available data. Always review the website's Terms of Service before scraping at scale, and respect rate limits.
Does this cover fresh groceries, or just pantry items? Fresh groceries — this is Salling's dedicated online grocery shop, not the general-merchandise catalogue. Dairy, produce, meat, fish and bread are all covered.
Why am I getting fewer results than expected? Some niche keywords have
few matches in the catalogue. Try a broader Danish term, or switch to a
categoryUrl for full-aisle coverage.
Does price vary by store? The underlying data is keyed per
delivery-warehouse, but price and unit price were identical across every
store checked during recon. The storeId input lets you point at a specific
warehouse if you ever need to verify a regional difference.
Does this need a proxy? No. The catalogue is fetched from a public search API, so no proxy or browser is required for normal use.
For issues, feature requests, or bug reports, open a ticket in the Issues tab on the Actor page or contact support@apify.com. We monitor every actor and ship fixes quickly when sites change.