sitescreen/siterenderer is a typed PHP SDK for the SiteScreen rendering API.
- Composer package name:
sitescreen/siterenderer - Current package version:
1.0.0 - Transport: Guzzle HTTP client
- Language level: PHP 8.2+
composer require sitescreen/siterenderer:^1.0<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use SiteScreen\SiteRenderer\DTO\ContentType;
use SiteScreen\SiteRenderer\DTO\RenderUrlWaitRequest;
use SiteScreen\SiteRenderer\SiteScreenClient;
$client = new SiteScreenClient(
apiKey: 'YOUR_API_KEY',
apiBaseUrl: 'https://api.sitescreen.io',
cdnBaseUrl: 'https://cdn.sitescreen.io'
);
$waitResult = $client->renderUrlAndWait(
new RenderUrlWaitRequest(
url: 'https://example.com',
contentType: ContentType::PNG,
maxWaitMs: 60_000
)
);
if (!$waitResult->completed) {
echo "Queued job: {$waitResult->jobId}\n";
exit(0);
}
$file = $client->downloadFile($waitResult->job->fileUrl);
$file->saveToPath(__DIR__ . '/result.png');
echo "Rendered: {$file->fileName}\n";GET /healthGET /v1/presetsPOST /v1/render/screenshotPOST /v1/render/wait/screenshotPOST /v1/render/htmlPOST /v1/render/wait/htmlGET /v1/jobs/{id}GET /files/{fileName}
- All public classes use
declare(strict_types=1);. - DTO constructors are explicit and validate input.
- Responses are mapped into strict DTOs and enums.
- Non-2xx responses throw
ApiException. - Transport-level failures throw
TransportException.