BILLA Scraper — Austrian Grocery Prices & Promotions avatar

BILLA Scraper — Austrian Grocery Prices & Promotions

Pricing

from $0.90 / 1,000 results

Go to Apify Store
BILLA Scraper — Austrian Grocery Prices & Promotions

BILLA Scraper — Austrian Grocery Prices & Promotions

Scrape shop.billa.at (BILLA Austria) for grocery prices, unit prices and promotions. Search by keyword, browse a category or take the whole 12,300-product catalogue. Every record carries allergens, net weight and storage advice.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Black Falcon Data

Black Falcon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What does BILLA Scraper do?

BILLA Scraper extracts grocery product data from shop.billa.at, Austria's largest online supermarket. Search by keyword, browse a category, paste a product URL, or take the whole catalogue of roughly 12,300 products. Every record carries the shelf price and unit price in EUR, promotions with the pre-discount price and discount percentage, the full category path, brand, SKU, images, stock and pack size — plus allergens, net weight and storage advice. Turn on detail enrichment for the full ingredient declaration and the nutrition table per 100 g.

How to use this actor

  • 👉 Register for a free Apify account — no credit card required.
  • 🎉 Just click Sign up free on Apify → and complete a quick signup.
  • 💰 A free Apify account includes $5 in monthly credits — enough to test this actor.
  • ⏳ Scrape during the free trial, with no commitment or upfront payment required.

Key features

  • 🔍 Four ways in — keyword search, a category branch, a pasted product or category URL, or the entire catalogue.
  • 🏷️ Promotions only — filter to products currently discounted, with the pre-discount price, the discount percentage and the promotion text.
  • ↕️ Price sorting — cheapest or dearest first, so a capped run keeps the products you care about instead of an arbitrary slice.
  • 🥗 Dietary and origin filters — vegan, vegetarian, gluten-free, lactose-free, country of origin, chilled or frozen.
  • 🧾 Food data no other BILLA actor returns — allergens, the full ingredient list and nutrition per 100 g.
  • 📈 Price-change tracking — repeat runs report the previous price, the delta, the percentage and when it moved.
  • 💱 Prices in USD and GBP alongside EUR, converted from a fixed rate table with the rate date on every record.
  • ♻️ Incremental mode — new, updated, unchanged and delisted products instead of the whole catalogue every run.

What data can you extract from shop.billa.at?

Each record is one product: name, brand, price and unit price in EUR (plus USD and GBP), the pre-discount price and discount percentage when it is on promotion, category and full category path, SKU, product id, images, stock, pack size and net weight, allergens, storage advice, and — with detail enrichment on — the ingredient declaration and nutrition table.

Input

The main inputs are a search keyword and a result limit. Additional filters and options are available in the input schema.

Key parameters:

  • query — Product search keywords, e.g. "milch", "kaffee", "bio joghurt". Leave empty and set a category to browse instead. Use a JSON array (e.g. ["milch","butter"]) to run several searches in one go.
  • categorySlug — Optional. Browse a whole category instead of (or alongside) a keyword — e.g. "tiefkuehl-15415" or "shampoo-und-spuelung-15282". Take the slug from a shop.billa.at category URL.
  • categorySlugs — Several category branches in one run, e.g. "tiefkuehl-15415". Each becomes its own walk. Use the single Category Slug field for one.
  • productSkus — Exact BILLA article numbers, e.g. "00-12287". Each costs one request and returns that product only — no search needed.
  • scrapeAllProducts — Enumerate every product in the shop (about 12,300) instead of searching. Leave this off unless you want the full catalogue — you are billed per result. Ignored when a search term, category or start URL is given.
  • sortBy — Order the shop applies before paging, so a capped run keeps the cheapest (or dearest) products rather than an arbitrary slice. (default: "relevance")
  • campaignsOnly — Only products currently on promotion. Filtered by the shop, so you are not billed for the rest — about 1 in 10 products qualifies.
  • newOnly — Only products the shop flags as newly listed.
  • brands — Brand slugs as the shop spells them, e.g. "alpro", "alnatura". Several brands widen the result set.
  • dietaryPreferences — Shop preference tags: pp-vegan, pp-veget (vegetarian), pp-glutenfr (gluten-free), pp-lakto (lactose-free).
  • countriesOfOrigin — Origin tags as the shop spells them, e.g. "landallglist-aus" for Australia.
  • coolingType — Restrict to chilled or frozen products. (default: "")
  • ...and 27 more parameters

Input examples

Basic search — Keyword-driven search with a result cap.

