# 1. Create the crawl
curl -X POST "https://api.screenshotcenter.com/api/v1/crawl/create?key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "domain": "example.com", "max_urls": 100}'
# => { "data": { "id": 12345, "status": "processing", ... } }
# 2. Poll for status and screenshots
curl "https://api.screenshotcenter.com/api/v1/crawl/info?key=YOUR_API_KEY&id=12345"
# => { "data": { "status": "finished", "processed": 98, "screenshots": [...] } }
import { ScreenshotCenterClient } from 'screenshotcenter';
const client = new ScreenshotCenterClient({ apiKey: 'YOUR_API_KEY' });
const crawl = await client.crawl.create('https://example.com', 'example.com', 100);
const result = await client.crawl.waitFor(crawl.id);
console.log(`Done — ${result.processed} screenshots`);
result.screenshots.forEach((s) => console.log(s.url, s.image_url));
from screenshotcenter import ScreenshotCenterClient
client = ScreenshotCenterClient(api_key="YOUR_API_KEY")
crawl = client.crawl.create("https://example.com", "example.com", 100)
result = client.crawl.wait_for(crawl["id"], timeout=300)
print(f"Done — {result['processed']} screenshots")
for s in result.get("screenshots", []):
print(s["url"], s["image_url"])
use ScreenshotCenter\Client;
$client = new Client(getenv('SCREENSHOTCENTER_API_KEY'));
$crawl = $client->crawl->create('https://example.com', 'example.com', 100);
$result = $client->crawl->waitFor($crawl['id']);
echo "Done — {$result['processed']} screenshots\n";
foreach ($result['screenshots'] ?? [] as $s) {
echo $s['url'], ' ', $s['image_url'], "\n";
}
import (
"fmt"
sc "github.com/juliensobrier/screenshotcenter-go"
)
client := sc.New("YOUR_API_KEY")
crawl, _ := client.Crawl.Create("https://example.com", "example.com", 100, nil)
result, _ := client.Crawl.WaitFor(crawl.ID, nil)
fmt.Printf("Done — %d screenshots\n", result.Processed)
for _, s := range result.Screenshots {
fmt.Println(s.URL, s.ImageURL)
}
require "screenshotcenter"
client = ScreenshotCenter::Client.new(ENV["SCREENSHOTCENTER_API_KEY"])
crawl = client.crawl.create("https://example.com", "example.com", 100)
result = client.crawl.wait_for(crawl["id"])
puts "Done — #{result['processed']} screenshots"
(result["screenshots"] || []).each { |s| puts "#{s['url']} #{s['image_url']}" }
import io.screenshotcenter.ScreenshotCenterClient;
public class Main {
public static void main(String[] args) throws Exception {
var client = new ScreenshotCenterClient("YOUR_API_KEY");
var crawl = client.crawl().create("https://example.com", "example.com", 100);
var result = client.crawl().waitFor(crawl.getId());
System.out.printf("Done — %d screenshots%n", result.getProcessed());
result.getScreenshots().forEach(s ->
System.out.println(s.getUrl() + " " + s.getImageUrl()));
}
}
using ScreenshotCenter;
var client = new ScreenshotCenterClient("YOUR_API_KEY");
var crawl = await client.Crawl.CreateAsync("https://example.com", "example.com", 100);
var result = await client.Crawl.WaitForAsync(crawl.Id);
Console.WriteLine($"Done — {result.Processed} screenshots");
foreach (var s in result.Screenshots ?? Array.Empty<Screenshot>())
Console.WriteLine($"{s.Url} {s.ImageUrl}");