AI1stSEO API Documentation

Integrate AI-first AEO, GEO, and SEO analysis into your applications. All endpoints return JSON. Base URL: https://api.ai1stseo.com

Overview

The AI1stSEO API provides programmatic access to our 236-point SEO audit engine, GEO visibility scanner, AEO optimizer, and content brief generator. Use it to automate audits, build integrations, or power your own dashboards.

Auth API: https://api.ai1stseo.com App Runner: https://sgnmqxb2sw.us-east-1.awsapprunner.com

Authentication

Most endpoints require a Bearer token obtained from Cognito login. Include it in the Authorization header.

Authorization: Bearer eyJraWQiOiJ...

Public endpoints (analyze, collect-email, subscribe) do not require authentication.

Rate Limits

API requests are rate-limited per API key. Default limits:

TierRequests/minDaily Limit
Free10100
Pro605,000
Enterprise30050,000

POST Analyze URL

POST /api/analyze

Run a full 236-point SEO audit on any URL. Returns scores across 10 categories: technical, on-page, content, mobile, performance, security, social, local, GEO, and citation gap.

ParameterTypeRequiredDescription
urlstringRequiredFull URL to analyze (include https://)
categoriesstringOptionalComma-separated category list. Default: all 10
{ "url": "https://example.com", "overall_score": 72, "categories": { "technical": { "score": 85, "passed": 17, "total": 20 }, "onpage": { "score": 68, "passed": 19, "total": 28 } }, "checks": [ ... ] }

⚡ Try It

GET Audit Results

GET /api/admin/audit-history?url={url}&limit=50 🔒 Auth Required

Retrieve historical audit results with optional filters.

ParameterTypeRequiredDescription
urlstringOptionalFilter by URL (partial match)
min_scoreintegerOptionalMinimum score filter (0-100)
max_scoreintegerOptionalMaximum score filter (0-100)
limitintegerOptionalMax results (default 50)

POST Content Brief

POST /api/content-brief 🔒 Auth Required

Generate an AI-powered content brief with SERP analysis, keyword clustering, heading structure, and AI citation signals.

ParameterTypeRequiredDescription
urlstringRequiredTarget URL for brief generation
keywordstringOptionalPrimary keyword to target
content_typestringOptionalblog_post, landing_page, product_page, faq

POST GEO Probe

POST /api/geo-probe/scan 🔒 Auth Required

Scan how AI models (ChatGPT, Gemini, Claude, Perplexity) reference your brand. Returns citation frequency and visibility scores.

ParameterTypeRequiredDescription
brandstringRequiredBrand name to scan
urlstringOptionalBrand website URL
queriesarrayOptionalCustom queries to test

GET AI Visibility

GET /api/ai/visibility?brand={brand} 🔒 Auth Required

Get AI visibility scores across ChatGPT, Gemini, Claude, Perplexity, and Copilot.

POST Collect Email

POST /api/collect-email

Collect email from PDF download gate. No auth required.

ParameterTypeRequiredDescription
emailstringRequiredUser email address
urlstringOptionalAudited URL
scoreintegerOptionalAudit score

POST Subscribe

POST /api/growth/subscribe

Subscribe to the AI visibility newsletter. No auth required.

ParameterTypeRequiredDescription
emailstringRequiredSubscriber email
sourcestringOptionalSignup source (e.g. website_main)

GET Admin Overview

GET /api/admin/overview 🔒 Auth Required

Dashboard overview with user counts, scan totals, error counts, and monitoring stats.

GET Users

GET /api/admin/users?limit=25&offset=0 🔒 Auth Required

List registered users with scan counts, roles, and last login timestamps.

GET System Status

GET /api/admin/system-status 🔒 Auth Required

Real-time health check of DynamoDB, Cognito, SES, and S3 with latency in milliseconds.

{ "overall": "healthy", "services": { "dynamodb": { "status": "healthy", "latency_ms": 8 }, "cognito": { "status": "healthy", "latency_ms": 45 }, "ses": { "status": "healthy", "latency_ms": 12 }, "s3": { "status": "healthy", "latency_ms": 6 } } }

GET Audit History

GET /api/admin/audit-history?url={url}&min_score=50&limit=50 🔒 Auth Required

Browse all SEO audits with URL and score range filters. Returns scored audits sorted newest first.