Developers
OpenShopGraph speaks two protocols against the same data base: a REST tool API (POST /tool/<name>) and MCP (for Claude, ChatGPT, Perplexity). Read endpoints are usable without a key; higher quotas need an API token.
Endpoints
Base: https://api.openshopgraph.io| Tool | Method | Path | Purpose |
|---|---|---|---|
| find_shop | POST | /tool/find_shop | Find a shop by name/domain |
| find_product | POST | /tool/find_product | Find a product by title/GTIN |
| compare_prices | POST | /tool/compare_prices | Compare offers for a product (total cost) |
| get_trust | POST | /tool/get_trust | Aggregated trust signals for a shop |
| list_coupons | POST | /tool/list_coupons | Active coupons for a shop |
| suggest | GET | /suggest?q=… | Typeahead: categories + shops (pg_trgm) |
Authentication
Read calls (e.g. /suggest, compare_prices ) are keyless within fair use. For higher limits, send the header x-api-token: <your-token>.
Example request
curl -s "https://api.openshopgraph.io/suggest?q=mäh&limit=5"
curl -s -X POST "https://api.openshopgraph.io/tool/compare_prices" \
-H "content-type: application/json" \
-d '{"product_id":"<gtin>"}' Example response GET /suggest
{
"query": "mäh",
"categories": [{ "category": "Outdoor & Sport", "slug": "outdoor", "count": 2 }],
"shops": [
{ "id": "s_001", "name": "Mähprofi", "domain": "maehprofi.de", "category": "outdoor", "score": 0.97 }
]
}