Developers
Dinilu's catalogue, live pricing and shipping quotes are available to software, not only to people. Two interfaces serve the same data: a Model Context Protocol server for AI assistants, and a plain JSON REST API for everything else. Both are public, read-only, and need no key or registration.
Model Context Protocol
If your client speaks MCP, prefer it. Tool arguments are JSON, so nothing has to be squeezed into a query string.
The endpoint is /mcp on this domain, JSON-RPC 2.0 over POST. It is stateless and does not open an SSE stream.
Three tools are published:
search_products— find products by free text, by category, or both.get_product— a product's configurable attributes and their options, its minimum order quantity and quantity step.get_quote— price a specific configuration and quantity, with production time and shipping options.
Every domain and language is a separate endpoint, with its own catalogue, prices and currency. Connect to the one whose market you want rather than translating results yourself.
Connecting an assistant
The endpoint is a public HTTPS URL and needs no key, so most clients need nothing but the address:
https://dinilu.eu/mcp
- Claude — Settings → Connectors → Add custom connector, and paste the URL. On Team and Enterprise plans an organisation owner can add it once for everyone under Organization settings.
- ChatGPT — enable developer mode under Settings → Apps, then create an app pointing at the URL.
- Cursor, VS Code and other editors — add
{"url": "https://dinilu.eu/mcp"}to your MCP configuration.
Swap the domain for the market you want: https://dinilu.de/mcp answers in German and prices in its own currency, with its own catalogue and shipping methods.
JSON REST API
GET /api/products— every product available on this domain, in this language.GET /api/product/{mpn}— one product's attributes, options, order quantities and images.GET /api/quote?mpn={mpn}&qty={qty}&attributes={config}— a live price, production time and shipping options.
Finding a product number
Every product page carries its MPN in its JSON-LD structured data, and links to its own JSON through a <link rel="alternate" type="application/json"> tag in the page head. You can also list the catalogue and search it.
Configuring a quote
Options are chosen by id: attributes={attribute id}:{option id}, with pairs separated by |. Both ids come from get_product. Option names are accepted too, but they are translated per domain and must match exactly, so ids are the reliable form. Every product response includes a runnable example.
What the numbers mean
- Quotes are indicative, not binding. They are calculated live from current costs, exchange rates and freight tariffs, and the response says so.
- Prices are per piece and exclude VAT, in the currency of the domain you called.
- Shipping options are priced individually. The selling legal entity follows the shipping method rather than the domain, so each option names its own supplier.
- Minimum order quantities are real. A quantity below the minimum is adjusted upward and the response returns a warning saying so.
Every response carries a warnings array. It is worth reading: it is where the API tells you that a quantity was adjusted, an option defaulted, or a country could not be resolved.
Fair use
There is no API key and no hard rate limit. Please be reasonable — cache what does not change, and do not enumerate the catalogue more often than it changes. If you need volume access, a guaranteed rate, or a commercial integration, use the contact form and say what you are building.
Machine-readable index
/llms.txt is a short summary for AI assistants, and /llms-full.txt documents the full request flow with worked examples. Both are generated per domain and language.
Questions
Integration questions, bug reports and feature requests are welcome through the contact form.