These are real calls against the production engine, returning exactly what a subscribed key returns. The only difference is a per-IP rate limit.
GET /v1/pair?q=Chianti+Classico17 demo requests left this hour
Wine geography No sensory evidence
PDI returned a knowledge boundary rather than pairing guidance.
curl -s "https://api.pinpointed.dev/v1/demo/pair?q=Chianti+Classico"
{
"ok": true,
"domain": "wine_geography",
"query": "Chianti Classico",
"resolved": true,
"resolution": {
"canonical_name": "Chianti Classico",
"cfr_section": null,
"registration_identifier": "EUGI00000003623",
"geography_type": "pdo",
"jurisdiction": "EU",
"regulatory_status": "current"
},
"sensory_available": false,
"pairing_available": false,
"reason": "insufficient_sourced_sensory_data",
"knowledge_boundary": {
"wine_geography_pairing_not_inferred": true,
"sensory_evidence_required_for_pairing": true
},
"demo": {
"demo": true,
"endpoint": "/v1/pair",
"authenticated_equivalent": "curl -H \"Authorization: Bearer $PDI_API_KEY\" \"https://api.pinpointed.dev/v1/pair?q=Chianti+Classico\"",
"limits": {
"per_ip_per_minute": 8,
"per_ip_per_hour": 20,
"max_query_length": 80,
"resolve_result_limit": 5
},
"note": "Public demo of the Pinpointed Drinks Intelligence API. Same engine and same response contract as a subscribed key, with demo-only rate limits.",
"docs": "https://api.pinpointed.dev/docs",
"plans": "https://api.pinpointed.dev/#plans",
"cached": false,
"remaining_this_hour": 17
}
}Every demo endpoint is a plain GET with no auth. Swap /v1/demo/ for /v1/ and add a bearer key when you subscribe.
curl -s "https://api.pinpointed.dev/v1/demo/explain?q=Barolo"
Demo traffic is rate limited per IP and capped daily, results are capped at 5 for resolution, and responses may be served from a short-lived cache. A Developer key removes all three.