Discover/Reichelt API
live

Reichelt APIreichelt.com ↗

Search the reichelt.com electronics catalogue by keyword, brand, price range, or country site. Returns product IDs, prices incl. VAT, availability, and manufacturer facets.

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

What is the Reichelt API?

The Reichelt.com API exposes 4 endpoints for searching the reichelt.com electronics catalogue, covering article numbers, prices including country-specific VAT, availability status, and technical properties. The search_products endpoint returns up to 16 products per page with fields such as article_number, manufacturer, price, image_url, and a price_range summary. Filters for brand, price band, and country site are each exposed as dedicated endpoints.

This call costs2 credits / call— charged only on success
Try it
1-based result page; each page holds 16 products. Maximum 500.
Result ordering.
Free-text search keyword(s) or article number, e.g. one shape is 'led 5mm'.
2-letter lower-case ISO country code of the reichelt country site (e.g. nl, de, ch). Determines VAT rate and price shown. Confirmed values: nl, de, ch, us.
Site language for names, property labels and availability text.
→ api.parse.bot/scraper/073651ee-1094-433a-a4ac-053b35dc1984/<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/073651ee-1094-433a-a4ac-053b35dc1984/search_products?query=led+5mm' \
  -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 reichelt-com-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: reichelt elektronik SDK — search electronics, filter by brand and price."""
from parse_apis.reichelt_com_api import Reichelt, SortOrder, Language, InputFormatInvalid

client = Reichelt()

# Browse the full search metadata to discover manufacturers and price range.
result = client.search_results.search(query="led 5mm")
print(f"{result.matched_count} products, price €{result.price_range.min}–€{result.price_range.max}")
for mfr in result.manufacturers[:3]:
    print(f"  {mfr.name}: {mfr.product_count} products")

# Auto-paginate products sorted by price, capped at 5 items.
for product in client.products.search(query="led 5mm", sort=SortOrder.PRICE_ASC, limit=5):
    print(f"{product.name}  €{product.price}  [{product.availability}]")

# Narrow by a manufacturer discovered above.
top_brand = result.manufacturers[0].name
branded = client.products.search_by_brand(query="led 5mm", brand=top_brand, limit=3)
first_hit = branded.first()
if first_hit is not None:
    print(f"{first_hit.name} by {first_hit.manufacturer} — {first_hit.article_number}")
    print(f"  {first_hit.url}")
    for key, val in first_hit.properties.items():
        print(f"  {key}: {val}")

# Filter by price range on the Swiss site (different VAT).
for product in client.products.search_by_price(
    query="led 5mm", min_price=1, max_price=5, country="ch", language=Language.DE, limit=3
):
    print(f"{product.name}  €{product.price}  {product.currency}")

# Same query on the Swiss country site via location search.
ch_result = client.search_results.search_by_location(query="led 5mm", country="ch", language=Language.DE)
print(f"Swiss site: {ch_result.matched_count} matches, {ch_result.country}/{ch_result.language}")

# Demonstrate typed error handling for an invalid price filter.
try:
    client.search_results.search_by_price(query="led 5mm", min_price=-1)
except InputFormatInvalid as e:
    print(f"Caught invalid input: {e.message}")

print("exercised: products.search / search_results.search / products.search_by_brand / products.search_by_price / search_results.search_by_location")
All endpoints · 4 totalmissing one? ·

Keyword search over the reichelt.com catalogue. Returns one page of up to 16 product summaries (fixed page size; `page` selects the 1-based page, omitted = first page) with the article number, name, manufacturer, product URL, image, price (incl. VAT of the selected country, EUR), availability text/status code and the technical properties the site lists for the product. Also returns `manufacturers` facets (manufacturer name and product count across the whole result set) and `price_range` (min/max price across the result set, null when nothing matched). `matched_count` is the number of products in the result set; `total_count` is the unfiltered count for the keyword (equal here, differs on the filtered variants). Search terms are matched in the chosen `language`, so Dutch terms on the nl site and German terms on the de site give the best results. A keyword that matches nothing returns an empty `products` array. Property labels and availability text are in the selected language.

