Billiger Price Comparison Scraper 🏷️
Pricing
from $0.80 / 1,000 results
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
Maintained by CommunityActor stats
1
Bookmarked
13
Total users
4
Monthly active users
2 days ago
Last modified
Categories
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?
| Field | Description |
|---|---|
product_name | Product title shown on Billiger.de |
brand | Product brand or manufacturer |
category | Product category |
gtin | GTIN or EAN code when the source publishes it |
sku | Product or variant code |
product_id | Billiger product identifier |
object_type | Product page type such as baseproduct, product, or pricelist |
lowest_price | Lowest price found for the product |
highest_price | Highest price found for the product |
offer_count | Number of offers reported for the product |
rating | Average rating on a 1 to 5 scale |
review_count | Number of ratings or reviews |
image_url | Product image URL |
short_description | Property summary from the product card |
description | Product description text when available |
variant_count | Number of variants in the product group |
variant_attributes | Property and value pairs for the displayed variant |
currency | Currency code, normally EUR |
product_url | Product page URL |
source_listing_url | Listing or search URL used to find the product |
source_page | Listing page number where the product appeared |
offers | Shop-level offers with price, shipping, and total price |
scraped_at | ISO timestamp for the collection time |
How to use Billiger Price Comparison Scraper
- Open the Actor in Apify Console.
- Enter a search query, or provide a Billiger.de product or category URL.
- Set the maximum number of products.
- Choose whether to include shop-level offers.
- Run the Actor and open the dataset.
- Download the result as JSON, CSV, Excel, or XML, or connect it to another tool.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | String | No | laptop | Product name or keywords to search for. Used when no URL is supplied. |
startUrl | String | No | - | A Billiger.de product, category, or search-results URL. Takes precedence over searchQuery. |
results_wanted | Integer | No | 20 | Maximum number of products to save. Accepts 1 to 1000. |
collectOffers | Boolean | No | true | Include the shop-level offer rows shown on each product page. |
proxyConfiguration | Object | No | No proxy | Proxy settings for the run. If you use a proxy, choose a German location. |
Output Data
| Field | Type | Description |
|---|---|---|
product_name | String | Product title |
brand | String | Brand or manufacturer |
category | String | Product category |
gtin | String | GTIN or EAN code |
sku | String | Product or variant code |
product_id | String | Billiger product identifier |
object_type | String | Product page type |
lowest_price | Number | Lowest price in EUR |
highest_price | Number | Highest price in EUR |
offer_count | Integer | Reported number of offers |
rating | Number | Average rating from 1 to 5 |
review_count | Integer | Number of ratings or reviews |
image_url | String | Product image URL |
short_description | String | Short property summary |
description | String | Longer description when available |
variant_count | Integer | Number of product variants |
variant_attributes | Array | Variant property and value strings |
currency | String | Currency code |
product_url | String | Product page URL |
source_listing_url | String | Listing URL used for discovery |
source_page | Integer | Listing page number |
offers | Array | Shop offers with shop_name, shop_id, product_variant_id, price, shipping_cost, total_price, and offer_url |
scraped_at | String | ISO 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
Keyword search
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_wantedset to 20 to confirm the output format, then raise it. - Use specific keywords such as
gaming laptop 16gbwhen you need a narrower product set. - Keep
collectOffersenabled when shipping cost or seller comparison matters. - Disable
collectOffersfor 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.
Is it legal to collect data from Billiger.de?
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.
Legal Notice
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.
