Internet speed test
API Documentation

Responses

Every CoverageMap API response uses the same JSON envelope with a status, messages and data.

Every CoverageMap API returns JSON in the same envelope, whether the request succeeded or not. Read data for the result and messages for anything you should know about it.

Response envelope

Response
{
  "status": 200,
  "messages": {
    "information": ["A note about the response"]
  },
  "data": { }
}
statusinteger
The HTTP status code of the response, repeated in the body.
messagesobject
Messages about the request. Each list is only present when it has at least one message, so a successful response usually has an empty object.
Show child attributes
errorsstring[]Optional
Why the request was rejected. Present on every failed request, and a request with errors returns no data.
informationstring[]Optional
Notes that do not stop the request, for example that part of the data was temporarily unavailable.
successstring[]Optional
Confirmations of an action.
dataobject | array | stringNullable
The result. Its shape depends on the endpoint and is documented on each endpoint page. It is null when the request failed.

Status codes

HTTP status codes
CodeMeaning
200The request succeeded. The result is in data.
400The request was rejected: invalid input, a missing or invalid key, a key that is not allowed to make the request, or a usage limit. The reasons are in messages.errors. See Errors.
500Something went wrong on our side. The request can be retried.
503Returned by the status endpoint when a service is unhealthy.

Use the status code to decide what to do, and the messages to understand why. Messages are written for people and their wording can change, so avoid matching on the exact text in code.

Field conventions

  • Field names are camelCase.
  • Fields marked Optional are left out when they do not apply, for example an address on a location that was sent as coordinates.
  • Fields marked Nullable are always present and are null when there is no value.
  • Numbers are plain JSON numbers. Units, such as dBm or Mbps, are given in each field's description.
  • Codes you send, such as provider codes, are matched without regard to case.