Skip to content
Help Center Getting Started Getting Started with ScreenshotCenter API

Getting Started

Getting Started with ScreenshotCenter API

Create an API key, submit your first screenshot, monitor its status, and download the finished image.

API reference

Building an integration?

Explore every endpoint, parameter, response schema, and code example in the developer documentation.

View API documentation

ScreenshotCenter uses an asynchronous workflow: submit a URL, keep the returned screenshot ID, check the job until it finishes, and then download the result. The examples below use curl, but the same endpoints are available through the official SDKs.

1. Create your account

Create a ScreenshotCenter account and sign in to the dashboard. Screenshot requests require a positive account balance, so confirm that your account has available credits before testing the API.

2. Generate and protect an API key

Create an API key from the dashboard. Treat it like a password: keep it out of source control, browser-side JavaScript, screenshots, and application logs. Store it in an environment variable or secret manager.

The recommended authentication method is the X-API-KEY request header:

export SCREENSHOTCENTER_API_KEY="YOUR_API_KEY"

curl "https://api.screenshotcenter.com/api/v1/screenshot/info?id=12345678" \
  --header "X-API-KEY: $SCREENSHOTCENTER_API_KEY"

You can also pass the key as the key query parameter. The header is preferable because URLs are more likely to appear in access logs and browser history.

3. Submit your first screenshot

Only url is required. The optional country parameter selects the capture location and defaults to us.

curl --get "https://api.screenshotcenter.com/api/v1/screenshot/create" \
  --header "X-API-KEY: $SCREENSHOTCENTER_API_KEY" \
  --data-urlencode "url=https://example.com" \
  --data-urlencode "country=us"

A successful request returns a JSON envelope containing the screenshot record. Save data.id; every status and download request uses it.

{
  "success": true,
  "data": {
    "id": 12345678,
    "status": "processing",
    "url": "https://example.com",
    "country": "us"
  }
}

4. Check the processing status

Call the info endpoint with the screenshot ID:

curl --get "https://api.screenshotcenter.com/api/v1/screenshot/info" \
  --header "X-API-KEY: $SCREENSHOTCENTER_API_KEY" \
  --data-urlencode "id=12345678"

The data.status field is one of:

  • processing: the browser is still loading or capturing the page.
  • finished: the screenshot is ready to download.
  • error: the capture failed; inspect the returned error value.

When polling from an application, wait between requests and use backoff instead of continuously calling the endpoint.

5. Download the finished image

After the status becomes finished, download the image with the thumbnail endpoint:

curl --get "https://api.screenshotcenter.com/api/v1/screenshot/thumbnail" \
  --header "X-API-KEY: $SCREENSHOTCENTER_API_KEY" \
  --data-urlencode "id=12345678" \
  --output screenshot.png

The endpoint can resize or crop the stored screenshot and return png, jpeg, or webp. For example:

curl --get "https://api.screenshotcenter.com/api/v1/screenshot/thumbnail" \
  --header "X-API-KEY: $SCREENSHOTCENTER_API_KEY" \
  --data-urlencode "id=12345678" \
  --data-urlencode "width=800" \
  --data-urlencode "format=webp" \
  --output screenshot.webp

6. Customize the capture

Add query parameters to the create request to control browser behavior and output:

  • size=page captures the full page instead of the viewport.
  • screen_width and screen_height set the browser viewport.
  • delay waits after page load for client-side rendering.
  • country, language, and timezone control location and locale.
  • hide_popups=true and hide_ads=true can produce cleaner captures.
  • target captures a specific element using a CSS selector.
  • html=true, pdf=true, or video=true request companion outputs.

For parameter types, limits, defaults, response schemas, and endpoint-specific examples, use the complete API documentation.

7. Prepare your integration for production

  • Keep API keys in server-side secrets and rotate keys that may have been exposed.
  • URL-encode all query parameters instead of concatenating untrusted values into request URLs.
  • Handle validation and authentication errors, rate limits, and temporary server errors.
  • Honor the Retry-After header on 429 responses.
  • Use the default screenshot cache when possible; set cache=0 only when every request must be fresh.
  • Store the screenshot ID with your own job record so processing can resume after a restart.

Where to go next

Browse the official SDKs and code examples, learn how to interact with pages before capture, or review the available output formats.