Client librariesGA

Official Snapshot Site SDKs

Three official client libraries — TypeScript, Python, and PHP. Each one wraps the same REST endpoints and exposes the same three calls, so the mental model carries over when you switch language.

3 languages
TypeScript, Python, PHP
3 methods
screenshot, analyze, compare
Same API
One key works everywhere
See every endpoint in the API docs
Status
GA

All three are published on their language's registry and expose an identical surface: screenshot, analyze, and compare. Go, Java, and C# have no official package — those pages are REST integration guides against the raw endpoints.

The three official libraries

Identical surface across all three. Pick the one matching your stack — nothing is exclusive to a single language.

LanguageLibraryInstallTypical use
SDKTypeScriptpnpm add @snapshot-site/sdkNode.js services, scripts, and full-stack apps. Typed request options and typed responses for the three endpoints.
SDKPythonpip install snapshot-site-sdkContent QA, batch capture jobs, AI analysis pipelines, and saving returned assets to disk.
SDKPHPcomposer require snapshot-site/php-sdkLaravel, Symfony, WordPress, and custom backend screenshot workflows.
Quick start

Same four steps in any of the three

  1. 1

    Create an API key in the Snapshot Site console, on the API keys page.

  2. 2

    Install the library for your language with the command in the table above.

  3. 3

    Instantiate the client with your key read from server-side configuration — never from client-side code or a committed file.

  4. 4

    Call screenshot, analyze, or compare, then persist the returned asset or JSON payload.

  5. 5

    Wrap calls in a timeout and a bounded retry. Captures hit real browsers, so a slow target page is a normal outcome, not a bug.

Limits worth knowing before you build

Only three languages have an official SDK

TypeScript, Python, and PHP. Go, Java, and C# have no official package — the guides for those languages show how to call the REST endpoints with the standard HTTP client instead.

An SDK is a thin wrapper, not a different product

Every method maps to one REST endpoint. Anything the API cannot do, the SDK cannot do either, and a new API capability reaches the libraries only once they are released.

Versions move independently

The three libraries are released separately, so their version numbers do not line up. Pin the version you tested against rather than assuming parity from the number.

Keys belong on the server

The API key carries your full account quota. An SDK call from browser code exposes it — keep the client in backend code or a serverless function.

Calls count against your plan

An SDK call is a normal API call. Nothing is metered differently because it went through a client library.

Packages on their registries

Version, changelog, and install instructions live on each registry page.

  1. 1@snapshot-site/sdk — npm (TypeScript)
  2. 2snapshot-site-sdk — PyPI (Python)
  3. 3snapshot-site/php-sdk — Packagist (PHP)

Snapshot Site SDK FAQ

Which languages have an official Snapshot Site SDK?

Three: TypeScript on npm, Python on PyPI, and PHP on Packagist. Each exposes screenshot, analyze, and compare.

Is there an official Go, Java, or C# SDK?

No. Those languages have integration guides that call the REST endpoints directly with the standard HTTP client, which is all the API requires — the endpoints are plain JSON over HTTPS.

Do the three SDKs expose the same features?

Yes. All three wrap the same endpoints with the same three methods. Choosing a language does not cost you a capability.

Can I use an SDK from browser code?

You should not. The API key grants your whole account quota, and shipping it to a browser exposes it to anyone reading the bundle. Call the SDK from a server route or a serverless function and return only the result.

Should I use an SDK or call the API directly?

Use an SDK when your language has one — you get typed options and response handling for free. Call the API directly when it does not, or when you want zero dependencies.

Install a client and capture your first page

One API key works across all three libraries, the CLI, and the REST API. The free plan includes 50 captures per month.