API Documentation

RESTful JSON API for automated SEO analysis. Integrate 30+ technical SEO checks into your applications.

Real-time results
API key authentication
JSON/XML responses
99.9% uptime SLA

Authentication

All API requests require an API key passed in the Authorization header.

Authorization Header
Authorization: Bearer YOUR_API_KEY
API Key Security

Keep your API keys secure. Do not commit them to version control or expose them in client-side code. Rotate keys regularly and use environment variables in production.

Getting Your API Key

  1. Run your first free audit at auditapi.pro
  2. Check your email for the API key
  3. Or find it in your dashboard under "API Integration"
  4. Use this key in all API requests

Run SEO Audit

POST https://auditapi.pro/api-simple.php

Submit a website for SEO analysis. Returns audit ID and initial results.

Request

cURL Example
curl -X POST "https://auditapi.pro/api-simple.php" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "website": "https://example.com",
    "email": "developer@company.com",
    "name": "Optional Name",
    "generate_api_key": true
  }'

Parameters

Parameter Type Required Description
website string Yes URL to analyze (must include http:// or https://)
email string Yes Email for notifications and dashboard access
name string No Optional name for the audit
generate_api_key boolean No Generate new API key if user doesn't have one (default: true)

Response

Success Response (200)
{
  "success": true,
  "message": "SEO audit completed! Score: 87/100 (B).",
  "data": {
    "audit_id": "audit_1234567890_abc123",
    "website": "https://example.com",
    "score": 87,
    "grade": "B",
    "issues_found": 12,
    "is_free": true,
    "free_audits_remaining": 9,
    "dashboard_url": "https://auditapi.pro/dashboard.html?audit=...",
    "api_key": "seoaudit_abc123def456",
    "dashboard_token": "token_xyz789"
  },
  "report_summary": {
    "score": 87,
    "grade": "B",
    "issues_found": 12,
    "top_issues": ["Missing meta description", "Slow page load"],
    "top_recommendations": ["Add meta description", "Optimize images"]
  }
}
Error Response (400)
{
  "success": false,
  "error": "Invalid website URL",
  "code": "VALIDATION_ERROR"
}

Get Audit Results

GET https://auditapi.pro/api-simple.php?id={audit_id}

Retrieve detailed results for a specific audit.

cURL Example
curl -X GET "https://auditapi.pro/api-simple.php?id=audit_1234567890_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "audit": {
    "audit_id": "audit_1234567890_abc123",
    "website": "https://example.com",
    "email": "developer@company.com",
    "score": 87,
    "grade": "B",
    "status": "completed",
    "completed_at": "2026-04-04T18:07:28Z",
    "issues_found": 12,
    "report_url": "https://auditapi.pro/api/v1/report/audit_1234567890_abc123",
    "checks": {
      "title": { "present": true, "optimal": true },
      "meta_description": { "present": false, "optimal": false },
      "h1": { "count": 1, "single": true },
      "images": { "total": 5, "with_alt": 3 },
      "viewport": { "present": true },
      "https": { "enabled": true }
    },
    "recommendations": [
      "Add a meta description",
      "Add alt text to images",
      "Improve page load speed"
    ]
  }
}

SDK Examples

JavaScript/Node.js
// Install: npm install seo-audit-api
import { SEOCheck } from 'seo-audit-api';

const client = new SEOCheck('YOUR_API_KEY');

const result = await client.audit({
  website: 'https://example.com',
  email: 'dev@company.com'
});

console.log(`Score: ${result.score}/100`);
console.log(`Grade: ${result.grade}`);
console.log(`Issues: ${result.issues_found}`);
Python
# Install: pip install seo-audit-api
from seo_audit import SEOCheck

client = SEOCheck(api_key='YOUR_API_KEY')

result = client.audit(
    website='https://example.com',
    email='dev@company.com'
)

print(f"Score: {result['score']}/100")
print(f"Grade: {result['grade']}")
print(f"Issues: {result['issues_found']}")
PHP
PHP
// Install: composer require seo-audit/api
require 'vendor/autoload.php';

use SEOCheck\Client;

$client = new Client('YOUR_API_KEY');

$result = $client->audit([
    'website' => 'https://example.com',
    'email' => 'dev@company.com'
]);

echo "Score: " . $result['score'] . "/100\n";
echo "Grade: " . $result['grade'] . "\n";
echo "Issues: " . $result['issues_found'] . "\n";
Go
// Install: go get github.com/seo-audit/api-go
package main

import (
    "fmt"
    seoaudit "github.com/seo-audit/api-go"
)

func main() {
    client := seoaudit.NewClient("YOUR_API_KEY")
    
    result, err := client.Audit(seoaudit.AuditRequest{
        Website: "https://example.com",
        Email:   "dev@company.com",
    })
    
    if err != nil {
        panic(err)
    }
    
    fmt.Printf("Score: %d/100\n", result.Score)
    fmt.Printf("Grade: %s\n", result.Grade)
    fmt.Printf("Issues: %d\n", result.IssuesFound)
}

Error Codes

HTTP Code Error Code Description Solution
400 VALIDATION_ERROR Invalid input parameters Check request format and parameters
401 UNAUTHORIZED Invalid or missing API key Provide valid API key in Authorization header
403 FORBIDDEN Insufficient permissions Upgrade plan or contact support
404 NOT_FOUND Resource not found Check audit ID or endpoint URL
429 RATE_LIMITED Too many requests Wait or upgrade to higher rate limit
500 INTERNAL_ERROR Server error Retry later or contact support
503 SERVICE_UNAVAILABLE Service maintenance Check status page or try later

Rate Limiting

Free Plan
10 requests/hour
Burst: 5 requests/minute
Pay-as-you-go
100 requests/hour
Burst: 20 requests/minute
Agency Plan
1000 requests/hour
Burst: 100 requests/minute
Rate Limit Headers

All responses include rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

Webhooks

Receive real-time notifications when audits are completed.

Webhook Payload Example
{
  "event": "audit.completed",
  "data": {
    "audit_id": "audit_1234567890_abc123",
    "website": "https://example.com",
    "score": 87,
    "grade": "B",
    "issues_found": 12,
    "completed_at": "2026-04-04T18:07:28Z"
  },
  "webhook_id": "wh_abc123",
  "timestamp": "2026-04-04T18:07:29Z"
}

Available Events

  • audit.started - Audit processing began
  • audit.completed - Audit finished successfully
  • audit.failed - Audit failed with error
  • payment.succeeded - Payment processed
  • subscription.updated - Plan changed
Webhook Security

All webhook requests are signed with HMAC-SHA256. Verify the signature using your webhook secret.

Support & Resources

Documentation
Complete API reference
View full documentation →
Community
Join our Discord
Join community →
Email Support
24-hour response time
support@auditapi.pro →
GitHub
Open source SDKs
View on GitHub →

Ready to Integrate?

Start with 10 free audits. No credit card required.