Discover/Azerty API
live

Azerty APIazerty.nl ↗

Search the azerty.nl Dutch IT retailer catalog. Get product names, EUR prices (incl./excl. VAT), delivery info, and product URLs via one endpoint.

Endpoint health
verified 3h ago
search_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
4h ago

What is the Azerty API?

The Azerty.nl API gives developers access to the azerty.nl product catalog through a single search_products endpoint that returns up to 10 fields per product card, including EUR prices with and without VAT, delivery status in Dutch, and direct product URLs. It covers the full keyword-searchable range of IT hardware and consumer electronics listed on the site, with support for pagination and sort ordering.

This call costs10 credits / call— charged only on success
Try it
1-based result page number.
Result ordering, one of the site's sort menu options.
Free-text search keywords, e.g. a brand and model name.
Products per page; the site accepts exactly 12, 24 or 36, other values are rejected.
→ api.parse.bot/scraper/bc9a5fa8-6431-42f2-bb05-05a248f0d26b/<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/bc9a5fa8-6431-42f2-bb05-05a248f0d26b/search_products?sort=popularity&query=logitech+mx+master' \
  -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 azerty-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: azerty.nl product search — bounded, re-runnable."""
from parse_apis.azerty_nl_api import Azerty, SortOrder, InvalidInput

client = Azerty()

# Search for a popular product line, capped at 5 results.
for product in client.products.search(query="logitech mx master", limit=5):
    print(f"{product.name}  €{product.price_incl_vat:.2f} incl. VAT")

# Drill into the cheapest-first result for a broader query.
cheapest = client.products.search(
    query="mechanical keyboard", sort=SortOrder.PRICE_ASC, limit=1
).first()
if cheapest is not None:
    print(f"\nCheapest keyboard: {cheapest.name}")
    print(f"  Price excl. VAT: €{cheapest.price_excl_vat:.2f}")
    print(f"  Delivery: {cheapest.delivery}")
    print(f"  URL: {cheapest.url}")

# Demonstrate the typed error for an invalid sort value.
try:
    client.products.search(query="monitor", sort="banana", limit=1).first()
except InvalidInput:
    print("\nCaught InvalidInput for unsupported sort value.")

print("\nexercised: products.search (pagination, sort enum, error handling)")
All endpoints · 1 totalmissing one? ·

Keyword search over the azerty.nl product catalog. One round trip returns one page of product cards: product_id, name, short description, price_incl_vat and price_excl_vat (EUR, as shown on the site), delivery indication (Dutch text as displayed) and the product page URL. total_results is the site's reported result count for the query; has_more is true when the site offers a next page. Pagination is caller-controlled: page (1-based, default 1) and page_size (the site accepts 12, 24 or 36; default 24). sort selects the site's result ordering (default popularity). Some generic keywords (for example a category name like 'laptop') are redirected by the site to a category listing; in that case redirected_to carries the category URL and products/total_results reflect that listing, otherwise redirected_to is null. A query with no matches returns an empty products array with total_results 0.

Input
ParamTypeDescription
pageinteger1-based result page number.
sortstringResult ordering, one of the site's sort menu options.
queryrequiredstringFree-text search keywords, e.g. a brand and model name.
page_sizeintegerProducts per page; the site accepts exactly 12, 24 or 36, other values are rejected.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page returned",
    "sort": "sort code applied",
    "query": "echo of the search keywords",
    "has_more": "boolean, true when a next page exists",
    "products": "array of product cards on this page",
    "page_size": "integer products per page requested",
    "redirected_to": "category listing URL when the site redirected the keyword to a category, otherwise null",
    "total_results": "integer total matching products reported by the site (0 when nothing matches)",
    "products[].url": "product page URL",
    "products[].name": "product title",
    "products[].currency": "ISO currency code of the prices (EUR)",
    "products[].delivery": "delivery-time indication as displayed (Dutch), null when absent",
    "products[].product_id": "string site product id",
    "products[].description": "short spec line shown under the title, null when absent",
    "products[].price_excl_vat": "number, price excluding VAT in EUR",
    "products[].price_incl_vat": "number, price including VAT in EUR"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "popularity",
      "query": "logitech mx master",
      "has_more": true,
      "products": [
        {
          "url": "https://azerty.nl/product/logitech-master-series-mx-master-3s-for-business-muis/4976738",
          "name": "Logitech Master Series MX Master 3S for Business - Muis",
          "currency": "EUR",
          "delivery": "Volgende werkdag in huis",
          "product_id": "950420",
          "description": "ergonomisch - rechtshandig - optisch",
          "price_excl_vat": 77.87,
          "price_incl_vat": 94.22
        }
      ],
      "page_size": 24,
      "redirected_to": null,
      "total_results": 52
    },
    "status": "success"
  }
}

