API Documentation

Complete guide to CaptureAPI endpoints, authentication, and usage

Base URL: https://api.captureapi.net

Getting Started

1. Get Your API Key

Sign up for a free account and create an API key from your dashboard. Your API key is required for all API requests.

Get Your API Key →

2. Make Your First Request

curl "https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY"

3. Receive Your Screenshot

The API returns a JSON response with the S3 URL of your screenshot. Screenshots are automatically stored and organized by user ID.

Authentication

All API requests require authentication

Include your API key as a query parameter (api_key) in all requests.

Query Parameter (Screenshot API)

https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY

Rate Limits

Free

$0/month
Monthly Limit 100
Requests/minute 60
Formats PNG only
Retention 7 days
Timeout 45s
API Keys 1
POPULAR

Basic

$10/month
Monthly Limit 1,000
Requests/minute 300
Formats PNG, JPG, WebP, PDF
Retention 30 days
Timeout 60s
API Keys 5

Pro

$30/month
Monthly Limit 10,000
Requests/minute 1200
Formats PNG, JPG, WebP, PDF
Retention 90 days
Timeout 90s
API Keys Unlimited

Note: When rate limits are exceeded, you'll receive a 429 Too Many Requests response. Monthly limits reset on the 1st of each month.

Screenshot API

GET https://api.captureapi.net/screenshot

Generate a screenshot of any website. Returns a JSON response with the S3 URL and metadata.

Query Parameters

Parameter Type Required Default Description
url string Required - Website URL to screenshot (http:// or https://)
api_key string Required - Your API key for authentication
width integer Optional 1920 Screenshot width in pixels (100-3840)
height integer Optional 1080 Screenshot height in pixels (100-2160)
full_page boolean Optional false Capture full page screenshot (true/false)
format string Optional png Image format: png, jpg, webp, or pdf (PDF available for paid plans only)
remove_popups boolean Optional false Remove popups, modals, and cookie banners from screenshot (true/false)

Response

{
  "success": true,
  "screenshot_url": "https://captureapi.s3.amazonaws.com/user_1/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
}

Example Request

curl "https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY&width=1920&height=1080&format=png&full_page=true"
GET https://api.captureapi.net/health

Health check endpoint to verify API status.

{"status": "healthy"}

Account Summary

GET https://api.captureapi.net/account/summary

Retrieve your account information including full name, email, usage summary, rate limits, plan information, and plan features.

Query Parameters

Parameter Type Required Description
api_key string Required Your API key for authentication

Response

The response includes:

  • full_name: Your full name
  • email: Your email address
  • usage_summary: Current month usage, remaining quota, usage percentage, average response time, and usage by API key
  • rate_limits: Requests per minute and monthly limits
  • plan_name: Name of your current subscription plan
  • plan_display_name: Display name of your subscription plan
  • plan_features: Available features for your plan (formats, custom_resolution, full_page, etc.)
{
  "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"

Code Examples

cURL

curl "https://api.captureapi.net/screenshot?url=https://example.com&api_key=YOUR_API_KEY&width=1920&height=1080&format=png&full_page=true"

Python

import requests

url = "https://api.captureapi.net/screenshot"
params = {
    "url": "https://example.com",
    "api_key": "YOUR_API_KEY",
    "width": 1920,
    "height": 1080,
    "format": "png",
    "full_page": True
}

response = requests.get(url, params=params)
data = response.json()

print(f"Screenshot URL: {data['screenshot_url']}")
print(f"File Size: {data['file_size']} bytes")

JavaScript (Node.js)

const axios = require('axios');

const url = 'https://api.captureapi.net/screenshot';
const params = {
  url: 'https://example.com',
  api_key: 'YOUR_API_KEY',
  width: 1920,
  height: 1080,
  format: 'png',
  full_page: true
};

axios.get(url, { params })
  .then(response => {
    console.log('Screenshot URL:', response.data.screenshot_url);
    console.log('File Size:', response.data.file_size, 'bytes');
  })
  .catch(error => {
    console.error('Error:', error.response?.data);
  });

Error Codes

400

Bad Request

Invalid request parameters or malformed request.

401

Unauthorized

Invalid or missing API key. Check your authentication credentials.

429

Too Many Requests

Rate limit exceeded. You've exceeded your monthly limit or requests per minute limit.

Ready to Start Building?

Get your free API key and start generating screenshots