→ Full payload per result — all standard fields populated where the source provides them.

{
"query": "milch",
"maxResults": 50
}

Incremental tracking — Only emit products that changed since the previous run with this stateKey.

→ First run builds the baseline state. Subsequent runs emit only records that are new or whose tracked content changed. Set emitUnchanged: true to include unchanged records as well.

{
"query": "milch",
"maxResults": 200,
"incrementalMode": true,
"stateKey": "milch-tracker"
}

Compact output for AI agents — Return only core fields for AI-agent and MCP workflows.

→ Small payload with the most important fields — ideal for piping into LLMs without token overhead.

{
"query": "milch",
"maxResults": 50,
"compact": true
}

Output

Each run produces a dataset of structured product records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.

Example product record

{
"productName": "Toblerone Milch",
"brand": "Toblerone",
"price": 3.99,
"currency": "EUR",
"unitPrice": "€3.99 / 100 g",
"category": "Tafelschokolade",
"sku": "00-12287",
"productId": "7f0b42e3-93a8-4b7d-9a61-318e6696bca9",
"inStock": true,
"imageUrl": "https://images.cdn.europe-west1.gcp.commercetools.com/723b2575-66c7-4d92-ae49-82bf1d168d26/00-12287-1239954596-lFjW0Sg0.jpg",
"url": "https://shop.billa.at/produkte/toblerone-milch-0012287",
"scrapedAt": "2026-08-06T19:19:14.487Z",
"isOnSpecial": false,
"amount": "100",
"packageLabel": "Packung",
"volumeUnit": "g",
"basePrice": 3.99,
"baseUnit": "g",
"weight": 0.107,
"maxQuantity": 6,
"categoryPath": [
"Vorratsschrank",
"Süßes & Salziges",
"Süßes",
"Tafelschokolade"
],
"parentCategories": [
{
"key": "15012",
"name": "Vorratsschrank",
"slug": "vorratsschrank-15012"
},
{
"key": "15159",
"name": "Süßes & Salziges",
"slug": "suesses-und-salziges-15159"
},
{
"key": "15176",
"name": "Süßes",
"slug": "suesses-15176"
},
{
"key": "15177",
"name": "Tafelschokolade",
"slug": "tafelschokolade-15177"
}
],
"slug": "toblerone-milch-0012287",
"brandSlug": "toblerone",
"images": [
"https://images.cdn.europe-west1.gcp.commercetools.com/723b2575-66c7-4d92-ae49-82bf1d168d26/00-12287-1239954596-lFjW0Sg0.jpg",
"https://images.cdn.europe-west1.gcp.commercetools.com/723b2575-66c7-4d92-ae49-82bf1d168d26/00-12287-1130627534-DTwNXEJj.jpg",
"https://images.cdn.europe-west1.gcp.commercetools.com/723b2575-66c7-4d92-ae49-82bf1d168d26/00-12287-01419251729-fNeP6sX4.jpg",
"https://images.cdn.europe-west1.gcp.commercetools.com/723b2575-66c7-4d92-ae49-82bf1d168d26/00-12287-500924597-WEhidcMv.jpg"
],
"description": "Toblerone Milch lieben Naschkatzen für ihre dreieckige Form und ihre Kombination aus feiner Schweizer Milch-Schokolade und knackigen Mandeln.<ul><li>Schokolade mit Honig- und Mandelnugat</li><li>enthä...",
"storageAndUsage": "Trocken lagern und vor Wärme schützen.",
"medical": false,
"allergens": [
"Enthält: Sojabohnen und -erzeugnisse",
"Enthält: Eier und -erzeugnisse",
"Enthält: Milch und Milcherzeugnisse",
"Enthält: Nüsse und Nusserzeugnisse. Kann Mandeln, Haselnüsse, Walnüsse, Cashewnüsse etc. einschliessen"
],
"ingredients": "Zutaten: Zucker, VOLLMILCHPULVER, Kakaobutter, Kakaomasse, Honig (3%), BUTTERREINFETT, MANDELN (1,6%), Emulgator (SOJALECITHINE), EIKLAR, Aroma.",
"nutrition": [
{
"name": "Energie",
"value": 2209,
"unit": "kJ",
"basis": "100 Gramm"
},
{
"name": "Energie",
"value": 528,
"unit": "kcal",
"basis": "100 Gramm"
},
{
"name": "Fett",
"value": 28,
"unit": "g",
"basis": "100 Gramm"
},
{
"name": "davon gesättigte Fettsäuren",
"value": 17,
"unit": "g",
"basis": "100 Gramm"
},
{
"name": "Kohlenhydrate",
"value": 61,
"unit": "g",
"basis": "100 Gramm"
},
"... 13 more items"
],
"badges": [
"pp-veget"
],
"listingId": "c3e4ac558e53ddf8ec0a04f2c77152be36bbad9c2eb0f66939276b76d626aff0",
"searchQuery": "toblerone",
"contentQuality": "full",
"detailFetched": true,
"source": "billa",
"contentHash": "758b89469ea006d45727e08ef6157ba7fc7ff80fc5af24639549c4af5e7a118f"
}

