Megekko APImegekko.nl ↗
Search and browse megekko.nl's Dutch electronics catalog via API. Get product specs, pricing, availability, reviews, and category trees across 4 endpoints.
What is the Megekko API?
The Megekko.nl API provides access to the full product catalog of this Dutch electronics retailer across 4 endpoints, returning pricing, availability, technical specifications, and user reviews. The get_product_details endpoint fetches grouped specification tables, comparable product suggestions, and delivery information for any product URL. The get_category_tree endpoint exposes the complete navigation hierarchy, making it straightforward to discover and enumerate leaf-level categories for bulk product retrieval.
curl -X GET 'https://api.parse.bot/scraper/0388e1c5-dbb8-42cf-966f-cefb12270283/search_products?query=RTX+5070' \ -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 megekko-nl-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.
"""Walkthrough: Megekko SDK — search products, get details, browse categories."""
from parse_apis.megekko_scraper_api import Megekko, ProductNotFound
client = Megekko()
# Search for graphics cards, cap results to 5
for product in client.products.search(query="RTX 5070", limit=5):
print(product.name, product.price, product.availability)
# Drill into the first result's full details
product = client.products.search(query="Samsung SSD", limit=1).first()
if product:
detail = client.productdetails.get(url=product.url)
print(detail.title, detail.price)
print(detail.specifications)
# List all categories and their subcategories
category = client.categories.list(limit=3).first()
if category:
print(category.name, category.url)
for sub in category.subcategories:
print(f" {sub.name}: {sub.url}")
# Browse a category's products using constructible Category
gpu_cat = client.category(name="Computer/Componenten/Videokaarten/Nvidia-Videokaarten")
for item in gpu_cat.list_products(limit=3):
print(item.name, item.price, item.url)
# Handle a product that doesn't exist
try:
client.productdetails.get(url="https://www.megekko.nl/product/0/000000/X/NonExistent")
except ProductNotFound as exc:
print(f"Product not found: {exc.url}")
print("exercised: products.search / productdetails.get / categories.list / category.list_products")Full-text search over megekko.nl product catalog. Returns matching products with pricing, availability, category, and direct URLs. Results are ordered by relevance. A single request returns all matches (no server-side pagination).
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (e.g. 'RTX 4090', 'Intel Core i9', 'Samsung SSD'). |
{
"type": "object",
"fields": {
"products": "array of product objects with id, name, price, availability, url, category, brand, ean",
"total_results": "integer, total number of matching products"
},
"sample": {
"data": {
"products": [
{
"id": 977930,
"ean": null,
"url": "https://www.megekko.nl/product/1963/977930/Nvidia-Videokaarten/MSI-GeForce-RTX-5080-16G-The-Mandalorian-and-Grogu-Edition-OC-Videokaart?s_o=1",
"name": "MSI GeForce RTX 5080 16G The Mandalorian and Grogu Edition OC Videokaart",
"brand": null,
"price": "1499.00",
"category": "Nvidia Videokaarten",
"availability": "Uit eigen voorraad leverbaar. Levertijd:1 dag (vrijdag)"
}
],
"total_results": 489
},
"status": "success"
}
}About the Megekko API
Search and Product Lookup
The search_products endpoint accepts a single query string — such as 'RTX 4090' or 'Samsung SSD' — and returns all matching products in a single response with no server-side pagination. Each result includes id, name, price, availability, url, category, brand, and ean. The total_results field indicates how many matches were found. Product URLs returned here are the direct inputs to get_product_details.
Product Detail and Specifications
get_product_details takes a full megekko.nl product URL and returns the complete detail record: title, price in EUR, availability (including delivery information), a specifications object that maps category names to key-value pairs of technical attributes, an array of reviews with author, rating, text, and date, and a comparable_products array with name, price, and url for each suggestion. Specification depth varies by product type — a GPU will return memory, TDP, and connector data; a storage device will return capacity, interface, and read/write speeds.
Category Browsing
get_category_tree requires no inputs and returns the full navigation hierarchy as an object keyed by top-level category name, each containing a url and an array of subcategories with name and url. Subcategory paths from this response feed directly into get_category_products, which paginates at 50 products per page using the page parameter (1-indexed). Only leaf-level category_path values reliably return products — intermediate parent paths may return empty results.
Coverage Notes
All data reflects megekko.nl's Dutch-market inventory. Prices are in EUR. Availability strings describe Dutch-market stock and delivery conditions. EAN codes are included in search results where megekko.nl exposes them, but may be absent for some products.
The Megekko API is a managed, monitored endpoint for megekko.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when megekko.nl 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 megekko.nl 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 real-time price and availability for Dutch-market GPUs, CPUs, and SSDs using
search_products. - Build a product comparison tool by pulling
specificationsgrouped tables fromget_product_detailsfor multiple items. - Aggregate user review sentiment for electronics categories using the
reviewsarray fromget_product_details. - Enumerate all products in a specific hardware category (e.g. Nvidia graphics cards) via
get_category_treeandget_category_productswith pagination. - Extract EAN codes from
search_productsresults to cross-reference megekko.nl listings with other European retailers. - Monitor
comparable_productssuggestions to understand how megekko.nl positions competing items within the same product page. - Populate a price-alert system by periodically querying
get_product_detailsfor target product URLs and comparing the returnedpricefield.
| 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 megekko.nl have an official developer API?+
What does `get_category_products` return, and how does pagination work?+
name, url, price, and availability — for a given leaf-level category_path. Results are paginated at 50 items per page, controlled by the page parameter (starting at 1). Using a parent or intermediate category path instead of a leaf path will typically return no results.Does `search_products` support filtering by brand, price range, or specification?+
query string. It returns brand, price, category, and ean fields in results, but server-side filtering by those fields is not supported. You can fork this API on Parse and revise it to add filter parameters.