RESTful JSON API for automated SEO analysis. Integrate 30+ technical SEO checks into your applications.
All API requests require an API key passed in the Authorization header.
Authorization: Bearer YOUR_API_KEY
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.
Submit a website for SEO analysis. Returns audit ID and initial results.
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
}'
| 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) |
{
"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"]
}
}
{
"success": false,
"error": "Invalid website URL",
"code": "VALIDATION_ERROR"
}
Retrieve detailed results for a specific audit.
curl -X GET "https://auditapi.pro/api-simple.php?id=audit_1234567890_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"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"
]
}
}
// 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}`);
# 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']}")
// 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";
// 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)
}
| 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 |
All responses include rate limit headers:
X-RateLimit-Limit, X-RateLimit-Remaining,
X-RateLimit-Reset
Receive real-time notifications when audits are completed.
{
"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"
}
audit.started - Audit processing beganaudit.completed - Audit finished successfullyaudit.failed - Audit failed with errorpayment.succeeded - Payment processedsubscription.updated - Plan changedAll webhook requests are signed with HMAC-SHA256. Verify the signature using your webhook secret.
Start with 10 free audits. No credit card required.