Skip to content

Errors

There is a detailed guide on how to handle the ScreenshotOne API errors.

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:

GET https://api.screenshotone.com/?[options]
Content-Type: application/json
{
"is_successful":false,
"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 https://s3.<your-region>.amazonaws.com.
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 support@screenshotone.com.
storage_access_denied400Failed to upload the screenshot to the storage since access was denied. Check the API keys you specify when using the storage integration.
storage_returned_transient_error500The storage returned an HTTP status code between 500 and 599 and we exhausted retries. You can likely retry the request again.
request_aborted500The request was aborted either by the user or the intermediate proxies and can’t be fulfilled. If the error persists, please, reach out to support@screenshotone.com.
content_contains_specified_string500The page content contains the specified string by the fail_if_content_contains option. If it seems to be a mistake or not what you expected, please, reach out to `support@screenshotone.com` as quickly as possible, and will assist and try to resolve your problem.
temporary_unavailable503The API is temporarily unavailable due to an error or overload. Please wait a bit and then safely retry your request.