CMS & WordPress
Generate link previews, social share images, and PDF exports from WordPress pages or custom CMS content.
Add web capture to any PHP application — Laravel, Symfony, WordPress plugins, or standalone scripts. Capture screenshots, generate PDFs, record videos, and extract HTML. No wkhtmltopdf or Puppeteer required.
Generate link previews, social share images, and PDF exports from WordPress pages or custom CMS content.
Convert styled HTML invoices to pixel-perfect PDFs with paper size, margins, and header/footer support.
Use automation steps to log in and capture client portals, admin panels, and gated content.
Run capture jobs from Laravel scheduler or cron to monitor site appearance across countries.
PNG, JPEG, WebP, full-page PDF, raw HTML, and video screencasts from one endpoint.
Click, type, scroll, navigate, and wait before capture — handle logins, cookie banners, and dynamic content.
Render geo-gated pages from real browsers in any target country.
Deliver results to S3, Google Drive, Dropbox, Slack, and more — no upload code needed.
Capture entire sitemaps or crawl domains with built-in retries and progress tracking.
Run browser clients inside your network for compliance or latency requirements.
composer require screenshotcenter/screenshotcenter use ScreenshotCenter\Client;
$client = new Client(getenv('SCREENSHOTCENTER_API_KEY'));
// Take a screenshot and wait for it to finish
$shot = $client->screenshot->create('https://example.com');
$result = $client->waitFor($shot['id']);
echo $result['url']; // final URL
echo $result['status']; // "finished" $shot = $client->screenshot->create('https://example.com', [
'country' => 'fr',
'lang' => 'fr-FR',
'tz' => 'Europe/Paris',
]);
$done = $client->waitFor($shot['id']);
$client->screenshot->saveImage($done['id'], '/tmp/fr.png'); $shot = $client->screenshot->create('https://example.com', ['pdf' => true]);
$done = $client->waitFor($shot['id']);
$client->screenshot->savePdf($done['id'], '/tmp/page.pdf'); use ScreenshotCenter\Errors\ApiError;
use ScreenshotCenter\Errors\TimeoutError;
use ScreenshotCenter\Errors\ScreenshotFailedError;
try {
$result = $client->waitFor($shot['id'], interval: 2.0, timeout: 60.0);
} catch (ScreenshotFailedError $e) {
echo "Screenshot failed: {$e->error}";
} catch (TimeoutError $e) {
echo "Timed out after {$e->timeoutMs}ms";
} catch (ApiError $e) {
echo "API error {$e->status}: {$e->getMessage()}";
} $crawl = $client->crawl->create('https://example.com', 'example.com', 100);
$result = $client->crawl->waitFor($crawl['id']);
echo $result['total_discovered']; // pages found No. ScreenshotCenter renders PDFs in real browsers with full CSS, JavaScript, and web font support — no system-level tools to install.
Yes. Install via Composer and use the SDK in any Laravel controller, job, or artisan command.
Yes. Define automation steps (click, type, navigate) to walk through login flows before the capture.
Yes. The SDK supports PHP 8.0+ and uses modern language features.
Get 500 captures on the free trial — no credit card required. Install the SDK and take your first screenshot in minutes.