Product API
For purchasing systems, scripts and AI agents: the range the shop shows can also be read over HTTP. The interface is public, needs no authentication and returns JSON. Prices are net list prices in EUR; orders still go through the shop or an enquiry.
Machine-readable description
- OpenAPI 3.1: https://www.whichsensor.com/openapi.json
- API catalog (RFC 9727): https://www.whichsensor.com/.well-known/api-catalog
- Service status: https://www.whichsensor.com/api/health
- MCP server for AI agents: https://www.whichsensor.com/api/public-mcp
Search products
GET https://www.whichsensor.com/api/products
query | Search term: type designation, part number or free text. |
filters | JSON array of filters, URL-encoded (see below). |
sort | Sort key from sorting_options[].key of a previous response. |
sort-order | asc or desc. |
limit | Results per page, default 48, at most 50. |
offset | Start position for the next page, default 0. |
lang | de (default) or en: language of labels and facets. |
curl "https://www.whichsensor.com/api/products?query=inductive%20sensor%20M12&limit=10&lang=en"The response holds the results (results), their total count (total_results) and the facets of the result set (filter_options). A facet's key is the filter key for filters: choice values as {"value": "…"}, numeric ranges as {"min": …, "max": …}.
[{"key":"category","values":[{"value":"pressure_sensor"}]},
{"key":"EF004103","values":[{"min":50,"max":500}]}]Product details
GET https://www.whichsensor.com/api/products/{id}
Returns one product with all technical attributes (facts), images, list price (pricing, null for price on request) and the manufacturer's volume discount tiers (tiers). The id comes from a search result.
curl "https://www.whichsensor.com/api/products/123456"MCP server for AI agents
The same range as an MCP server (Streamable HTTP) for customers with a Which Sensor account. It searches the catalogue, shows your price next to the list price for every product (the list price minus the discount your company has with Which Sensor) and can file a quote request with request_quote:https://www.whichsensor.com/api/public-mcp. Add it in Claude, ChatGPT and other clients as a remote MCP server or connector with this URL; the client signs in via OAuth and you confirm access in yourcustomer account. No account yet? Register for free. At most 15 tool calls per minute and 250 per day and customer.
search_products | Search products |
get_product | Product details |
get_alternatives | Find alternatives |
get_filter_reference | Filter keys |
get_shop_info | Shop information |
request_quote | Request a quote |
Claude Code
claude mcp add --transport http whichsensor-products https://www.whichsensor.com/api/public-mcpCursor (.cursor/mcp.json)
{
"mcpServers": {
"whichsensor-products": {
"url": "https://www.whichsensor.com/api/public-mcp"
}
}
}VS Code (.vscode/mcp.json)
{
"servers": {
"whichsensor-products": {
"type": "http",
"url": "https://www.whichsensor.com/api/public-mcp"
}
}
}Descriptions for automatic setup:Server Card,AI Catalog,Agent Skill.
Errors
Errors come as JSON with an error field: 400 for an invalid ID, 404 for a product that is not in the range, 503 when search is temporarily unavailable.
429 with Retry-After when a limit is reached: at most 30 requests per minute and 1,500 products per day per sender. A search counts with itslimit, a product detail with 1.
