Overview

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:

text
https://aioradar.vercel.app/api

For local development:

text
http://localhost:3000/api

Request Format

The API accepts JSON request bodies:

Bash
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

JSON
{
  "data": {
    "site_id": "abc123",
    "domain": "example.com",
    "name": "Example Site"
  }
}

Error Response

Every error has a machine-readable code and a readable message:

JSON
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Site not found"
  }
}

API Endpoints

Authentication

EndpointMethodDescription
/sites/validatePOSTValidate an API key and get site info

Content Sync

EndpointMethodDescription
/sites/syncPOSTSync site inventory (pages, posts, images)

Content Generation

EndpointMethodDescription
/sites/{id}/llms-txtGETGet generated LLMs.txt content
/sites/{id}/llms-full-txtGETGet LLMs-full.txt with full content
/sites/{id}/summariesGETGet AI-generated page summaries
/sites/{id}/schemaGETGet JSON-LD schema templates

Image Processing

EndpointMethodDescription
/sites/{id}/imagesPOSTSubmit images for AI alt text generation

Page Content

EndpointMethodDescription
/sites/{id}/pages/by-slugGETGet page content by URL slug
/sites/{id}/pages/{pageId}/markdownGETGet page as Markdown by ID

Site Management

EndpointMethodDescription
/sites/{id}/screenshotGET/POSTGet or capture site screenshot

HTTP Status Codes

CodeMeaning
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Valid key but no access to resource
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal 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:

text
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1609459200

Cross-Origin Requests (CORS)

The API supports CORS for browser-based requests. The following headers are included:

text
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Authorization, Content-Type

Next Steps

  • Authentication - Learn how to authenticate your requests
  • Quick Start - Get started with your first API call
  • Rate Limits - Understand rate limiting in detail