Discover/Toppreise API
live

Toppreise APItoppreise.ch

Access Swiss retail price comparisons, product specs, price history, and shop listings from Toppreise.ch via 6 structured API endpoints.

Endpoint health
verified 4d ago
search_products
get_price_history
get_product_details
get_product_specs
list_shops
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the Toppreise API?

The Toppreise.ch API exposes 6 endpoints covering product search, retailer offers, technical specifications, and historical price data from Switzerland's price comparison platform. The search_products endpoint accepts a keyword query and returns matching products with their starting prices and product IDs, which feed directly into detail and history lookups. All monetary values are in CHF.

Try it
Page number (0-indexed)
Search keyword (e.g. 'iPhone', 'Samsung Galaxy', 'laptop')
api.parse.bot/scraper/2ead1174-4b95-4c51-b9ff-1d8d3ea286da/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2ead1174-4b95-4c51-b9ff-1d8d3ea286da/search_products?page=0&query=iPhone' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace toppreise-ch-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.toppreise_ch_api import Toppreise, Product, Shop, Offer, ProductSpec, PriceHistory, ShopDetail

toppreise = Toppreise()

# Search for products
for product in toppreise.products.search(query="Samsung Galaxy"):
    print(product.name, product.price_starting)

    # Get offers for this product
    for offer in product.offers.list():
        print(offer.shop_name, offer.price, offer.availability)

    # Get specs
    spec = product.specs.get()
    print(spec.product_id, spec.specs)

    # Get price history
    history = product.price_history.get()
    print(history.product_id, history.history)
    break

# List all shops
for shop in toppreise.shops.list():
    print(shop.shop_id, shop.name, shop.url)

# Get shop details via sub-resource
shop = toppreise.shops.get(shop_id="150")
detail = shop.details.get()
print(detail.name, detail.url, detail.details)
All endpoints · 6 totalmissing one? ·

Search for products by keyword on Toppreise.ch with optional pagination. Returns a list of matching products with names, URLs, and starting prices. Results are paginated with 0-indexed page numbers.

Input
ParamTypeDescription
pageintegerPage number (0-indexed)
queryrequiredstringSearch keyword (e.g. 'iPhone', 'Samsung Galaxy', 'laptop')
Response
{
  "type": "object",
  "fields": {
    "page": "integer, the page number returned",
    "query": "string, the search query used",
    "products": "array of product objects with product_id, name, url, and price_starting"
  },
  "sample": {
    "data": {
      "page": 0,
      "query": "iPhone",
      "products": [
        {
          "url": "https://www.toppreise.ch/preisvergleich/Smartphones/APPLE-iPhone-17-256GB-Schwarz-MG6J4QL-A-p818737",
          "name": "APPLEiPhone17, 256GB, Schwarz (MG6J4QL/A)",
          "product_id": "818737",
          "price_starting": "748.75"
        }
      ]
    },
    "status": "success"
  }
}

About the Toppreise API

Product Search and Offers

The search_products endpoint takes a required query string and an optional 0-indexed page integer, returning an array of product objects each containing product_id, name, url, and price_starting. These IDs can be passed directly to get_product_details, which returns a full offers array — one entry per retailer — with shop_name, shop_id, shop_url, price, offer_name, and availability. Either a product_id or a product_url is accepted as input, making it straightforward to work from search results or from a known URL.

Specifications and Price History

get_product_specs retrieves the technical datasheet for a product as a flat key-value specs object. Field names reflect the German-language site (e.g. Marke, Typ, Betriebssystem, Bilddiagonale), so Swiss and European product attribute names should be expected. get_price_history takes a product_id and returns a history array of two sub-arrays — one for shipping price and one for pickup price — each as [timestamp_ms, price_chf] pairs covering approximately the past year of daily data points.

Shop Directory

list_shops requires no inputs and returns the full registry of retailers on Toppreise.ch as an array of objects with shop_id, name, and url. Specific retailer profiles can be fetched with get_shop_details, which accepts either a shop_id or shop_url and returns the shop's name, url, shop_id, and a details object containing ratings and associated metadata. This is useful for filtering offer results or building shop-level aggregations.

