Tools
Screenshot
Capture a screenshot of a webpage and return a URL for the screenshot and an optional animated GIF
Take a screenshot of a webpage. The agent can optionally focus on a specific element using a CSS selector. Features: - Full page screenshots - Optional CSS selector to highlight specific elements - Animated GIF generation (zoom into elements or scroll through page) - Returns a publicly accessible URL Animation Feature: When animate=true: - With a CSS selector: generates an animated GIF that: 1. Starts with a full page view from the top 2. Zooms into the first element (1-3 slides based on element size/depth) 3. Loops over up to 3 additional elements with smooth zoom animations - Without a CSS selector: generates an animated GIF that scrolls from top to bottom of the page
Playground
Your organization, project and token stay in this browser's local storage and are sent straight to the API — this page never sees them.
Billing
Fixed cost per URL requested, plus one live page fetch of the hard-blocked kind: screenshots are always taken on the strongest route, so every one is billed at that rate whether or not the page would have yielded to a gentler fetch. Storing the image adds nothing.
These usage SKUs can be charged on a call.
| SKU | Credits | Description |
|---|---|---|
| Tool call | 1 per request | Charged once per successful item, on top of any usage below. |
| Live page fetch, hard-blocked page | 7,425 per 1,000 page | A page that refused every gentler attempt. Charged on top of them, so a hard-blocked page costs the whole sequence. |
Schemas
item is what you send, config how the tool behaves,
and the response is what you get back.
Item
objecturl
string
required
URL of the page to screenshot
css_selector_highlight
string | null
Optional CSS selector to highlight/focus on a specific element on the page
animate
boolean
Generate an animated GIF that zooms into highlighted elements (if CSS selector provided) or scrolls through the page (if no CSS selector)
{
"url": "string",
"css_selector_highlight": null,
"animate": false
}
Response
objectscreenshot_url
string
required
Public URL of the screenshot stored in GCS
animated_screenshot_url
string | null
Public URL of the animated GIF screenshot stored in GCS
{
"screenshot_url": "string",
"animated_screenshot_url": null
}
Endpoints
http://agents.botify.com/{organization}/{project}/screenshot/process
http://agents.botify.com/{organization}/{project}/screenshot/batch_process
http://agents.botify.com/{organization}/{project}/screenshot/async_process
http://agents.botify.com/{organization}/{project}/screenshot/async_batch_process
See running a long job in the background for the polling flow.
cURL
curl -X POST "http://agents.botify.com/{organization}/{project}/screenshot/process" \
-H "Authorization: Bearer $BOTIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"item": {
"url": "<url>"
}
}'
Raw metadata
- GET /agents/screenshot — this page as JSON.
- /agents/screenshot/skill.md — Markdown for coding agents.