Seemor API Docs
Guides

Error Handling

Error codes, responses, and retry strategies

Error Handling

MCP-level errors

Tool responses include a status field that indicates success or failure:

StatusMeaningBilled?
"ok" / "found"Successful response with dataYes
"error"Something went wrong (see message)No
"not_found"Restaurant or area not in databaseNo
"no_coverage"Area exists but has insufficient dataNo

Error response format

{
  "status": "error",
  "message": "Descriptive error message"
}

HTTP-level errors

CodeMeaningExample messageRetry?
200Success (check status in response body)----
401Invalid or missing API key"Missing or invalid API key. Expected Authorization: Bearer sk_seemor_..."No
401Revoked key"API key has been revoked."No
429Per-minute rate limit"Rate limit exceeded. Try again in a moment."Yes, after a few seconds
429Daily rate limit"Daily API limit exceeded. Resets in 24 hours."Yes, next day
500Server error--Yes, with backoff

Tier access errors

If a free key attempts to call a paid tool, the response is returned as an MCP tool result (HTTP 200) with:

{
  "status": "error",
  "message": "This API key is on the free tier. This tool requires a paid plan. Request an upgrade at app.seemor.ai/developer or contact ryan@larracoslabs.com."
}

This applies to:

  • lookup_restaurant with fields: "standard" or "premium"
  • ask_about_restaurant
  • recommend

Common errors and resolutions

ErrorCauseFix
"Restaurant data is loading. Please try again in a moment."Server cache warming after restartWait 30 seconds and retry
"No restaurant found with ID..."Invalid restaurant_idVerify the ID via find_restaurant first
"Rate limit exceeded..."Too many requestsWait and retry, or request higher limits
"This API key is on the free tier..."Calling a paid tool with a free keyRequest an upgrade
"No restaurant coverage in {city}..."recommend called for uncovered areaCheck coverage with explore_area first

Retry strategy

  • Do retry: 500 errors (use exponential backoff: 1s, 2s, 4s, max 3 retries), "data is loading" errors
  • Do not retry: 401 (fix your key), 429 daily limit (wait for reset), 400 (fix your request)
  • Do not retry: MCP-level not_found or no_coverage (these won't change with retries)

On this page