Integrate AIO Ready's website audit capabilities into your applications with our RESTful API.
The AIO Ready API allows you to programmatically audit websites for AI optimization readiness. Our API provides comprehensive analysis across multiple dimensions including content structure, accessibility, performance, and security.
Currently, the API is open and doesn't require authentication. However, we implement rate limiting to ensure fair usage.
API requests are limited to 10 requests per 15 minutes per IP address. This helps maintain service quality for all users.
https://aio.samisen.ai
All API responses are returned in JSON format with the following structure:
{
"success": boolean,
"audit": {
"url": "string",
"domain": "string",
"timestamp": "ISO 8601 date",
"overallScore": number,
"sections": {
"contentStructure": { ... },
"aiAccessibility": { ... },
"dataQuality": { ... },
"performance": { ... },
"structuredData": { ... },
"socialMedia": { ... },
"accessibility": { ... },
"security": { ... }
}
},
"recommendations": [
{
"priority": "high|medium|low",
"title": "string",
"description": "string",
"impact": "string"
}
]
}
Perform a comprehensive AI readiness audit of a website.
{
"url": "https://example.com"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | The URL of the website to audit (must include http:// or https://) |
{
"success": true,
"audit": {
"url": "https://example.com",
"domain": "example.com",
"timestamp": "2024-01-15T10:30:00.000Z",
"overallScore": 85,
"sections": {
"contentStructure": {
"title": "Content Structure & Markup",
"score": 90,
"checks": [
{
"name": "Semantic HTML Usage",
"status": "pass",
"description": "Found 5 semantic elements: header, nav, main, article, footer"
}
]
}
}
},
"recommendations": [
{
"priority": "medium",
"title": "Add Descriptive Alt Text to Images",
"description": "Provide meaningful alt text for all images.",
"impact": "Medium - Enhances content comprehension for AI"
}
]
}
Check the status and health of the API service.
{
"status": "healthy",
"timestamp": "2024-01-15T10:30:00.000Z",
"version": "1.0.0",
"uptime": 3600.5,
"environment": "production"
}
const axios = require('axios');
async function auditWebsite(url) {
try {
const response = await axios.post('http://localhost:3000/api/audit', {
url: url
});
console.log('Audit Score:', response.data.audit.overallScore);
console.log('Recommendations:', response.data.recommendations);
return response.data;
} catch (error) {
console.error('Audit failed:', error.response?.data || error.message);
}
}
// Example usage
auditWebsite('https://example.com');
import requests
import json
def audit_website(url):
try:
response = requests.post('http://localhost:3000/api/audit',
json={'url': url})
response.raise_for_status()
data = response.json()
print(f"Audit Score: {data['audit']['overallScore']}")
print(f"Recommendations: {len(data['recommendations'])} found")
return data
except requests.exceptions.RequestException as e:
print(f"Audit failed: {e}")
return None
# Example usage
audit_website('https://example.com')
curl -X POST http://localhost:3000/api/audit \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
$url = 'https://example.com';
$data = json_encode(['url' => $url]);
$ch = curl_init('http://localhost:3000/api/audit');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo "Audit Score: " . $result['audit']['overallScore'] . "\n";
The API uses standard HTTP status codes to indicate the success or failure of requests.
| Status Code | Description | Example Response |
|---|---|---|
| 200 | Success - Audit completed successfully | Audit results with scores and recommendations |
| 400 | Bad Request - Invalid URL or missing parameters | Error message explaining the issue |
| 429 | Too Many Requests - Rate limit exceeded | Retry after information |
| 500 | Internal Server Error - Server-side issue | Generic error message |
{
"error": "Error type",
"message": "Detailed error description",
"suggestion": "Optional suggestion for resolution"
}
{
"error": "Invalid URL provided",
"message": "Please provide a valid URL starting with http:// or https://"
}
{
"error": "Rate limit exceeded. Please try again later.",
"retryAfter": 900
}
{
"success": true,
"audit": {
"overallScore": "N/A",
"limited": true,
"sections": { ... }
},
"warning": "Limited analysis due to access restrictions",
"error": "Access denied (403): The website is blocking automated requests"
}