Reliability & maintenanceVerified

The Toppreise API is a managed, monitored endpoint for toppreise.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when toppreise.ch changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official toppreise.ch API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track daily CHF price fluctuations for electronics across Swiss retailers using get_price_history timestamp arrays.
  • Build a price alert system by polling get_product_details offers and comparing retailer prices for a specific product.
  • Aggregate product specifications from get_product_specs to create structured comparison tables for Swiss consumer electronics.
  • Index the full retailer directory with list_shops to map shop IDs to names across offer data.
  • Identify the cheapest shipping vs. pickup offer by comparing both price series in get_price_history response arrays.
  • Surface starting prices in CHF for product search results using search_products for a keyword-driven shopping tool.
  • Cross-reference get_shop_details ratings with offer prices from get_product_details to rank retailers by value and reputation.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Toppreise.ch have an official developer API?+
Toppreise.ch does not publish a public developer API or documented developer program. There is no official endpoint documentation or access portal listed on their site.
What does `get_price_history` return, and how far back does it go?+
get_price_history returns a history field containing two sub-arrays of [timestamp_ms, price] pairs — one series for shipping price and one for pickup price. Data covers approximately the past year of daily points. The endpoint requires a product_id and does not accept date range filters; you receive the full available history for that product.
Does `get_product_details` return stock levels or delivery time estimates?+
Each offer object in the offers array includes an availability field, but detailed stock counts or specific delivery-time strings are not broken out as separate fields. The API covers shop name, price, offer name, and availability status per retailer. You can fork the API on Parse and revise it to add any additional offer fields the source exposes.
Does the API cover product categories, subcategories, or category browsing?+
Not currently. The API covers keyword search via search_products, product details, specs, price history, and shop data, but does not expose a category tree or category-browse endpoint. You can fork it on Parse and revise to add the missing endpoint.
Are product specs returned in English or German?+
Specification keys in get_product_specs follow the German-language naming used on Toppreise.ch — for example Marke (brand), Betriebssystem (operating system), and Bilddiagonale (screen diagonal). Values are also in German where applicable. No translation layer is applied.
Page content last updated . Spec covers 6 endpoints from toppreise.ch.
Related APIs in EcommerceSee all →
migros.ch API
Search and browse Migros' product catalog to find items by name or category, view detailed product information, and discover current promotional offers. Get everything you need to shop smarter at Switzerland's leading supermarket.
idealo.de API
Search for products on Idealo.de and retrieve detailed information including current seller offers, price history, technical specifications, and user and expert reviews. Compare prices across sellers and access comprehensive product data to evaluate deals.
coop.ch API
Search and browse Coop.ch's entire product catalog, including detailed pricing, product information, and category organization. Find specific groceries, compare items across categories, and access up-to-date pricing data from Switzerland's Coop supermarket.
torob.com API
Search for products and compare prices across thousands of sellers on Torob.com, with access to detailed product specs, seller information, and price history. Browse categories, discover similar items, and explore store inventories to find the best deals.
skroutz.gr API
Search and compare products across Greek retailers with real-time pricing, store availability, and historical price trends from Skroutz.gr. Browse categories, view detailed product information, and read customer reviews to find the best deals on any item.
tweakers.net API
Access product listings, prices, shop comparisons, news articles, and search results from Tweakers.net — the leading Dutch tech platform and price comparison site.
comparis.ch API
Search and compare real estate listings, cars, and mortgage interest rates across the Swiss marketplace Comparis.ch with detailed filtering options and property/vehicle information. Get current mortgage rates and access comprehensive details on available properties and cars to make informed buying or financing decisions.
coolblue.be API
Search and browse electronics products from Coolblue Belgium, including CPUs, GPUs, and smartphones, with instant access to detailed specifications, pricing, and availability. Find exactly what you need by category or search query, and check real-time stock and price information across their entire catalog.