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.
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.
| Language | Library | Install | Typical use |
|---|---|---|---|
| SDK | TypeScript | pnpm add @snapshot-site/sdk | Node.js services, scripts, and full-stack apps. Typed request options and typed responses for the three endpoints. |
| SDK | Python | pip install snapshot-site-sdk | Content QA, batch capture jobs, AI analysis pipelines, and saving returned assets to disk. |
| SDK | PHP | composer require snapshot-site/php-sdk | Laravel, Symfony, WordPress, and custom backend screenshot workflows. |
Same four steps in any of the three
- 1
Create an API key in the Snapshot Site console, on the API keys page.
- 2
Install the library for your language with the command in the table above.
- 3
Instantiate the client with your key read from server-side configuration — never from client-side code or a committed file.
- 4
Call
screenshot,analyze, orcompare, then persist the returned asset or JSON payload. - 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.
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.
Related resources
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.