Documentation / Guides

Errors

The GreyhoundAPI error shape, every error code the API returns and the HTTP statuses to expect for each.

Errors are JSON with a stable shape and a documentation link:

{ "error": { "code": "rate_limited",
  "message": "120 requests/minute exceeded. Retry after 21s.",
  "doc_url": "https://greyhoundapi.com/documentation/errors" } }
HTTPCodeMeaning
401unauthorizedMissing or unknown key.
403key_suspendedKey exists but its subscription has lapsed.
403upgrade_requiredYour key’s tier does not reach this endpoint. The payload names the tier you hold and the one you need, the monthly price, and — where one exists — a try_instead endpoint that works on the key you already have.
403outside_sandbox_windowSandbox key requested data outside its window.
404not_foundNo such resource.
405method_not_allowedThe API is read-only; every endpoint is GET.
409result_not_availableThe race exists but has no result yet. Carries its current status and a retry flag — true while it is still to run, false once it has run and stalled. A race confirmed as never run returns 200 instead, with result_available: false.
400invalid_idAn id in a ids batch has no record, or there are more than 50. The whole request is refused and the offending ids are listed in ids.
422invalid_paramA parameter failed validation; the message names it.
429rate_limitedPer-minute limit exceeded.
429quota_exceededMonthly (live) or daily (sandbox) quota exhausted.
500server_errorOur side. Safe to retry with backoff.
501not_implementedDocumented but not yet live — pre-launch only.