snapshot-site/php-sdk

Official PHP SDK for the Snapshot Site API

Maintainers

Package info

github.com/snapshot-site/snapshot-site-php-sdk

Homepage

pkg:composer/snapshot-site/php-sdk

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-07-31 11:35 UTC

This package is auto-updated.

Last update: 2026-07-31 11:40:00 UTC


README

Packagist PHP License CI

Official PHP SDK for the Snapshot Site API.

Install

composer require snapshot-site/php-sdk

Credentials

You need a Snapshot Site API key to use this SDK.

  1. Sign up for a Snapshot Site Console account.

  2. Create an API key on the API Keys page.

    Snapshot Site Console — API Keys

  3. Pass it as the first argument to new Client(...). Read it from the environment rather than hardcoding it: new Client(getenv('SNAPSHOT_SITE_API_KEY')).

  4. Leave baseUrl unset unless you're pointed at a self-hosted or staging instance; it defaults to https://api.prod.ss.snapshot-site.com. See Custom base URL.

Compatibility

Requires PHP 8.1 or later, with the curl and json extensions.

Usage

Not sure which options to use? Preview a capture and its parameters in the Screenshot console playground before wiring them into code.

Snapshot Site Console — Screenshot playground

<?php

require __DIR__ . '/vendor/autoload.php';

use SnapshotSite\Client;

$client = new Client('ss_live_xxx');

$result = $client->screenshot([
    'url' => 'https://snapshot-site.com',
    'format' => 'png',
    'fullSize' => true,
]);

echo $result['link'] ?? '';

Screenshot example

<?php

require __DIR__ . '/vendor/autoload.php';

use SnapshotSite\Client;

$client = new Client('ss_live_xxx');

$result = $client->screenshot([
    'url' => 'https://snapshot-site.com/pricing',
    'width' => 1440,
    'format' => 'png',
    'fullSize' => true,
    'hideCookie' => true,
]);

print_r($result);

Analyze example

<?php

require __DIR__ . '/vendor/autoload.php';

use SnapshotSite\Client;

$client = new Client('ss_live_xxx');

$result = $client->analyze([
    'url' => 'https://snapshot-site.com',
    'width' => 1440,
    'fullSize' => true,
    'enableSummary' => true,
    'enableQuality' => true,
]);

print_r($result);

Compare example

<?php

require __DIR__ . '/vendor/autoload.php';

use SnapshotSite\Client;

$client = new Client('ss_live_xxx');

$result = $client->compare([
    'before' => [
        'url' => 'https://snapshot-site.com/pricing',
        'width' => 1440,
        'fullSize' => true,
        'hideCookie' => true,
    ],
    'after' => [
        'url' => 'https://staging.snapshot-site.com/pricing',
        'width' => 1440,
        'fullSize' => true,
        'hideCookie' => true,
    ],
    'threshold' => 0.1,
]);

print_r($result);

Download assets locally

downloadTo() can save:

  • a direct asset URL
  • a screenshot response with link
  • an analyze response with screenshot.link
  • a compare response, where diff.link is preferred
<?php

require __DIR__ . '/vendor/autoload.php';

use SnapshotSite\Client;

$client = new Client('ss_live_xxx');

$result = $client->screenshot([
    'url' => 'https://snapshot-site.com/pricing',
    'format' => 'png',
    'fullSize' => true,
]);

$client->downloadTo($result, __DIR__ . '/pricing.png');

Custom base URL

$client = new Client(
    apiKey: 'ss_live_xxx',
    baseUrl: 'https://api.prod.ss.snapshot-site.com'
);

Tests

composer install
composer test