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).
- PHP 8.1+
- cURL extension
- YEB API Key (free tier available)
composer require yebto/screenshot-apiuse Yebto\ScreenshotAPI\ScreenshotAPI;
$api = new ScreenshotAPI(['key' => 'your-api-key']);
$result = $api->capture('example');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');
}php artisan vendor:publish --tag=yebto-screenshot-config| 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.
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();
}Register at yeb.to with Google OAuth to get a free API key.
- API Documentation: https://yeb.to/api/screenshot
- Email: support@yeb.to
- Issues: GitHub Issues
MIT - NETOX Ltd.