Stricter checks for signed requests and access keys

Signed requests are only accepted as GET, a request can carry only one access key, and the lists of request patterns to block or to fail on accept up to 100 patterns each.

Changelog1 min read

Written by

Dmytro Krasun

Published on

We tightened how the API checks requests. Most integrations need no changes. Check the list below if you sign requests, send the access key in more than one place, or pass long lists of request patterns.

Signed requests must use GET

Signed requests were always documented as GET only, because the signature covers the query string and not a request body. A POST request is now rejected with the signature_is_not_valid error when it carries a signature, or when its access key requires signing. Unsigned POST requests with a key that doesn’t require signing work as before.

One access key per request

You can send the access key in the access_key parameter, in the request body, in the X-Access-Key header or as a bearer token. A request that carries two different keys is now rejected with the access_key_invalid error instead of using one of them. Sending the same key in several places still works.

Clearer invalid access key errors

When an access key starts or ends with whitespace, or contains characters that an access key never has, the access_key_invalid error now says so. This often happens when a key is copied together with a line break or a quote.

Up to 100 request patterns

The lists of patterns for blocking requests and for failing when a request fails accept up to 100 patterns each. A longer list returns the request_not_valid error. Matching the patterns is also faster: before, some patterns could slow down rendering.

Read more product updates

New features, bug fixes, and optimizations...

View all product updates
Include shadow DOM when requesting the page content

Include shadow DOM when requesting the page content

A new version of the ScreenshotOne API has been just deployed. It allows you to include the shadow DOM contents when requesting the page content.

Read more

1 min read

Screenshot hard limits by plan

Screenshot hard limits by plan

Set your monthly screenshot limit directly in Billing, with maximums based on your plan.

Read more

1 min read

Improved HTTP website rendering

Improved HTTP website rendering

ScreenshotOne now renders HTTP-only websites more reliably by avoiding browser HTTPS-upgrade redirect loops.

Read more

1 min read

Automate website screenshots

Exhaustive documentation, ready SDKs, no-code tools, and other automation to help you render website screenshots and outsource all the boring work related to that to us.