# Screenshotone > Documentation for Screenshotone ## Pages - [Screenshotone Documentation](screenshotone-documentation.md) - [Animated Screenshots](animated-screenshots.md): import Alert from "@/components/Alert.astro"; - [Bulk Screenshots](bulk-screenshots.md): import Alert from "@/components/Alert.astro"; - [Async and Webhooks](async-and-webhooks.md): import Alert from "@/components/Alert.astro"; - [How credits work in ScreenshotOne](how-credits-work-in-screenshotone.md): :::note - [Errors](errors.md): import Alert from "@/components/Alert.astro"; - [ScreenshotOne IP Ranges](screenshotone-ip-ranges.md): In case you need to allow access from the ScreenshotOne API to your servers or your proxy provider allow list, you ca... - [Signed Links](signed-links.md): import Alert from "@/components/Alert.astro"; - [Example usage](example-usage.md): if __name__ == "__main__": - [Devices](devices.md): import Alert from "@/components/Alert.astro"; - [Charging Extra](charging-extra.md): You can set the hard limit for screenshots higher than the limit in your current plan. And by doing this, you are ena... - [Guides](guides.md): Check out our collection of guides to help you get the most out of ScreenshotOne: - [Screenshot URL](screenshot-url.md): :::danger - [Get Usage](get-usage.md): You can get your current plan usage by: - [Access Key Invalid](access-key-invalid.md): It is an API error returned when the provided access key is invalid or incorrect. - [Access Key Required](access-key-required.md): It is an API error returned when the access key parameter is missing in the request. - [Concurrency Limit Reached](concurrency-limit-reached.md): It is an API error returned when the request concurrency limit has been reached. - [Content Contains Specified String](content-contains-specified-string.md): It is an API error returned when the page content contains a specified string that triggers a failure condition. - [Content Missing Specified String](content-missing-specified-string.md): It is an API error returned when the page content is missing a specified string that triggers a failure condition. - [Caching](caching.md): :::note - [Host Returned Error](host-returned-error.md): It is an API error returned when the host server does not respond with a successful status code within the range of 2... - [Getting Started](getting-started.md): You can use the API to generate invoices in PDF format for any given URL or HTML. Or make hundreds of screenshots of ... - [Internal Application Error](internal-application-error.md): It is an API error returned when the API fails to serve the request due to internal reasons: - [Invalid Storage Configuration](invalid-storage-configuration.md): It is an API error returned when the storage configuration for S3 is invalid. - [Name Not Resolved](name-not-resolved.md): It is an API error returned when the domain name of the requested URL cannot be resolved. - [Network Error](network-error.md): It is an API error returned when the API cannot connect to the target host. - [Request Aborted](request-aborted.md): It is an API error returned when the request was aborted either by the user or the intermediate proxies and can't be ... - [Request Body Too Large](request-body-too-large.md): It is an API error returned when the API fails to serve the request due to internal reasons: - [Invalid Cookie Parameter](invalid-cookie-parameter.md): It is an API error returned when the`cookies`parameter is invalid. - [Matched Failed Request](matched-failed-request.md): This API error is returned when a request matched by the specified pattern in the`fail_if_request_failed`option has... - [Invalid Header Parameter](invalid-header-parameter.md): It is an API error returned when the`headers`parameter is invalid. - [Request Invalid](request-invalid.md): It is an API error returned when the API fails to serve the request due to internal reasons: - [No-code Integrations](no-code-integrations.md): All available no-code integrations for ScreenshotOne: - [Selector Not Found](selector-not-found.md): It is an API error returned when the specified selector is not found or not visible within the given timeout period. - [Signature Invalid](signature-invalid.md): It is an API error returned when the provided signature parameter is not valid. - [Script Trigger Redirect](script-trigger-redirect.md): It is an API error returned when the API detects that the script will trigger a redirect and screenshots won't be ren... - [Resulting Image Too Large](resulting-image-too-large.md): It is an API error returned when the resulting image is too large for the specified format. - [Signature Required](signature-required.md): It is an API error returned when the signature parameter is missing in the request. - [Storage Returned Transient Error](storage-returned-transient-error.md): It is an API error returned when the storage server returns a transient error and retries have been exhausted. - [Temporary Unavailable](temporary-unavailable.md): It is an API error returned when the API is temporarily unavailable due to an error or overload. - [Timeout Error](timeout-error.md): It is an API error returned when the API can't render screenshots or video within the specified timeout: - [Notifications](notifications.md): When you reach 90% or 100% of your screenshot limit, you will receive a notification to your email and/or Slack. - [Usage Quota Exceeded](usage-quota-exceeded.md): It is an API error returned when the monthly usage quota has been exceeded: - [C# (.NET) SDK and Code Examples](c-net-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [Screenshot Options](screenshot-options.md): import Alert from "@/components/Alert.astro"; - [Go SDK and Code Examples](go-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [SDK and Code Examples](sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [Java SDK and Code Examples](java-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [PHP SDK and Code Examples](php-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [Python SDK and Code Examples](python-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [create API client](create-api-client.md): client = Client('', '') - [set up options](set-up-options.md): options = (TakeOptions.url(' - [generate the screenshot URL and share it with a user](generate-the-screenshot-url-and-share-it-with-a-user.md): url = client.generate_take_url(options) - [expected output: https://api.screenshotone.com/take?url=https%3A%2F%2Fscreenshotone.com&viewport_width=1024&viewport_height=768&block_cookie_banners=True&block_chats=True&access_key=&signature=6afc9417a523788580fa01a9f668ea82c78a9d2b41441d2a696010bf2743170f](expected-output-httpsapiscreenshotonecomtakeurlhttps3a2f2fscreenshotonecomviewpo.md) - [or render a screenshot and download the image as stream](or-render-a-screenshot-and-download-the-image-as-stream.md): image = client.take(options) - [store the screenshot the example.png file](store-the-screenshot-the-examplepng-file.md): with open('example.png', 'wb') as result_file: - [Ruby SDK and Code Examples](ruby-sdk-and-code-examples.md): import Alert from "@/components/Alert.astro"; - [If you don't need to add a signature](if-you-dont-need-to-add-a-signature.md): client = ScreenshotOne::Client.new('my_access_key') - [If you do need to add a signature](if-you-do-need-to-add-a-signature.md): client = ScreenshotOne::Client.new('my_access_key', 'my_secret_key') - [You can set any available option, in a camel_case format, for example:](you-can-set-any-available-option-in-a-camel-case-format-for-example.md): options = ScreenshotOne::TakeOptions.new(url: ' - [Verify all the parameters are valid (we will validate the parameters that should be](verify-all-the-parameters-are-valid-we-will-validate-the-parameters-that-should-.md) - [numeric, booleans or that accept only certain values)](numeric-booleans-or-that-accept-only-certain-values.md): options.valid? - [To simply get the final url:](to-simply-get-the-final-url.md): client.generate_take_url(options) - [To actually get the image (the response body of a request to the previous url)](to-actually-get-the-image-the-response-body-of-a-request-to-the-previous-url.md): client.take(options) - [How to take screenshots of multiple URLs](how-to-take-screenshots-of-multiple-urls.md): ScreenshotOne API supports taking screenshots of multiple URLs in one request—[bulk screenshots](/docs/bulk-screensho... - [How to render Google Slides as scrolling screenshots with ScreenshotOne](how-to-render-google-slides-as-scrolling-screenshots-with-screenshotone.md): import Video from "@/components/Video.astro"; - [How to screenshot an area of a site](how-to-screenshot-an-area-of-a-site.md): import Alert from "@/components/Alert.astro"; - [How to use proxies](how-to-use-proxies.md): ScreenshotOne doesn't include rotating residential proxies as part of the product, but you can plug in easily any ext... - [JavaScript and TypeScript (Node.js) SDK and Code Examples](javascript-and-typescript-nodejs-sdk-and-code-examples.md): :::note - [Detect website fonts](detect-website-fonts.md): The font detection API is available in the [ScreenshotOne API "take" method as an additional option](/docs/options/#m... - [How to render Google Documents as JPEG, PNG or WebP screenshots](how-to-render-google-documents-as-jpeg-png-or-webp-screenshots.md): import Video from "@/components/Video.astro"; - [How to render screenshots with different emoji styles](how-to-render-screenshots-with-different-emoji-styles.md): It might happen that you need to render screenshots with different emoji styles rather than the default emoji style p... - [How to translate and render a website as a screenshot](how-to-translate-and-render-a-website-as-a-screenshot.md): It is possible to translate and take a screenshot of the translated website with ScreenshotOne because the API suppor... - [How to bypass CAPTCHAs](how-to-bypass-captchas.md): Since the the launch of ScreenshotOne API, it was designed to perform ethical screenshotting, hence the ScreenshotOne... - [Fail rendering if the content contains a string](fail-rendering-if-the-content-contains-a-string.md): There is a set of use cases when you want to fail screenshot rendering and retry it if the content of the page contai... - [Customize websites before screenshotting](customize-websites-before-screenshotting.md): ScreenshotOne supports a few options that can help you add any customizations to any website before rendering screens... - [Upload to S3](upload-to-s3.md): You can use [ScreenshotOne screenshot API](https://screenshotone.com/) to take website screenshots and upload them di... - [How to handle API errors](how-to-handle-api-errors.md): Error handling is an essential part of any high-quality application. Make sure you handle all errors returned by the ... - [Screenshot authenticated pages](screenshot-authenticated-pages.md): There is a few methods to screenshot authenticated pages: - [Full-page screenshots](full-page-screenshots.md): By default, the only thing you need to do is to set the`full_page`parameter to`true`: - [Rendering performance](rendering-performance.md): "You are never done working on performance." - [Storage Access Denied](storage-access-denied.md): It is an API error returned when the API can't upload a screenshot your S3 storage because the access is denined: - [How to render website screenshots with Make](how-to-render-website-screenshots-with-make.md): import { YouTube } from 'astro-embed'; - [How to render website screenshots with Bubble](how-to-render-website-screenshots-with-bubble.md): Bubble is a full-stack no-code app builder. It is a platform, where you can design, build, and launch fully functiona... - [How to automate website screenshots with Zapier](how-to-automate-website-screenshots-with-zapier.md): Zapier is a powerful automation platform that lets you connect your apps and automate workflows without writing any c... - [How to automate website screenshots in Clay with ScreenshotOne](how-to-automate-website-screenshots-in-clay-with-screenshotone.md): :::tip - [How to automate website screenshots with n8n](how-to-automate-website-screenshots-with-n8n.md): [n8n](https://n8n.io/) is a free and open-source workflow platform. - [Organizations and Roles](organizations-and-roles.md): Organizations are the core unit for managing your ScreenshotOne account. Every user belongs to one organization, and ...