yebto/screenshot-api

PHP SDK for the YEB Screenshot API. Capture website screenshots, PDFs, videos, OCR and more.

Maintainers

Package info

github.com/yebto/screenshot-api

Homepage

pkg:composer/yebto/screenshot-api

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-03-06 22:20 UTC

This package is auto-updated.

Last update: 2026-03-06 22:22:28 UTC


README

PHP SDK for the YEB Screenshot API. Capture website screenshots, PDFs, videos, OCR and more.

Works standalone (plain PHP) or with Laravel (Facade + auto-discovery).

Requirements

  • PHP 8.1+
  • cURL extension
  • YEB API Key (free tier available)

Installation

composer require yebto/screenshot-api

Standalone Usage

use Yebto\ScreenshotAPI\ScreenshotAPI;

$api = new ScreenshotAPI(['key' => 'your-api-key']);
$result = $api->capture('example');

Laravel Usage

Add your API key to .env:

YEB_KEY_ID=your-api-key

Use via Facade:

use ScreenshotAPI;

$result = ScreenshotAPI::capture('example');

Or via dependency injection:

use Yebto\ScreenshotAPI\ScreenshotAPI;

public function handle(ScreenshotAPI $api)
{
    $result = $api->capture('example');
}

Publish Config

php artisan vendor:publish --tag=yebto-screenshot-config

Available Methods

Method Description
capture($url) Capture a screenshot of a URL
captureHtml($html) Capture a screenshot from HTML content
capturePdf($url) Capture a PDF of a URL
captureVideo($url) Capture a video recording of a URL
bulk($urls) Capture screenshots of multiple URLs
bulkStatus($job_id) Check bulk capture job status
scheduleCreate($url) Create a scheduled screenshot
scheduleUpdate($schedule_id) Update a scheduled screenshot
scheduleDelete($schedule_id) Delete a scheduled screenshot
scheduleList() List all scheduled screenshots
scheduleRun($schedule_id) Run a scheduled screenshot now
diff($url) Create a visual diff between screenshots
diffStatus($job_id) Check diff job status
status($job_id) Check screenshot job status
download($job_id) Download a captured screenshot
metrics($url) Get page performance metrics
ocr($url) Extract text from a screenshot via OCR
extractHtml($url) Extract rendered HTML from a URL
extractText($url) Extract visible text from a URL
devices() List available device presets

All methods accept an optional $extra array parameter for additional API options.

Error Handling

use Yebto\ApiClient\Exceptions\ApiException;
use Yebto\ApiClient\Exceptions\AuthenticationException;
use Yebto\ApiClient\Exceptions\RateLimitException;

try {
    $result = $api->capture('example');
} catch (AuthenticationException $e) {
    // Missing or invalid API key (401)
} catch (RateLimitException $e) {
    // Too many requests (429)
} catch (ApiException $e) {
    echo $e->getMessage();
    echo $e->getHttpCode();
}

Free API Access

Register at yeb.to with Google OAuth to get a free API key.

Support

License

MIT - NETOX Ltd.