API
Audit a URL over REST. API access is included with the Agency plan and above. See pricing. Create a key in your dashboard. It is shown once.
Audit a URL
curl -X POST https://metatagauditor.com/api/v1/audit \
-H "Authorization: Bearer sk_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 2026-10-11-homepage" \
-d '{"url": "https://example.com/"}'The body needs an absolute http or https url. The Idempotency-Key header is optional. Retrying with the same key is never charged twice.
Response, 200
{
"charged": true,
"usage": { "month": "2026-10", "used": 41, "limit": 50000 },
"report": {
"url": "https://example.com/",
"finalUrl": "https://example.com/",
"outcome": { "kind": "ok", "status": 200 },
"score": { ... },
"findings": [ ... ],
"serp": { ... },
"social": [ ... ]
}
}The audit reads the raw HTML, which is what social scrapers see. If the site blocks us, times out, or cannot be reached, you still get a 200 with report.outcome.kind set to the reason and charged: false. We never bypass bot protection.
Errors
400the body has no valid http or https url.401missing, unknown, or revoked key.403the plan does not include the API, or the account is suspended.429rate limit or monthly limit reached. Never charged.503the service failed before finishing. Not charged.
Limits and billing
- 60 requests per minute per key, in fixed one minute windows. A 429 carries a
Retry-Afterheader. - One unit per successful audit. The Agency plan includes 50,000 units a month, shared with checks run in the web app.
- Blocked, timed out, unreachable, and rate limited requests are not charged.
- Units are counted per calendar month in UTC.
Site crawls
Site crawls and monitoring are run from the dashboard. They are not available over the API yet.