Billiger Price Comparison Scraper 🏷️ avatar

Billiger Price Comparison Scraper 🏷️

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Billiger Price Comparison Scraper 🏷️

Billiger Price Comparison Scraper 🏷️

Extract detailed product pricing, offers, and specifications from Billiger.de. Ideal for competitor analysis, market research, and tracking price trends. Get structured data on merchants, shipping costs, and availability to supercharge your e-commerce strategy.

Pricing

from $0.80 / 1,000 results

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

13

Total users

4

Monthly active users

2 days ago

Last modified

Share

What does Billiger Price Comparison Scraper do?

Billiger Price Comparison Scraper collects product prices, ratings, specifications, and shop offers from Billiger.de, a German price comparison site. Run it with a keyword such as laptop or iphone 15, or point it at a product or category URL. It returns a structured dataset you can use for price monitoring, catalog enrichment, and seller benchmarking.

The Actor follows product listings across pages, opens each product page, and saves the available pricing and offer details in one run. Results are pushed in batches, so partial progress is preserved on longer jobs.

Why use Billiger Price Comparison Scraper?

  • Price monitoring without manual checks - Build recurring snapshots of lowest and highest prices across German shops.
  • Seller-level comparison - Capture shop names, item prices, shipping costs, and total prices for the offers shown on each product page.
  • Catalog enrichment - Add GTIN, SKU, brand, category, variant attributes, and image URLs to your internal product data.
  • Search or direct URL workflows - Start from a keyword, a category listing, or a specific product page.
  • Apify-native delivery - Schedule runs, download datasets, connect webhooks, or read results through the Apify API.

What data can you extract from Billiger.de?

FieldDescription
product_nameProduct title shown on Billiger.de
brandProduct brand or manufacturer
categoryProduct category
gtinGTIN or EAN code when the source publishes it
skuProduct or variant code
product_idBilliger product identifier
object_typeProduct page type such as baseproduct, product, or pricelist
lowest_priceLowest price found for the product
highest_priceHighest price found for the product
offer_countNumber of offers reported for the product
ratingAverage rating on a 1 to 5 scale
review_countNumber of ratings or reviews
image_urlProduct image URL
short_descriptionProperty summary from the product card
descriptionProduct description text when available
variant_countNumber of variants in the product group
variant_attributesProperty and value pairs for the displayed variant
currencyCurrency code, normally EUR
product_urlProduct page URL
source_listing_urlListing or search URL used to find the product
source_pageListing page number where the product appeared
offersShop-level offers with price, shipping, and total price
scraped_atISO timestamp for the collection time

How to use Billiger Price Comparison Scraper

  1. Open the Actor in Apify Console.
  2. Enter a search query, or provide a Billiger.de product or category URL.
  3. Set the maximum number of products.
  4. Choose whether to include shop-level offers.
  5. Run the Actor and open the dataset.
  6. Download the result as JSON, CSV, Excel, or XML, or connect it to another tool.

Input Parameters

ParameterTypeRequiredDefaultDescription
searchQueryStringNolaptopProduct name or keywords to search for. Used when no URL is supplied.
startUrlStringNo-A Billiger.de product, category, or search-results URL. Takes precedence over searchQuery.
results_wantedIntegerNo20Maximum number of products to save. Accepts 1 to 1000.
collectOffersBooleanNotrueInclude the shop-level offer rows shown on each product page.
proxyConfigurationObjectNoNo proxyProxy settings for the run. If you use a proxy, choose a German location.

Output Data

FieldTypeDescription
product_nameStringProduct title
brandStringBrand or manufacturer
categoryStringProduct category
gtinStringGTIN or EAN code
skuStringProduct or variant code
product_idStringBilliger product identifier
object_typeStringProduct page type
lowest_priceNumberLowest price in EUR
highest_priceNumberHighest price in EUR
offer_countIntegerReported number of offers
ratingNumberAverage rating from 1 to 5
review_countIntegerNumber of ratings or reviews
image_urlStringProduct image URL
short_descriptionStringShort property summary
descriptionStringLonger description when available
variant_countIntegerNumber of product variants
variant_attributesArrayVariant property and value strings
currencyStringCurrency code
product_urlStringProduct page URL
source_listing_urlStringListing URL used for discovery
source_pageIntegerListing page number
offersArrayShop offers with shop_name, shop_id, product_variant_id, price, shipping_cost, total_price, and offer_url
scraped_atStringISO timestamp

When collectOffers is set to false, the offers field is omitted. The dataset is the same shape for keyword, category, and product URL runs.

Usage Examples

Collect 20 laptop products and include shop offers:

{
"searchQuery": "laptop",
"results_wanted": 20,
"collectOffers": true
}

Category URL

Follow a Billiger category listing and collect up to 60 products:

{
"startUrl": "https://www.billiger.de/show/kategorie/2303.htm?searchstring=laptop",
"results_wanted": 60,
"collectOffers": true
}

Single product snapshot

Collect one product with its current offers:

