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.
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