API Documentation
Integrate ReviewMySite into your workflow with our REST API.
OpenAPI and interactive reference
Swagger UI runs on the same host as the API so "Try it out" targets the right servers URL. Open it in a new tab; use Authorize for X-API-Key, Bearer, and x-tenant-id as documented in the spec.
In production, the spec and UI are available only when ENABLE_SWAGGER_UI=true is set on the API server.
Quick Start
1. Generate an API key from Integrations → API Keys (sign in required)
2. Set the base URL and auth header:
Base URL: https://api.reviewmysite.app Headers: Authorization: Bearer YOUR_API_KEY Content-Type: application/json x-tenant-id: YOUR_TENANT_ID
3. Start an audit:
curl -X POST https://api.reviewmysite.app/api/audits \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "x-tenant-id: YOUR_TENANT_ID" \
-d '{"url": "https://example.com", "maxPages": 10}'Authentication
All authenticated endpoints require a Bearer token in the Authorization header. API keys are scoped to your workspace and inherit the permissions of the user who created them.
Rate limit: 60 requests/minute per API key.
Endpoints
/api/auditsAuth requiredStart a new audit for a given URL.
{ "url": "https://example.com", "maxPages": 10 }{ "id": "audit_abc123", "status": "pending" }/api/audits/:idAuth requiredGet audit status, scores, and summary.
{ "id": "...", "status": "completed", "summaryScores": { "seo": 92, ... } }/api/audits/:id/pagesAuth requiredGet page-level results for an audit run.
{ "pages": [{ "url": "...", "scores": { ... } }] }/api/audits/:id/reportAuth requiredGet the generated markdown report.
{ "report": { "markdownContent": "...", "slug": "..." } }/api/sitesAuth requiredList all tracked sites in the workspace.
{ "sites": [{ "id": "...", "domain": "example.com" }] }/api/healthCheck API server health status.
{ "status": "ok", "version": "0.3.0" }Webhooks
Register webhook URLs to receive real-time notifications when audits complete. Webhook payloads include the audit ID, status, and summary scores. Configure webhooks from the Integrations page (sign in required).