373,000+
US restaurants
Focused restaurant coverage for launch.
Compass DaaS
Compass helps AI agents search US restaurants, enrich place records, and make conservative vegan and plant-based fit decisions with structured evidence, confidence, and reason codes.
The explainable vegan and plant-based decision layer for AI agents. Built for food, travel, hospitality, local discovery, and agent products.
{
"match_for_profile": {
"decision": "fit",
"confidence": "high"
},
"reason_codes": [
"VEGAN_MENU_FULL_RESTAURANT",
"CROSS_CONTAMINATION_UNKNOWN"
],
"risk_flags": ["limited_evidence"]
}373,000+
US restaurants
Focused restaurant coverage for launch.
US-only
Current geography
Clear scope for product and buyer trust.
Vegan-first
Plant-based depth
Strongest coverage is vegan suitability.
3 APIs
Search, Enrich, Decide
Use one surface or combine the workflow.
{
"match_for_profile": {
"decision": "fit",
"confidence": "high"
},
"reason_codes": [
"VEGAN_MENU_FULL_RESTAURANT",
"CROSS_CONTAMINATION_UNKNOWN"
],
"risk_flags": ["limited_evidence"]
}Structured developer surfaces
Search, Enrich, and Decision are the primary REST APIs. Compass MCP is the agent-native wrapper for Claude, Cursor, Codex, and other MCP-compatible tools. Restaurant Details remains the supporting lookup when a Search or Enrich result needs the full structured record behind it.
POST /v1/search
107 structured fields
Use this when your agent needs restaurant candidates from a natural-language vegan or plant-based query.
POST /v1/enrich/restaurant
90 structured fields
Use this when you already have a restaurant or place record and want Compass context added to it.
POST /v1/decision/restaurant-fit
27 decision fields
Use this when your product needs a conservative fit, not_fit, or unknown verdict for a user profile.
npx -y @compass-food/mcp
3 agent tools
Use this when your agent workflow runs inside Claude Desktop, Cursor, Codex, or another MCP-compatible client.
GET /v1/restaurants/:id
176 structured fields
Use this after Search or Enrich when you need the full structured record behind a Compass result.
Field counts describe current v1 response depth by endpoint. They are not a guarantee that every restaurant has every field populated.
Why Compass
Compass separates weak category labels from stronger vegan and plant-based evidence, so your agent does not treat every vegan-friendly tag as equal.
When evidence is stale, incomplete, or conflicting, Compass can return unknown instead of forcing false confidence.
Reason codes, confidence, source freshness, and verification flags help developers debug and help agents explain their answers.
Concrete API examples
The examples are representative static payloads. Field availability varies by restaurant, and uncertainty is returned when evidence is missing.
curl -X POST "https://api.compassfoodtechnologies.com/v1/search" \
-H "Content-Type: application/json" \
-H "X-Compass-API-Key: $COMPASS_API_KEY" \
-H "X-Compass-Mode: rich" \
-d '{
"query": "strict vegan bowls near Brooklyn Heights",
"location": {
"lat": 40.6959,
"lng": -73.9936,
"radius_m": 3000
},
"user_profile": {
"diet": "strict_vegan",
"exclude_cross_contamination": false
},
"limit": 3,
"include_evidence": true
}'{
"compass_request_id": "req_example_green_bowl_search",
"query_interpretation": {
"diet_inferred": "strict_vegan",
"cuisine_inferred": "bowls",
"dish_inferred": "grain bowl",
"intent_inferred": "dish",
"target_inferred": "grain bowl",
"location_inferred": "40.6959,-73.9936",
"radius_m": 3000,
"radius_m_inferred": false
},
"results": [
{
"compass_id": "cmp_example_green_bowl_kitchen_001",
"name": "Green Bowl Kitchen",
"address": {
"street": "123 Main Street",
"city": "Brooklyn",
"state": "NY",
"postal_code": "11201",
"country": "US"
},
"coordinates": {
"lat": 40.6957,
"lng": -73.9934
},
"distance_m": 38,
"vegan_score": {
"overall": 91,
"scoring_version": "v3.0-deterministic",
"dimensions": {
"D1_vegan_coverage": {
"score": 96,
"weight": 0.25,
"confidence": "high",
"evidence_ids": [
"ev_cmp_example_green_bowl_menu"
]
},
"D4_cross_contamination": {
"score": 40,
"weight": 0.2,
"confidence": "low",
"evidence_ids": [
"ev_cmp_example_green_bowl_cross_contamination_unknown"
]
}
}
},
"dietary_profile": {
"fully_vegan": true,
"vegan_friendly": true
},
"cuisine_types": ["plant-based", "bowls", "salads"],
"last_verified_at": "2026-04-29T12:00:00Z",
"last_evaluated_at": "2026-04-29T12:00:00Z",
"source_freshness": {
"oldest_signal_age_days": 14,
"newest_signal_age_days": 14,
"recommended_refresh": false
},
"evidence": [
{
"evidence_id": "ev_cmp_example_green_bowl_menu",
"type": "menu_item",
"source": "compass://deterministic-evidence/menu_dishes",
"weight": "primary",
"tier": "A",
"excerpt": "Menu section lists fully vegan bowls, sauces, and sides."
},
{
"evidence_id": "ev_cmp_example_green_bowl_cross_contamination_unknown",
"type": "review_signal",
"source": "compass://deterministic-evidence/review_signals",
"weight": "supporting",
"tier": "A",
"excerpt": "Cross-contamination handling not declared. Review signals do not mention shared equipment or dedicated prep area."
}
],
"match_for_profile": {
"decision": "fit",
"confidence": "high",
"reason_codes": [
"VEGAN_MENU_FULL_RESTAURANT",
"CROSS_CONTAMINATION_UNKNOWN",
"HIGH_CONFIDENCE_DECISION"
],
"risk_flags": ["limited_evidence"],
"verification_required": true,
"recommended_user_text": "Compass has strong menu evidence for a strict-vegan match. Cross-contamination handling is not declared in available evidence, so verify with the restaurant when that matters."
}
}
],
"total_results": 3,
"ai_generated": true,
"human_review_recommended": false,
"metadata": {
"mode": "rich",
"result_source": "qdrant_restaurants_v2"
}
}curl -X POST "https://api.compassfoodtechnologies.com/v1/enrich/restaurant" \
-H "Content-Type: application/json" \
-H "X-Compass-API-Key: $COMPASS_API_KEY" \
-d '{
"name": "Green Bowl Kitchen",
"address": "123 Main Street, Brooklyn, NY 11201"
}'{
"compass_request_id": "req_example_green_bowl_enrich",
"matched": true,
"match_confidence": 0.91,
"compass_id": "cmp_example_green_bowl_kitchen_001",
"restaurant": {
"compass_id": "cmp_example_green_bowl_kitchen_001",
"name": "Green Bowl Kitchen",
"address": {
"street": "123 Main Street",
"city": "Brooklyn",
"state": "NY",
"postal_code": "11201",
"country": "US"
},
"coordinates": {
"lat": 40.6957,
"lng": -73.9934
},
"vegan_score": {
"overall": 91,
"scoring_version": "v3.0-deterministic",
"dimensions": {
"D1_vegan_coverage": {
"score": 96,
"weight": 0.25,
"confidence": "high",
"evidence_ids": [
"ev_cmp_example_green_bowl_menu"
]
},
"D6_restaurant_quality": {
"score": 90,
"weight": 0.1,
"confidence": "high",
"evidence_ids": [
"ev_cmp_example_green_bowl_quality"
]
}
}
},
"dietary_profile": {
"fully_vegan": true,
"vegan_friendly": true
},
"cuisine_types": ["plant-based", "bowls", "salads"],
"last_verified_at": "2026-04-29T12:00:00Z",
"last_evaluated_at": "2026-04-29T12:00:00Z",
"source_freshness": {
"oldest_signal_age_days": 14,
"newest_signal_age_days": 14,
"recommended_refresh": false
},
"evidence": [
{
"evidence_id": "ev_cmp_example_green_bowl_menu",
"type": "menu_item",
"source": "compass://deterministic-evidence/menu_dishes",
"weight": "primary",
"tier": "A"
},
{
"evidence_id": "ev_cmp_example_green_bowl_quality",
"type": "review_signal",
"source": "compass://deterministic-evidence/review_signals",
"weight": "supporting",
"tier": "A",
"excerpt": "Recent customer signals mention consistent vegan menu availability."
}
]
},
"evidence": [
{
"evidence_id": "ev_cmp_example_green_bowl_menu",
"type": "menu_item",
"source": "compass://deterministic-evidence/menu_dishes",
"weight": "primary",
"tier": "A"
}
],
"ai_generated": true
}curl -X POST "https://api.compassfoodtechnologies.com/v1/decision/restaurant-fit" \
-H "Content-Type: application/json" \
-H "X-Compass-API-Key: $COMPASS_API_KEY" \
-H "X-Compass-Mode: rich" \
-d '{
"compass_id": "cmp_example_green_bowl_kitchen_001",
"user_profile": {
"diet": "strict_vegan",
"exclude_cross_contamination": false
}
}'{
"compass_request_id": "req_example_green_bowl_decision",
"compass_id": "cmp_example_green_bowl_kitchen_001",
"last_evaluated_at": "2026-04-29T12:00:00Z",
"decision": "fit",
"confidence": "high",
"reason_codes": [
"VEGAN_MENU_FULL_RESTAURANT",
"SOURCE_CONFIDENCE_HIGH",
"CROSS_CONTAMINATION_UNKNOWN",
"HIGH_CONFIDENCE_DECISION"
],
"risk_flags": ["limited_evidence"],
"evidence": [
{
"evidence_id": "ev_cmp_example_green_bowl_menu",
"type": "menu_item",
"source": "compass://deterministic-evidence/menu_dishes",
"weight": "primary",
"tier": "A"
},
{
"evidence_id": "ev_cmp_example_green_bowl_cross_contamination_unknown",
"type": "review_signal",
"source": "compass://deterministic-evidence/review_signals",
"weight": "supporting",
"tier": "A"
}
],
"source_freshness": {
"oldest_signal_age_days": 14,
"newest_signal_age_days": 14,
"recommended_refresh": false
},
"recommended_user_text": "Compass found strong vegan menu evidence. Cross-contamination handling is not declared in available evidence, so verify details with the restaurant when constraints are critical.",
"verification_required": true,
"human_review_recommended": false,
"ai_generated": true
}Where Compass fits
Start with one surface, then add deeper context as your workflow moves from discovery to explanation and user-specific decisions.
I am building a restaurant search or travel agent.
Start with Search API.
I already have restaurant records from another provider.
Use Enrich API to add vegan and plant-based intelligence.
I need to decide if a place fits a user.
Use Decision API.
I am building with Claude, Cursor, or other agent tools.
Use the Compass MCP server.
Responsible plant-based output
Compass is not an allergy-certification service and does not replace restaurant confirmation for safety-sensitive decisions. It is designed to expose evidence, uncertainty, and conservative risk signals so your product can handle vegan and plant-based questions responsibly.
Create a free Sandbox account, make a Search request, then add Enrich or Decision when your workflow needs deeper context.