Base URL: https://pageaudit.grabshot.dev
Pass your API key via the x-api-key header or key query parameter.
curl "https://pageaudit.grabshot.dev/v1/audit?url=https://example.com" \
-H "x-api-key: pa_your_api_key"
/v1/audit
Run a full performance and SEO audit on a website. Returns scores, Core Web Vitals, meta tags, heading structure, image alt coverage, and actionable recommendations.
| Param | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Website URL to audit |
curl "https://pageaudit.grabshot.dev/v1/audit?url=https://stripe.com" \
-H "x-api-key: pa_your_key"
{
"success": true,
"url": "https://stripe.com",
"statusCode": 200,
"loadTimeMs": 2340,
"pageWeight": { "totalBytes": 524288, "totalKB": 512, "breakdown": { ... } },
"requests": { "total": 45, "byType": { "document": 1, "script": 12, ... } },
"meta": {
"title": "Stripe | Financial Infrastructure",
"description": "...",
"ogTitle": "...",
"viewport": "width=device-width, initial-scale=1"
},
"headings": { "h1": { "count": 1, "texts": ["..."] }, ... },
"images": { "total": 20, "withAlt": 18, "withoutAlt": 2, "altCoverage": "90%" },
"mobile": { "hasViewport": true, "isResponsive": true },
"coreWebVitals": { "lcp": "1200ms", "cls": "0.050", "ttfb": "180ms" },
"score": 85,
"grade": "B",
"recommendations": [
{ "severity": "warning", "category": "accessibility", "message": "2 of 20 images missing alt text" }
]
}
/v1/demo/audit
Demo endpoint — same as /v1/audit but no authentication required. For testing purposes.
/v1/health
Health check endpoint. No authentication required.
curl "https://pageaudit.grabshot.dev/v1/health"
const res = await fetch(
'https://pageaudit.grabshot.dev/v1/audit?url=https://stripe.com',
{ headers: { 'x-api-key': 'pa_your_key' } }
);
const data = await res.json();
console.log(`Score: ${data.score}/100 (${data.grade})`);
import requests
resp = requests.get(
'https://pageaudit.grabshot.dev/v1/audit',
params={'url': 'https://stripe.com'},
headers={'x-api-key': 'pa_your_key'}
)
data = resp.json()
print(f"Score: {data['score']}/100 ({data['grade']})")
| Plan | Monthly Limit | Rate Limit |
|---|---|---|
| Free | 25 requests | 10/min |
| Starter ($9/mo) | 500 requests | 30/min |
| Pro ($29/mo) | 5,000 requests | 60/min |
| Business ($79/mo) | 50,000 requests | 120/min |