API Overview
Complete overview of the AIO Radar API architecture, endpoints, and capabilities.
Introduction
The AIO Radar API enables WordPress sites to sync content inventory, generate AI-optimized files (LLMs.txt), and track visibility in AI search results. This API is primarily used by the AIO Radar WordPress plugin, but can also be accessed directly for custom integrations.
Base URL
All API requests should be made to:
https://aioradar.vercel.app/apiFor local development:
http://localhost:3000/apiRequest Format
The API accepts JSON request bodies:
curl -X POST "https://aioradar.vercel.app/api/sites/validate" \
-H "Authorization: Bearer aio_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"api_key": "aio_sk_your_api_key"}'Response Format
All responses are returned as JSON with a consistent structure:
Success Response
{
"data": {
"site_id": "abc123",
"domain": "example.com",
"name": "Example Site"
}
}Error Response
Every error has a machine-readable code and a readable message:
{
"error": {
"code": "NOT_FOUND",
"message": "Site not found"
}
}API Endpoints
Authentication
| Endpoint | Method | Description |
|---|---|---|
/sites/validate | POST | Validate an API key and get site info |
Content Sync
| Endpoint | Method | Description |
|---|---|---|
/sites/sync | POST | Sync site inventory (pages, posts, images) |
Content Generation
| Endpoint | Method | Description |
|---|---|---|
/sites/{id}/llms-txt | GET | Get generated LLMs.txt content |
/sites/{id}/llms-full-txt | GET | Get LLMs-full.txt with full content |
/sites/{id}/summaries | GET | Get AI-generated page summaries |
/sites/{id}/schema | GET | Get JSON-LD schema templates |
Image Processing
| Endpoint | Method | Description |
|---|---|---|
/sites/{id}/images | POST | Submit images for AI alt text generation |
Page Content
| Endpoint | Method | Description |
|---|---|---|
/sites/{id}/pages/by-slug | GET | Get page content by URL slug |
/sites/{id}/pages/{pageId}/markdown | GET | Get page as Markdown by ID |
Site Management
| Endpoint | Method | Description |
|---|---|---|
/sites/{id}/screenshot | GET/POST | Get or capture site screenshot |
HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 403 | Forbidden - Valid key but no access to resource |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
Rate Limiting
The plugin endpoints allow 60 reads and 20 writes a minute per site and endpoint, on every plan. Generating llms.txt is also capped per day: once on Starter, 5 times on Basic and Pro. See [Rate Limits](/developers/rate-limits).
A 429 response includes these headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1609459200Cross-Origin Requests (CORS)
The API supports CORS for browser-based requests. The following headers are included:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-TypeNext Steps
- Authentication - Learn how to authenticate your requests
- Quick Start - Get started with your first API call
- Rate Limits - Understand rate limiting in detail