Obelink APIobelink.nl ↗
Access Obelink.nl product listings, reviews, brands, categories, and deals via a structured API. 8 endpoints covering search, filters, and full product details.
What is the Obelink API?
The Obelink.nl API exposes 8 endpoints covering the full product catalog of one of the Netherlands' largest camping and outdoor retailers. You can retrieve category trees, paginated product listings, detailed product records with specifications and images, and customer reviews including star-rating breakdowns. The get_product_reviews endpoint returns per-review fields like verifiedBuyer, isRecommended, ratingVotes, and image attachments — detail not commonly available from generic product feeds.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/9ad42432-0013-484a-9a50-f8b68936874d/get_categories' \ -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 obelink-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: Obelink SDK — browse categories, search products, get details & reviews."""
from parse_apis.Obelink_nl_API import Obelink, Category, Product, ProductSummary, NotFoundError
obelink = Obelink()
# List top-level categories
for cat in obelink.categories.list(limit=5):
print(cat.name, cat.url)
# Construct a category by slug and list its products
tenten = obelink.category(slug="tenten/4-persoons-tenten/")
for product in tenten.products.list(limit=3):
print(product.name, product.price, product.currency)
# Get category filters (subcategories, sort options)
filters = tenten.filters.get()
print(filters.total_results)
for sub in filters.subcategories[:3]:
print(sub.name, sub.slug)
# Search products by keyword
result = obelink.product_summaries.search(query="slaapzak", limit=1).first()
if result:
# Drill down to full product details
try:
detail = result.details()
print(detail.name, detail.sku, detail.brand, detail.price)
for review in detail.reviews.list(limit=3):
print(review.title, review.nickName, review.createdAt, review.isRecommended)
except NotFoundError as exc:
print(f"Product not found: {exc}")
# Browse deals
for deal in obelink.deal_products.list(limit=3):
print(deal.name, deal.price, deal.rating)
# List brands
for brand in obelink.brands.list(limit=5):
print(brand.name, brand.slug)
print("exercised: categories.list / category.products.list / category.filters.get / product_summaries.search / details / reviews.list / deal_products.list / brands.list")
Returns a list of top-level product categories available on obelink.nl, extracted from the homepage navigation. Categories include Tenten, Voortenten, Luifels, Kampeerartikelen, and others. Each category has a name, full URL, and slug.
No input parameters required.
{
"type": "object",
"fields": {
"categories": "array of category objects with name, url, and slug"
},
"sample": {
"data": {
"categories": [
{
"url": "https://www.obelink.nl/tenten/",
"name": "Tenten",
"slug": "tenten"
},
{
"url": "https://www.obelink.nl/voortenten/",
"name": "Voortenten",
"slug": "voortenten"
},
{
"url": "https://www.obelink.nl/kampeermeubelen/",
"name": "Kampeermeubelen",
"slug": "kampeermeubelen"
}
]
},
"status": "success"
}
}About the Obelink API
Product Catalog and Search
The get_products_by_category endpoint accepts a category_url path (e.g. /tenten/4-persoons-tenten/) and returns paginated product objects including name, price, currency, availability, rating, and review_count. Pagination is handled via an integer page parameter, and an optional sort parameter controls listing order. The search_products endpoint accepts a query string and handles Obelink's behavior of redirecting common searches to matching category or brand pages — the response includes a redirected_to field when this happens, along with the matched products and a total_results count.
Product Details and Reviews
get_product_details returns a full record for a single product by product_url, including sku, brand, images array, description, product_id, and rating. The get_product_reviews endpoint goes further, fetching paginated customer reviews for a product with fields per review item: createdAt, title, detail, nickName, ratingVotes, verifiedBuyer, isRecommended, and attached images. Summary-level fields include totalRecords, ratingSummaryValue, recommendedPercent, and a detailedSummary object with counts broken down by star tier (one through five).
Categories, Brands, Filters, and Deals
get_categories returns top-level navigation categories with name, url, and slug. get_brands returns the same shape for the full brand list from the /merken/ page. get_category_filters accepts a category_url and returns subcategories, usage_tags, sort_options, and total_results — useful for building drill-down navigation or enumerating filterable attributes before fetching products. get_deals_promotions returns currently active promotions from the /acties/ page, including product price, availability, and review_count for each deal item.
The Obelink API is a managed, monitored endpoint for obelink.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when obelink.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 obelink.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 price and availability changes for camping tents and sleeping bags across Obelink's catalog.
- Aggregate customer review sentiment using
verifiedBuyer,isRecommended, and star-tier counts fromget_product_reviews. - Build a brand-specific product feed by combining
get_brandswithget_products_by_categoryfor each brand page. - Monitor active promotional offers via
get_deals_promotionsto alert users when specific product categories go on sale. - Enumerate subcategories and usage tags with
get_category_filtersto power faceted navigation in a comparison tool. - Seed a product database with SKUs, descriptions, and images using
get_product_detailsfor individual items. - Cross-reference search redirect behavior to map common Dutch outdoor product queries to their canonical category pages.
| 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 Obelink.nl have an official developer API?+
What does `search_products` return when a query redirects to a category page?+
redirected_to field containing the resolved URL. If the redirect lands on a parent category overview with no direct product listings, the products array will be empty. You can use the page parameter to paginate through redirected results the same way as a direct category query.Does `get_product_details` return stock levels or size/variant options?+
availability as a field and includes price, sku, images, and description, but does not currently expose individual variant SKUs, size options, or per-variant stock counts. The API covers single-product records at the top-level. You can fork it on Parse and revise to add variant-level data if the product page exposes it.Can I retrieve products from a top-level parent category directly?+
get_products_by_category and get_category_filters work best with leaf categories that have direct product listings (e.g. /tenten/4-persoons-tenten/). Passing a top-level parent category URL typically returns subcategories but no products, and total_results may be null. Use get_category_filters first to identify leaf subcategory URLs before calling the product listing endpoint.Are product specifications or technical attributes returned by any endpoint?+
get_product_details endpoint returns a description field and structured fields like brand, sku, and images, but tabular specification attributes (e.g. weight, dimensions, material) are not currently exposed as structured fields. You can fork this API on Parse and revise it to parse and return those specification tables from the product page.