Alternate APIalternate.be ↗
Access alternate.be product listings, prices, stock availability, technical specs, customer reviews, and deals via 6 structured API endpoints.
What is the Alternate API?
The alternate.be API gives developers structured access to Belgium's alternate.be electronics catalog across 6 endpoints, covering product search, category browsing, product details, customer reviews, category navigation, and active promotions. The get_product_detail endpoint alone returns grouped technical specifications, stock status, and pricing in a single call, making it straightforward to build price trackers, comparison tools, or inventory monitors against a major Belgian electronics retailer.
curl -X GET 'https://api.parse.bot/scraper/ca044431-5a29-4334-b894-d6d65afc5bb4/search_products?page=0&query=nvidia' \ -H 'X-API-Key: $PARSE_API_KEY'
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 alternate-be-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.alternate_be_product_api import Alternate, Product, ProductDetail, Review, Category, Deal
client = Alternate()
# Search for graphics cards
for product in client.products.search(query="RTX", limit=5):
print(product.name, product.price, product.availability, product.rating)
# Browse a category
for gpu in client.products.by_category(category="Grafische-kaarten", limit=3):
print(gpu.name, gpu.price, gpu.product_id)
# Get detailed specs for a product
first = next(iter(client.products.search(query="monitor", limit=1)))
detail = first.details()
print(detail.name, detail.price, detail.availability, detail.description)
# List reviews for that product
for review in first.reviews.list(limit=5):
print(review.author, review.rating, review.comment, review.verified)
# Browse the category tree
for cat in client.categories.list():
print(cat.name, cat.tree_id)
# Check current deals
for deal in client.deals.list():
print(deal.title, deal.url, deal.section)
Full-text search across all products on alternate.be. Returns paginated product listings with price, availability, and rating. Pagination is 0-indexed. Each result includes a product_id usable for reviews and a url usable for detail lookup.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed). |
| queryrequired | string | Search keyword (e.g. 'nvidia', 'laptop', 'monitor'). |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search keyword used",
"products": "array of product objects with product_id, name, url, price, availability, rating, rating_count, specs_summary",
"total_pages": "integer, total number of result pages"
},
"sample": {
"data": {
"page": 0,
"query": "nvidia",
"products": [
{
"url": "https://www.alternate.be/MSI/GT-710-2GD3H-LP-grafische-kaart/html/product/1250613",
"name": "MSI GT 710 2GD3H LP grafische kaart",
"price": "€ 59,90",
"rating": 4.5,
"product_id": "1250613",
"availability": "Op voorraad",
"rating_count": 50,
"specs_summary": [
"Grafische chip: NVIDIA GeForce GT 710",
"Geheugen: 2 GB (DDR3, 64 bit)",
"Bezette slots: 1 Slots"
]
}
],
"total_pages": 1
},
"status": "success"
}
}About the Alternate API
Product Search and Category Browsing
The search_products endpoint accepts a query string and an optional 0-indexed page parameter, returning an array of product objects that each include product_id, name, url, price, availability, rating, rating_count, and specs_summary. The total_pages field lets you paginate through large result sets programmatically. The get_category_listings endpoint works similarly but takes a category path segment such as Grafische-kaarten or Processoren. Pass a parent category like Hardware and the response returns a subcategories array instead of products, which is useful for dynamically walking the catalog tree.
Product Details and Reviews
get_product_detail takes a full alternate.be product URL and returns a structured object containing name, price, availability, description, and a specifications object keyed by specification group (e.g., GPU clock, memory type, TDP). This grouping mirrors the spec table on the product page and is ready to render or diff without further parsing. get_product_reviews accepts a numeric product_id and returns an array of review objects with author, date, rating, comment, and verified fields, alongside total_reviews and average_rating at the top level.
Category Tree and Deals
get_category_tree requires no parameters and returns the full top-level navigation as an array of category objects with name, tree_id, and nested subcategories. This is the right starting point for building a crawler or a category-aware browsing interface. get_deals_promotions returns the current Acties (promotions) page content, organized into named sections such as Nieuwe acties, Lopende acties, and Recent afgelopen acties, with each deal carrying a title, url, image, and section field.
The Alternate API is a managed, monitored endpoint for alternate.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when alternate.be 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 alternate.be 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes on specific GPUs or CPUs using
get_product_detailwith scheduled polling. - Build a category-aware product browser by combining
get_category_treewithget_category_listingsfor leaf nodes. - Aggregate customer sentiment for electronics products using the
rating,comment, andverifiedfields fromget_product_reviews. - Monitor current Belgian electronics deals by polling
get_deals_promotionsfor new entries in theNieuwe actiessection. - Compare technical specifications across competing products by parsing the grouped
specificationsobject fromget_product_detail. - Generate a full catalog index by paginating
search_productsacross broad queries and collectingproduct_idandurlfields. - Alert on stock status changes by comparing the
availabilityfield from repeatedget_product_detailcalls.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does alternate.be offer an official developer API?+
What does `get_category_listings` return for a parent category versus a leaf category?+
Grafische-kaarten, the response includes a products array with price, availability, and rating data. For parent categories such as Hardware, the products array is empty and a subcategories array is returned instead, containing the names and URLs of child categories. You need to use leaf-level category path segments to retrieve actual product listings.Are seller or merchant details included in product listings?+
Does the reviews endpoint return all reviews or only a subset?+
get_product_reviews endpoint returns reviews for the given product_id along with total_reviews and average_rating. The endpoint does not expose pagination parameters, so very large review sets may be truncated to what is available in the default response. You can fork the API on Parse and revise it to add review pagination if full coverage is needed.Is pricing data returned in a structured numeric format or as a formatted string?+
price field in both listing endpoints and get_product_detail is a formatted string including the currency symbol (e.g., € 349,00). It is not returned as a separate numeric value and currency code. You can fork the API on Parse and revise it to parse the price string into a numeric field if your application requires numeric comparisons.