Build your integration
Evergreen screenshots: auto-updating image URLs
Create a website screenshot with a fixed image URL that refreshes daily or weekly. Embed it once and ScreenshotEngine keeps the image current.
View as MarkdownWhat an evergreen screenshot is
An evergreen screenshot is a saved capture with a permanent public image URL. ScreenshotEngine re-captures the page on a daily or weekly schedule and replaces the image behind the same link, so embeds in your website, directory, or app stay current without code changes.
Use it for website thumbnails in SaaS directories, client site overviews, and bookmark libraries. For a one-off capture, use the regular screenshot endpoint instead.
Create an evergreen screenshot
Send a POST request to https://api.screenshotengine.com/v1/evergreen-screenshot. The body accepts every POST /v1/screenshot parameter plus schedule ("daily" or "weekly", default "weekly"). Only image output is supported, and the format is fixed after creation because it is part of the image URL.
The first capture runs immediately, so the image URL works as soon as the request returns HTTP 201.
curl --fail-with-body --request POST 'https://api.screenshotengine.com/v1/evergreen-screenshot' \
--header "Authorization: Bearer $SCREENSHOTENGINE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"url": "https://example.com",
"format": "webp",
"blockBanners": true,
"schedule": "weekly"
}'Read the response
The response is JSON. Store the id to manage the screenshot later and use imageUrl wherever you want the image to appear.
{
"id": "94620f70-6d71-4cb6-9088-7d10e1daa7ea",
"imageUrl": "https://cdn.screenshotengine.com/e/94620f70-6d71-4cb6-9088-7d10e1daa7ea.webp",
"url": "https://example.com",
"format": "webp",
"schedule": "weekly",
"status": "active",
"nextRunAt": "2026-10-07T02:28:55.501Z",
"lastSuccessAt": "2026-09-30T02:28:55.501Z",
"lastError": null
}Embed the image URL
Use imageUrl as a normal image source. The link never changes when the image refreshes.
Images are served with a 12-hour cache lifetime, so browsers and CDNs can show the previous capture for up to 12 hours after a refresh. Tools that download their own copy of an image need to fetch it again to show updates.
<img
src="https://cdn.screenshotengine.com/e/94620f70-6d71-4cb6-9088-7d10e1daa7ea.webp"
alt="Screenshot of example.com"
loading="lazy"
/>Schedules, credits, and plan limits
Every capture uses one screenshot credit from your monthly allowance: the first capture, each scheduled refresh, and each manual refresh. Each plan also allows a fixed number of evergreen screenshots. Free plans refresh weekly only and include a small watermark.
If you downgrade to a plan with fewer slots, the newest evergreen screenshots beyond the limit stop refreshing (status over_limit) but keep serving their last image. They resume after an upgrade.
| Plan | Evergreen screenshots | Schedules |
|---|---|---|
| Free | 1 | Weekly |
| Starter | 25 | Daily or weekly |
| Professional | 100 | Daily or weekly |
| Engine | 500 | Daily or weekly |
Manage evergreen screenshots
All endpoints use the same Bearer authentication as the screenshot API. Listing, reading, updating, and deleting do not use credits. You can also manage evergreen screenshots from the dashboard.
PATCH accepts schedule, paused (true or false), and any capture setting except format. New capture settings apply on the next refresh.
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/evergreen-screenshot | Create and capture immediately |
| GET | /v1/evergreen-screenshot | List screenshots and slot usage |
| GET | /v1/evergreen-screenshot/{id} | Read status and last refresh |
| PATCH | /v1/evergreen-screenshot/{id} | Change schedule or settings, pause or resume |
| DELETE | /v1/evergreen-screenshot/{id} | Delete; the image URL stops working |
| POST | /v1/evergreen-screenshot/{id}/refresh | Re-capture now (once every 10 minutes) |
Refresh status and failures
A failed refresh never replaces the image; the URL keeps serving the last successful capture and the refresh is retried the next day. Check lastSuccessAt and lastError to see whether an image is current. After five failures in a row, the account owner gets an email.
| Status | Meaning |
|---|---|
| active | Refreshing on schedule. |
| paused | Paused by you. The last image is still served. |
| failing | Several refreshes in a row failed. Retries continue daily. |
| quota_exceeded | Your monthly allowance is used up. Refreshes resume after it resets. |
| over_limit | Beyond your plan's evergreen limit. Upgrade or delete another to resume. |
Create evergreen screenshots from an AI agent
The ScreenshotEngine MCP server at https://api.screenshotengine.com/mcp includes create_evergreen_screenshot, list_evergreen_screenshots, and delete_evergreen_screenshot tools, so an agent can set up auto-updating thumbnails for you.