About the Azerty API

What the API Returns

The search_products endpoint accepts a free-text query (required) and returns a paginated list of product cards from the azerty.nl catalog. Each card includes products[].name, products[].url, price_incl_vat, price_excl_vat (both in EUR, matching what the site displays), a short description, a delivery indication in Dutch as shown on the site, and an internal product_id. The response also includes total_results so you can gauge how many matches exist for a given query.

Pagination and Sorting

Results are paged using the page parameter (1-based). The page_size parameter controls how many products appear per page, but only the values 12, 24, or 36 are accepted — any other value is rejected. The has_more boolean tells you whether a subsequent page exists without requiring a separate count call. Sort ordering can be set via the sort parameter using the same sort options the site exposes in its sort menu.

Redirects and Edge Cases

When a keyword search on azerty.nl resolves to a category listing rather than a standard search results page, the response includes a non-null redirected_to field containing the category URL. When no products match, total_results returns 0 and products is an empty array. The query field in the response echoes back the original search keywords for correlation when batching multiple requests.

Reliability & maintenanceVerified

The Azerty API is a managed, monitored endpoint for azerty.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when azerty.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 azerty.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.

Last verified
3h ago
Latest check
1/1 endpoint 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 price changes (incl. and excl. VAT) for specific IT hardware models on azerty.nl over time
  • Build a Dutch-market price comparison tool using EUR prices from the azerty.nl catalog
  • Monitor delivery availability for components by checking the Dutch delivery indication field
  • Aggregate product listings from azerty.nl by brand or model using keyword queries
  • Sync azerty.nl product URLs and names into an internal product database for procurement teams
  • Identify which search terms redirect to category pages using the redirected_to response field
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does azerty.nl have an official developer API?+
Azerty.nl does not publish a documented public developer API. This Parse API provides structured programmatic access to the product catalog that azerty.nl does not otherwise expose to developers.
What does the `search_products` endpoint return for each product?+
Each product card includes a product_id, name, short description, price_incl_vat and price_excl_vat in EUR, a delivery indication in Dutch text, and the product page url. The response also carries top-level metadata: total_results, has_more, page, page_size, sort, and redirected_to.
Are there restrictions on the `page_size` parameter?+
Yes. The page_size parameter only accepts the values 12, 24, or 36. Passing any other integer will result in a rejected request. This mirrors the pagination options available on the azerty.nl site.
Does the API return individual product detail pages, reviews, or stock quantities?+
Not currently. The API covers keyword search results with pricing, delivery indication, and product URLs. Individual product detail pages, customer reviews, and numeric stock levels are not included. You can fork this API on Parse and revise it to add an endpoint that fetches full product detail page data.
Is the delivery indication field in English?+
No. The delivery indication is returned in Dutch, exactly as displayed on the azerty.nl site — for example, phrases like 'Morgen in huis' or 'Op voorraad'. Your application will need to handle Dutch text for this field. The API does not currently translate or normalize these strings, but you can fork it on Parse and revise it to add a translation layer.
Page content last updated . Spec covers 1 endpoint from azerty.nl.
Related APIs in EcommerceSee all →