Incremental fields

When incremental mode is on, each record also carries:

  • changeType — one of NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED. Default output covers NEW / UPDATED / REAPPEARED; set emitUnchanged: true or emitExpired: true to opt into the others.
  • isRepost, repostOfId, repostDetectedAt — populated when a new listing matches the tracked content of a previously expired one. Set skipReposts: true to drop detected reposts from the output.

How to scrape shop.billa.at

  1. Go to BILLA Scraper in Apify Console.
  2. Enter a search keyword.
  3. Set maxResults to control how many results you need.
  4. Enable includeDetails if you need full descriptions.
  5. Click Start and wait for the run to finish.
  6. Export the dataset as JSON, CSV, or Excel.

Use cases

  • Track Austrian grocery prices over time and get told exactly what moved and by how much.
  • Monitor promotions across the catalogue, or only within the categories you sell into.
  • Compare a brand's shelf and unit prices against competing products in the same category.
  • Build dietary or allergen-aware product feeds — vegan, gluten-free, lactose-free.
  • Feed price-comparison tools that need Austrian retail data alongside German or UK sources.

How much does it cost to scrape shop.billa.at?

BILLA Scraper uses pay-per-event pricing. You pay a small fee when the run starts and then for each result that is actually produced.

  • Run start: $0.01 per run
  • Per result: $0.0009 per product record

Example costs:

  • 10 results: $0.019
  • 25 results: $0.033
  • 100 results: $0.1
  • 200 results: $0.19
  • 500 results: $0.46

Example: recurring monitoring savings

These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of products that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.

Example setup: 250 products per run, daily polling (30 runs/month). Costs scale linearly with the number of products.

Churn rateFull re-scrape run costIncremental run costSavings vs full re-scrapeMonthly cost after baseline
5% — stable niche query$0.24$0.02$0.21 (91%)$0.64
15% — moderate broad query$0.24$0.04$0.19 (81%)$1.31
30% — high-volume aggregator$0.24$0.08$0.16 (67%)$2.33

Full re-scrape monthly cost at the same cadence: $7.05. First month with incremental costs $0.85 / $1.50 / $2.48 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.

Platform usage is included in the per-result fee shown above.

FAQ

How many results can I get from shop.billa.at?

The number of results depends on the search query and available products on shop.billa.at. Use the maxResults parameter to control how many results are returned per run.

Does BILLA Scraper support recurring monitoring?

Yes. Enable incremental mode to only receive new or changed products on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.

Can I integrate BILLA Scraper with other apps?

Yes. BILLA Scraper works with Apify's integrations to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.

Can I use BILLA Scraper with the Apify API?

Yes. You can start runs, manage inputs, and retrieve results programmatically through the Apify API. Client libraries are available for JavaScript, Python, and other languages.

Can I use BILLA Scraper through an MCP Server?

Yes. Apify provides an MCP Server that lets AI assistants and agents call this actor directly. Use compact mode, descriptionMaxLength, and excludeEmptyFields to keep payloads manageable for LLM context windows.

This actor extracts publicly available data from shop.billa.at. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.

Your feedback

If you have questions, need a feature, or found a bug, please open an issue on the actor's page in Apify Console. Your feedback helps us improve.

You might also like

Getting started with Apify

New to Apify? Create a free account with $5 credit — no credit card required.

  1. Sign up — $5 platform credit included
  2. Open this actor and configure your input
  3. Click Start — export results as JSON, CSV, or Excel

Need more later? See Apify pricing.

Disclaimer

This actor accesses only publicly available data on shop.billa.at. You are responsible for how you use the extracted data — in particular any personal information such as names, phone numbers, or email addresses — and for complying with BILLA's terms of use, applicable data-protection law (including the GDPR where it applies), and the anti-spam rules of your jurisdiction.

This actor is not affiliated with, endorsed by, or connected to BILLA.

Search keywords

billa scraper, billa api, apify billa, billa data extraction, shop.billa.at scraper, shop.billa.at data, shop.billa.at api.