OpenShopGraph

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.org
ToolMethodPathPurpose
find_shop POST /tool/find_shop Find a shop by name/domain
list_categories POST /tool/list_categories Enumerate the category taxonomy (call before find_shop with a category filter)
get_shop POST /tool/get_shop Fetch a single shop by id/domain
list_coupons POST /tool/list_coupons Active coupons for a shop
get_shipping_policy POST /tool/get_shipping_policy A shop's stated shipping terms (destinations, delivery estimate, free threshold)
get_trust POST /tool/get_trust Trust-relevant facts OpenShopGraph measured itself (TLS, hosting, domain age, registrar, payment methods) — individual signals with source and check date, deliberately no score
report_code POST /tool/report_code Report a coupon-code try outcome (write-only)
report_issue POST /tool/report_issue Report a shop- or data-fact issue with a fixed reason (write-only)

Authentication

Read calls (e.g. /suggest, list_coupons ) are keyless within fair use. For higher limits, send the header x-api-token: <your-token>.

Example request

curl -s "https://api.openshopgraph.org/suggest?q=mäh&limit=5"

curl -s -X POST "https://api.openshopgraph.org/tool/list_coupons" \
  -H "content-type: application/json" \
  -d '{"shop_domain":"example.com"}'

Example response GET /suggest

{
  "query": "mäh",
  "categories": [{ "category": "Home & Garden", "slug": "home-garden", "count": 2 }],
  "shops": [
    { "id": "s_001", "name": "Example Shop", "domain": "example.com", "category": "home-garden", "score": 0.97 }
  ]
}

Specification + manifests