Input
ParamTypeDescription
pageinteger1-based result page; each page holds 16 products. Maximum 500.
sortstringResult ordering.
queryrequiredstringFree-text search keyword(s) or article number, e.g. one shape is 'led 5mm'.
countrystring2-letter lower-case ISO country code of the reichelt country site (e.g. nl, de, ch). Determines VAT rate and price shown. Confirmed values: nl, de, ch, us.
languagestringSite language for names, property labels and availability text.
Response
{
  "type": "object",
  "fields": {
    "page": "1-based page returned",
    "sort": "ordering applied",
    "query": "echo of the search keyword",
    "country": "country site actually used (2-letter code, from the site response)",
    "has_more": "true when a further page exists in the result set",
    "language": "language actually used (2-letter code, from the site response)",
    "products": "array of product summaries: product_id (site numeric id), article_number, name, manufacturer, url, image_url, price (number, incl. VAT), currency, price_note (VAT/shipping wording), availability (text), availability_status (site numeric status code, 1 = in stock), properties (object of label -> value technical attributes)",
    "page_size": "products per page (always 16)",
    "price_range": "object {min, max} of prices across the result set in EUR, or null when nothing matched",
    "total_count": "number of products matching the keyword before any brand/price filter",
    "manufacturers": "array of {manufacturer, product_count} facets across the result set",
    "matched_count": "number of products in the (filtered) result set"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "relevance",
      "query": "led 5mm",
      "country": "nl",
      "has_more": true,
      "language": "nl",
      "products": [
        {
          "url": "https://www.reichelt.com/nl/nl/shop/product/led_5_mm_bedraad_groen_100_mcd_15_-361910",
          "name": "LED 5 mm, bedraad, groen, 100 mcd, 15°",
          "price": 0.06,
          "currency": "EUR",
          "image_url": "https://cdn-reichelt.de/resize/130%2F-/web/artikel_ws/C700%2F5003G6CBHAP.jpg?type=Product&resize=130%252F-&",
          "price_note": "incl. 21% wettelijke btw excl. verzendkosten",
          "product_id": "361910",
          "properties": {
            "Type": "LED",
            "Kleur": "groen",
            "Golflengte": "575 nm",
            "Lichtsterkte": "100 mcd"
          },
          "availability": "op voorraad, Levertijd 2 - 3 werkdagen",
          "manufacturer": "HUIYUAN OPTO-ELECTRONIC",
          "article_number": "5003G6C-BHA-P",
          "availability_status": 1
        }
      ],
      "page_size": 16,
      "price_range": {
        "max": 221,
        "min": 0.04
      },
      "total_count": 559,
      "manufacturers": [
        {
          "manufacturer": "HUIYUAN OPTO-ELECTRONIC",
          "product_count": 139
        },
        {
          "manufacturer": "KINGBRIGHT",
          "product_count": 77
        }
      ],
      "matched_count": 559
    },
    "status": "success"
  }
}

About the Reichelt API

What the API covers

All four endpoints query the reichelt.com product catalogue by free-text keyword or article number. Every response returns a fixed page of 16 product summaries, each carrying a product_id (the site's numeric identifier), article_number, name, manufacturer, url, image_url, and price in EUR inclusive of the VAT rate applied by the selected country site. The total_count field reports how many products matched the keyword before any filter, while has_more lets you drive paginated loops up to page 500.

Filtering by brand, price, or location

search_brand accepts a comma-separated brand parameter (values come from manufacturers[*].manufacturer in any prior search response) and returns only products from those manufacturers, alongside a matched_count for the filtered set and the unfiltered total_count. search_price restricts results to a whole-euro price band via min_price and max_price integers; fractional euro bounds are not accepted. search_location makes the country parameter required, letting you target specific reichelt country sites — the Dutch site applies 21% VAT while the Swiss site applies 8.1%, and delivery-time wording in the response text reflects the country chosen.

Response fields and pagination

Every endpoint returns the same core shape: page, page_size (always 16), sort, query, country, language, has_more, products array, price_range object ({min, max} in EUR across the result set, or null on no match), and total_count. The language and country fields echo what the site actually applied, which may differ from the requested values if an unsupported combination was given. Sort order is controlled by the optional sort parameter, though accepted sort values are not enumerated in the API; pass the sort string as the site uses it.

Reliability & maintenanceVerified

The Reichelt API is a managed, monitored endpoint for reichelt.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when reichelt.com 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 reichelt.com 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
4/4 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
  • Compare prices across reichelt country sites for the same component article number using search_location with different country codes.
  • Build a brand-specific product catalogue feed using search_brand with manufacturer names sourced from manufacturers[*].manufacturer.
  • Monitor in-stock availability of a component category by polling search_products and reading the availability field on each product.
  • Find all components in a budget range using search_price with min_price and max_price whole-euro bounds.
  • Aggregate price_range across multiple keyword queries to map cost floors and ceilings for a bill-of-materials category.
  • Drive a paginated component export by walking page from 1 to the value implied by total_count divided by 16, checking has_more on each response.
  • Resolve a supplier article number to product metadata (name, image, manufacturer, URL) by passing the article number as the query parameter to search_products.
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 reichelt.com offer an official developer API?+
Reichelt does not publish a documented public developer API for third-party catalogue access. This Parse API provides structured access to the product search catalogue.
How does price filtering work, and what are its limits?+
search_price applies whole-euro bounds (min_price, max_price) to the displayed price inclusive of VAT for the selected country. Fractional euro values are not accepted. Either bound can be omitted to leave that end open. The returned price_range object reflects the actual min and max prices across the filtered result set in EUR.
Does the API return product detail pages, specifications tables, or datasheet links?+
Not currently. The API returns the summary fields available from search results: article_number, name, manufacturer, price, image_url, url, availability status, and technical properties included in the search listing. Full specification tables and datasheet links are not part of the current response shape. You can fork this API on Parse and revise it to add a product-detail endpoint that fetches the individual product page.
How does country selection affect the prices and text returned?+
The country parameter (e.g. nl, de, ch) routes the query to the corresponding reichelt country site. Each site applies its local VAT rate — for example, the Netherlands applies 21% and Switzerland 8.1% — so the price field in the response reflects that country's displayed price. Availability and delivery-time wording in the response also comes from the selected site. The country field in the response confirms what was actually applied.
Can I retrieve customer reviews or ratings for a product?+
Not currently. The API covers product catalogue fields — price, availability, manufacturer, article number, image, and technical properties from search listings. Customer reviews and ratings are not part of the response. You can fork this API on Parse and revise it to add a reviews endpoint targeting individual product pages.
Page content last updated . Spec covers 4 endpoints from reichelt.com.
Related APIs in EcommerceSee all →