Automatically generate live website thumbnails for tool directories, startup listings, and curated collections.
Tool directories and listing sites need visual previews of every entry. Asking submitters to upload screenshots gives you inconsistent quality. Taking them manually doesn't scale. And static screenshots go stale as listed sites redesign.
Point the API at any listing URL and get a consistent, up-to-date thumbnail. Schedule refreshes so previews always match the live site.
When a new tool or site is submitted, pass its URL to the API.
A single API call returns a consistent, correctly-sized preview image.
Run a weekly cron to re-capture all listings so thumbnails stay current.
A single API call is all you need.
// Generate thumbnails for all directory listings
const listings = [
{ id: "1", url: "https://linear.app" },
{ id: "2", url: "https://vercel.com" },
{ id: "3", url: "https://supabase.com" },
];
for (const listing of listings) {
const res = await fetch(
`https://api.porto.dev/v1/screenshot?url=${encodeURIComponent(listing.url)}&width=1280&height=720&block_ads=true&format=webp`,
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const buffer = Buffer.from(await res.arrayBuffer());
// Save as /thumbnails/{listing.id}.webp
}See results instantly with pre-configured defaults for this use case.
Every thumbnail is the exact same size — no more mismatched preview cards.
Compressed WebP format for fast-loading directory pages with hundreds of thumbnails.
Clean previews without cookie banners, chat widgets, or promotional overlays.
Refresh all listing thumbnails in a single batch API call.
No credit card required. Scale up as you need with simple, predictable pricing.
Generate rich link previews for any URL. Thumbnails for chat apps, bookmarks, directories, and content feeds.
Generate OG images, Twitter cards, and social previews from any URL. One API call, pixel-perfect results.
Enrich leads with live website previews. Personalize outreach by showing prospects their own site.