URL Screenshot
Open any public URL in a headless Chromium browser and capture a screenshot.
POST/v1/screenshot
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| url * | String | — | Public URL to screenshot. Must start with http:// or https://. |
| mobile | Boolean | false | Emulate iPhone 14 (viewport 390×844, mobile user agent, touch events). |
| full_page | Boolean | false | Scroll and capture the entire page height. Ignored when selector is set. |
| selector | String | — | CSS selector — crops to that element wherever it appears on the page. Overrides full_page. |
| width | Integer | 1280 | Viewport width in pixels. Desktop mode only. |
| height | Integer | 800 | Viewport height in pixels. Desktop mode only. |
| format | String | "png" | Output format: "png" or "jpg". |
| device_scale | Float | 1 | Resolution multiplier. 2 produces a retina-quality image. |
| ms_delay | Integer | 2000 | Extra wait in ms after networkidle. Allows JS and lazy-loaded content to render. Max 30000. |
Response
JSON
{
"status": "success",
"image_url": "https://api.starkrender.com/static/uuid.png"
}
Examples
Desktop — viewport only (default)
JSON Body
{ "url": "https://example.com" }
Desktop — full page
JSON Body
{ "url": "https://example.com", "full_page": true }
Mobile — full article
JSON Body
{
"url": "https://infomoney.com.br/materia/...",
"mobile": true,
"full_page": true
}
Crop to specific element
JSON Body
{
"url": "https://example.com/article",
"selector": ".article-hero"
}
Custom viewport, JPG, extra wait
JSON Body
{
"url": "https://example.com",
"width": 1440,
"height": 900,
"format": "jpg",
"ms_delay": 5000
}
Mobile Mode
When mobile: true, StarkRender emulates an iPhone 14 using Playwright's built-in device profile:
- Viewport: 390 × 844 px
- User agent: Safari on iOS
- Touch events enabled
device_scaledefaults to1— pass2for full retina output (780px wide image)widthandheightare ignored in mobile mode