Errors and status codes

Updated 2026-10-25

These are the status codes of the public API. You are never charged when a request fails before or without producing a result.

Status Meaning Charged
400 The request is malformed. No
402 Payment is required, or the payment could not be accepted (also when a smart-contract wallet signed it; see payments). No
413 The request body is too large. No
422 A parameter is invalid, for example a domain name, on a request that carries a payment. Without a payment the API answers 402 and names the problem in the error field of the payment requirements. No
429 Too many requests. Slow down. No
502 An upstream service failed. No
503 The service is temporarily unavailable. No
504 The check did not finish in time. No

Error body

Errors share one format, ErrorBody, with a machine-readable code, a message and a request_id. Include the request_id when you contact us about a request.

Technical problems with one domain, such as a resolver timeout, are not HTTP errors. They appear as findings in the result. See freshness for how long a result can be used.