CaptureAPI Documentation
Generate website screenshots using a fast and developer-friendly API.
Overview
CaptureAPI allows developers to generate screenshots of any website using a simple HTTP API request. The API renders the page in a secure browser environment and returns a screenshot URL along with metadata.
Base endpoint
https://api.captureapi.net/screenshotSupported formats
- PNG
- JPG
- WebP
Quickstart
Send a GET request with your target URL and API key. Here is the shortest path to a working screenshot.
Example request
curl "https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY"Example response
{
"success": true,
"screenshot_url": "https://captureapi.s3.amazonaws.com/uuid/screenshots/uuid.png",
"screenshot_id": 123,
"format": "png",
"width": 1920,
"height": 1080,
"full_page": false,
"remove_popups": false,
"file_size": 245678,
"created_at": "2024-01-15T10:30:00Z",
"expires_at": "2024-01-22T10:30:00Z",
"response_time_ms": 2345
}Screenshot API
Generate a screenshot of any public URL. For account and usage information, see Account summary.
/screenshotGenerate a screenshot of any website.
Endpoint
https://api.captureapi.net/screenshotQuery parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | — | Website URL to screenshot |
| api_key | string | Yes | — | Your API key |
| width | integer | No | 1920 | Screenshot width |
| height | integer | No | 1080 | Screenshot height |
| full_page | boolean | No | false | Capture full page |
| format | string | No | png | png, jpg, webp, pdf |
| remove_popups | boolean | No | false | Remove cookie banners and popups |
Example response
Successful responses include the screenshot URL, id, format, dimensions, flags, file size, timestamps, and response_time_ms.
{
"success": true,
"screenshot_url": "https://captureapi.s3.amazonaws.com/uuid/screenshots/uuid.png",
"screenshot_id": 123,
"format": "png",
"width": 1920,
"height": 1080,
"full_page": false,
"remove_popups": false,
"file_size": 245678,
"created_at": "2024-01-15T10:30:00Z",
"expires_at": "2024-01-22T10:30:00Z",
"response_time_ms": 2345
}Health check
Health check endpoint to verify API status. No authentication required.
/healthEndpoint
https://api.captureapi.net/healthExample response
{
"status": "healthy"
}Example request
curl "https://api.captureapi.net/health"Account summary
Retrieve your account information including full name, email, usage summary, rate limits, plan information, and plan features.
/account/summaryEndpoint
https://api.captureapi.net/account/summaryQuery parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | string | Yes | Your API key for authentication |
Response
The response includes:
full_name: Your full nameemail: Your email addressusage_summary: Current month usage, remaining quota, usage percentage, average response time, and usage by API keyrate_limits: Requests per minute and monthly limitsplan_name: Name of your current subscription planplan_display_name: Display name of your subscription planplan_features: Available features for your plan (formats, custom_resolution, full_page, etc.)
Example response
{
"full_name": "John Doe",
"email": "user@example.com",
"usage_summary": {
"current_month": {
"successful": 45,
"failed": 2,
"total": 47,
"remaining": 55,
"usage_percentage": 45.0,
"month_start": "2024-01-01T00:00:00Z"
},
"all_time": {
"total_successful": 150
},
"average_response_time_ms": 2345.67,
"usage_by_key": [
{
"api_key__name": "My API Key",
"count": 45
}
]
},
"rate_limits": {
"requests_per_minute": 60,
"monthly_limit": 100
},
"plan_name": "free",
"plan_display_name": "Free Plan",
"plan_features": {
"formats": ["png"],
"custom_resolution": false,
"full_page": false
}
}Example request
curl "https://api.captureapi.net/account/summary?api_key=YOUR_API_KEY"Error responses
Errors return JSON with success: false and an error message.
{
"success": false,
"error": "Invalid API key"
}Common errors
| Error | Description |
|---|---|
| Invalid API key | API key is incorrect |
| Missing URL | URL parameter required |
| Rate limit exceeded | Too many requests |
Rate limits
Rate limits depend on your plan. Limits are applied per API key and reset each minute.
| Plan | Requests / minute |
|---|---|
| Free | 5 |
| Pro | 40 |
| Elite | 100 |
Examples
Use any HTTP client. Replace YOUR_API_KEY with a key from your dashboard.
const url = "https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY"; const response = await fetch(url); const data = await response.json(); console.log(data.screenshot_url);
Screenshot options
Combine query parameters to control capture behavior.
https://api.captureapi.net/screenshot?url=https://example.com&full_page=true