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:
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 Code | HTTP Status | Explanation |
---|---|---|
access_key_required | 400 | The “access_key” parameter is required. Please, check out the access page to get the access key. |
access_key_invalid | 400 | The “access_key” parameter is given, but it is not correct. Please, check out the access page to check the access key. |
signature_is_required | 400 | The “signature” parameter is required. Because signing requests is required in the access page. Make sure you use the correct signing algorithm. |
signature_is_not_valid | 400 | You provided the “signature” parameter, but it is not valid. Make sure you use the correct signing algorithm. |
screenshots_limit_reached | 400 | The usage quota has been exceeded. Please, either upgrade to a plan with more quota or change the maximum allowed limit (if possible) in the ScreenshotOne dashboard. If it is a mistake, please, reach out at support@screenshotone.com. |
concurrency_limit_reached | 400 | You reached the request concurrency limit, retry after a while. Or feel free to upgrade you current plan. |
request_not_valid | 400 | The request parameters are not valid. You can look at the error_details response field to get the details. |
selector_not_found | 400 | If 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_resolved | 400 | Usually, 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_error | 500 | The 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_configuration | 400 | If 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 . |
script_triggers_redirect | 400 | The specified “scripts” option might trigger a redirect, please, specify the “scripts_wait_until” option. If you think it is a mistake, please, reach out at support@screenshotone.com . |
host_returned_error | 500 | If 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_error | 500 | The 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_error | 500 | The 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_denied | 400 | Failed 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_error | 500 | The storage returned an HTTP status code between 500 and 599 and we exhausted retries. You can likely retry the request again. |
request_aborted | 500 | The 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_string | 500 | The 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_unavailable | 503 | The API is temporarily unavailable due to an error or overload. Please wait a bit and then safely retry your request. |
List of all errors
- Timeout error.
- Storage Access Denied.
- Script Trigger Redirect.
- Internal Application Error.
- Usage Quota Exceeded.
- Request Aborted.
- Access Key Required.
- Access Key Invalid.
- Signature Is Required.
- Signature Is Not Valid.
- Screenshots Limit Reached.
- Concurrency Limit Reached.
- Request Not Valid.
- Selector Not Found.
- Name Not Resolved.
- Network Error.
- Invalid Storage Configuration.
- Host Returned Error.
- Storage Returned Transient Error.
- Content Contains Specified String.
- Temporary Unavailable.