Documentation

Platform-wide documentation covering authentication, rate limits, response formats, and error handling. For API-specific docs, visit each API's documentation page.

Authentication

All endpnt.dev APIs use API key authentication. Include your API key in the x-api-key header with every request. Your API key starts with ek_ and works across all 5 APIs.

Authentication Example
curl -X POST "https://screenshot.endpnt.dev/api/screenshot" \
  -H "x-api-key: ek_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

Getting your API key

Sign up for a free account to get your API key instantly. One key works across all APIs.

Rate Limiting

Rate limits are shared across all APIs and based on your plan tier. We use a sliding window approach that resets continuously rather than at fixed intervals.

PlanRequests/MonthRate Limit
Free10010/min
Starter5,00060/min
Pro25,000300/min
EnterpriseUnlimitedCustom

Rate limit headers are included in every response: X-RateLimit-Limit,X-RateLimit-Remaining, and X-RateLimit-Reset.

Response Format

All APIs return responses in a consistent JSON envelope format. This makes it easy to handle responses consistently across all endpoints.

Success Response

{
  "success": true,
  "data": {
    // API-specific response data
    "imageUrl": "https://cdn.endpnt.dev/screenshots/abc123.png",
    "format": "png",
    "width": 1920,
    "height": 1080
  },
  "meta": {
    "requestId": "req_abc123def456",
    "processingTime": 1245,
    "apiVersion": "1.0"
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "INVALID_URL",
    "message": "The provided URL is not valid or accessible",
    "details": {
      "url": "not-a-valid-url"
    }
  },
  "meta": {
    "requestId": "req_abc123def456",
    "processingTime": 45,
    "apiVersion": "1.0"
  }
}

Error Codes

Common error codes you might encounter across all APIs:

HTTP StatusError CodeDescription
400INVALID_REQUESTRequest body is malformed or missing required fields
401INVALID_API_KEYAPI key is missing, invalid, or expired
429RATE_LIMIT_EXCEEDEDYou've exceeded your plan's rate limit
402QUOTA_EXCEEDEDYou've exceeded your plan's monthly request quota
500INTERNAL_ERRORAn unexpected error occurred on our end

SDKs and Libraries

While our APIs are simple HTTP endpoints that work with any HTTP client, we're working on official SDKs for popular languages. For now, here are some community examples:

JavaScript/Node.js

// Using fetch (browser) or node-fetch (Node.js)
const response = await fetch('https://screenshot.endpnt.dev/api/screenshot', {
  method: 'POST',
  headers: {
    'x-api-key': 'ek_your_api_key_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    url: 'https://example.com',
    fullPage: true
  })
});

const result = await response.json();
console.log(result);

Python

import requests

url = "https://screenshot.endpnt.dev/api/screenshot"
headers = {
    "x-api-key": "ek_your_api_key_here",
    "Content-Type": "application/json"
}
data = {
    "url": "https://example.com",
    "fullPage": True
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)

Ready to start building?

Get your API key and explore the full documentation for each API.