sitescreen/siterenderer

Official PHP SDK for SiteScreen Renderer API

Maintainers

Package info

github.com/SiteScreen/siterenderer-sdk

pkg:composer/sitescreen/siterenderer

Statistics

Installs: 9

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-02-22 17:51 UTC

This package is not auto-updated.

Last update: 2026-05-18 17:44:47 UTC


README

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+

Installation

composer require sitescreen/siterenderer:^1.0

Quick Start

<?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";

API Coverage

  • GET /health
  • GET /v1/presets
  • POST /v1/render/screenshot
  • POST /v1/render/wait/screenshot
  • POST /v1/render/html
  • POST /v1/render/wait/html
  • GET /v1/jobs/{id}
  • GET /files/{fileName}

Design Notes

  • 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.