{
"startUrl": "https://www.billiger.de/baseproducts/117189-apple-macbook-air-m5-2026",
"results_wanted": 1,
"collectOffers": true
}

Faster product-only run

Skip shop offer rows when you only need product-level pricing:

{
"searchQuery": "iphone 15",
"results_wanted": 40,
"collectOffers": false
}

Sample Output

{
"product_name": "Apple MacBook Air M5 2026",
"brand": "Apple",
"category": "Notebooks",
"gtin": "0195950690064",
"sku": "5576130845",
"product_id": "117189",
"object_type": "baseproduct",
"lowest_price": 1229,
"highest_price": 3798,
"offer_count": 737,
"rating": 4.75,
"review_count": 46,
"image_url": "https://cdn.billiger.com/dynimg/.../Apple-MacBook-Air-M5-2026.webp",
"short_description": "Prozessorfamilie: Apple M · Besonderheiten: Copilot+ · Anzahl Prozessorkerne: 10 · HD-Standard: Retina",
"description": "Schon ab 1.229,00 € - 737 Angebote ✓ Aktuelle Preise vergleichen ✓ Geprüfte Shops",
"variant_count": 76,
"variant_attributes": [
"Festplattenkapazität Gesamt: 512 GB",
"Arbeitsspeicherkapazität: 16 GB",
"Anzahl GPU-Kerne: 8"
],
"currency": "EUR",
"product_url": "https://www.billiger.de/baseproducts/117189-apple-macbook-air-m5-2026",
"source_listing_url": "https://www.billiger.de/show/kategorie/2303.htm?originalsearch=laptop",
"source_page": 1,
"offers": [
{
"shop_name": "amazon.de",
"shop_id": "321",
"product_variant_id": "5576130845",
"price": 1229,
"shipping_cost": 0,
"total_price": 1229,
"offer_url": null
},
{
"shop_name": "Galaxus.de",
"shop_id": "21754",
"product_variant_id": "5576130845",
"price": 1229,
"shipping_cost": 0,
"total_price": 1229,
"offer_url": null
}
],
"scraped_at": "2026-10-22T15:58:37.213Z"
}

Tips for Best Results

  • Start with results_wanted set to 20 to confirm the output format, then raise it.
  • Use specific keywords such as gaming laptop 16gb when you need a narrower product set.
  • Keep collectOffers enabled when shipping cost or seller comparison matters.
  • Disable collectOffers for faster runs focused on product-level pricing and specifications.
  • If you use a proxy for large or repeated runs, choose a German location.
  • Some products do not publish a GTIN, variant list, or description. Those fields can be empty for valid reasons.
  • If a run returns no products, check that the query or URL returns results on Billiger.de before contacting support.

Integrations

  • Google Sheets - Build live price comparison sheets.
  • Airtable - Create searchable product and seller databases.
  • Looker Studio - Visualize price ranges and seller spreads.
  • Webhooks - Send finished dataset information to your systems.
  • Make or Zapier - Connect price data to no-code workflows.
  • Apify API - Read datasets programmatically.

Export Formats

  • JSON - Application pipelines and APIs.
  • CSV - Spreadsheet analysis.
  • Excel - Business reporting.
  • XML - Existing integrations that require XML.

Frequently Asked Questions

How many products can I collect in one run?

Set results_wanted from 1 to 1000. The Actor stops when it reaches that number or when the source has no more results. Larger runs take longer because each product page is opened to collect full pricing details.

Can I run the Actor with only a product URL?

Yes. Put the product URL in startUrl and set results_wanted to 1. The Actor returns that product with its product-level pricing and, when enabled, the offers shown on the page.

Does a keyword search return category results or product results?

Billiger.de may redirect a keyword to a category, a category-style page, or a general search-results page. The Actor follows that destination and collects the products it finds there.

Why is highest_price different from the most expensive offer row?

highest_price is the highest price reported for the full product group, which can include variants that are not in the first page of offer rows. The offers array contains the shop rows displayed for the selected product page.

Why are only some shop offers included?

The product page shows a limited set of offers, usually the cheapest ones first. The Actor saves the offers displayed on that page. Use offer_count to see how many offers the source reports in total.

Why are some fields empty?

Billiger.de does not publish every field for every product. Missing GTIN, variant attributes, descriptions, or ratings reflect the source data, not a failed run.

Can I schedule recurring price checks?

Yes. Create an Apify schedule and reuse the same input. Each run creates a new dataset that you can compare with earlier snapshots.

Can I export the data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

Does the Actor need a proxy?

It can run without one. For larger runs or repeated schedules, a German residential proxy usually gives more consistent results.

Collecting publicly available data can be legal, but rules vary by jurisdiction and use case. You are responsible for complying with applicable laws, website terms, and privacy requirements.

Support

For issues or feature requests, use the Issues tab on the Actor page or contact the developer through Apify. Include the input you used and the run URL when reporting a problem.

This Actor is intended for legitimate collection of publicly available product and pricing information. Users are responsible for using the data responsibly and complying with applicable laws and website terms.