Skip to main content
Version: v2

Non-200 Error status codes

This doc is intended to help you understand when certain HTTP status codes are thrown when using Browserless. If you're interested in knowing the status code of the site being navigated to by one of our REST APIs, you can find the status code and status in the headers named x-response-code and x-response-status. As far as this doc, we'll be explaining the status code your request returns, but keep in mind that you can get a 200 status code from the request, but a non-200 in the x-response-status.

400 Bad Request

This error indicates that the request is badly formed and could not be processed.

Troubleshoot:

  • You might bee sending a malformed JSON payload.
  • You might be sending invalid fields for an specific API.
  • You might be setting the timeout to a negative number or over 1800000 ms.
  • Your request arguments might be colliding (for instance, using our internal proxy while connecting to a --proxy-server in your args).

401 Unauthorized

This error indicates that the request has not been applied because it lacks valid authentication credentials for the resource.

Troubleshoot:

  • You might not be sending the API key in the WebSocket Endpoint properly.
  • Your HTTP Client may be caching an old API key that's no longer valid.
  • You might be using an endpoint not supported by your plan, e.g. trying to use the v2 endpoints, when being on a dedicated or legacy plan.

404 Not Found

This error indicates that the request's endpoint has not been found.

Troubleshoot:

  • You might be trying to request a non-existent endpoint.

408 Request Timeout

This error indicates that the request has taken too long to process.

Troubleshoot:

  • You might have set the timeout too low.
  • You might be trying to wait for a selector or event the doesn't exist.
  • Your dedicated workers might be unhealthy and unresponsive.

429 Too Many Requests

This error indicates that too many requests are currently being processed.

Troubleshoot:

  • You might be running more concurrent sessions than expected.
  • Your dedicated workers might be unhealthy and unresponsive, thus rejecting any incomming traffic.