The request might return an error due to an internal error, invalid options or when the limit is reached. Our screenshot API follows the HTTP status code semantic and returns JSON in case of an error:


Content-Type: application/json
    "error_code": "an_error_code",
    "error_message": "An error message"

The API will always return a human-readable error message, error code as a string key, and suitable HTTP status code.

Codes with explanations

Error CodeHTTP StatusExplanation
access_key_required400The “access_key” parameter is required. Please, check out the access page to get the access key.
access_key_invalid400The “access_key” parameter is given, but it is not correct. Please, check out the access page to check the access key.
signature_is_required400The “signature” parameter is required. Because signing requests is required in the access page. Make sure you use the correct signing algorithm.
signature_is_not_valid400You provided the “signature” parameter, but it is not valid. Make sure you use the correct signing algorithm.
screenshots_limit_reached400You reached the monthly screenshot limit. Feel free to upgrade you current plan or wait for next reset.
concurrency_limit_reached400You reached the request concurrency limit, retry after a while. Or feel free to upgrade you current plan.
request_not_valid400The request parameters are not valid. You can look at the error_details response field to get the details.
selector_not_found400If selector is specified and error_on_selector_not_found=true, the error will be returned if the element by selector is not visible or it took more than timeout seconds to render it, but not more than 30 seconds.
name_not_resolved400Usually, the error happens when the domain name of the requested URL is not resolved. If you are trying to take a screenshot of the new site, please, wait a bit until the DNS records are refreshed.
network_error500The error happens when the API can’t connect to the provided URL. It might mean that the site blocks the API or is temporarily unavailable. Generally, you can safely retry to take a screenshot.
invalid_storage_configuration400If you haven’t created the bucket in the us-east-1 AWS region, please, specify your bucket region through an endpoint in a format like
host_returned_error500If the host doesn’t respond successfully within the range of 200-299 status codes, the API won’t take a screenshot. You can force the API to take a screenshot of the error page by specifying ignore_host_errors=true. You can get the returned status code from the site by reading the returned_status_code field.
timeout_error500The screenshot couldn’t be taken within the specified timeout. Either the site doesn’t respond quickly, or rendering takes longer than expected. Play with the timeout or the navigation_timeout options or reach the support for the investigation.
internal_application_error500The API failed to serve your request. You can safely replay the request. We are notified about it instantly and will try to fix it as soon as possible. If the error is repeated for a long time, feel free to reach out at