Documentation Index
Fetch the complete documentation index at: https://docs.snapopa.com/llms.txt
Use this file to discover all available pages before exploring further.
The simplest capture request only requires a URL.
Request
curl -X POST https://api.snapopa.com/capture \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
const response = await fetch('https://api.snapopa.com/capture', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
}),
});
const data = await response.json();
console.log(data.data.fileUrl);
import requests
response = requests.post(
'https://api.snapopa.com/capture',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'url': 'https://example.com',
}
)
data = response.json()
print(data['data']['fileUrl'])
Response
{
"success": true,
"error": null,
"data": {
"uuid": "abc123-def456",
"fileUrl": "https://cdn.snapopa.com/abc123-def456.png",
"fromCache": false,
"tokenCost": 1,
"fileSizeBytes": 245678,
"processingTimeMs": 1234,
"metadata": {
"mimeType": "image/png",
"width": 1920,
"height": 1080,
"createdAt": 1703001234
}
}
}
Default Settings
When you don’t specify options, these defaults are used:
| Option | Default |
|---|
format | png |
viewport.width | 1920 |
viewport.height | 1080 |
isFullPage | false |
quality | 95 |
timeout | 30000 |
waitUntil | domcontentloaded |
Customize
Add options to customize the capture:
{
"url": "https://example.com",
"format": "webp",
"viewport": {
"width": 1280,
"height": 720
}
}
Next Steps