API

AI-Ready Check API

REST API for programmatically checking the AI visibility of websites

Base URL: https://tools.soerenmeier.de/api/aicheck
Format: JSON
Auth: Bearer Token
Version: 1.0

Authentication

All API requests require an API key in the Authorization header. Keys can be requested by email.

Request an API key: Write to [email protected] — access is free during beta.
Header
Authorization: Bearer ak_live_xxxxxxxxxxxxxxxx

Endpoints

POST /v1/check

Analyzes a website and returns an AI-Readiness score with detailed category results and optimization recommendations.

Request Body

ParameterTypeRequiredDescription
urlstringJaThe URL to check. With or without https://.
langstringNeinde or en — language of recommendations. Default: en

Example Request

cURL
curl -X POST https://tools.soerenmeier.de/api/aicheck/v1/check \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ak_live_xxxxxxxxxxxxxxxx" \ -d '{"url": "https://example.com", "lang": "de"}'
JavaScript
const res = await fetch('https://tools.soerenmeier.de/api/aicheck/v1/check', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ak_live_xxxxxxxxxxxxxxxx' }, body: JSON.stringify({ url: 'https://example.com', lang: 'en' }) }); const data = await res.json(); console.log(data.overallScore, data.scoreGrade);
Python
import requests r = requests.post( 'https://tools.soerenmeier.de/api/aicheck/v1/check', headers={'Authorization': 'Bearer ak_live_xxxxxxxxxxxxxxxx'}, json={'url': 'https://example.com', 'lang': 'de'} ) data = r.json() print(data['overallScore'], data['scoreGrade'])

Example Response (200 OK)

{ "url": "https://example.com", "timestamp": "2026-04-06T17:00:00.000Z", "overallScore": 78, "scoreGrade": "Needs Improvement", "categories": { "structuredData": { "score": 32, "maxScore": 40, "details": { ... } }, "accessibility": { "score": 21, "maxScore": 25, "details": { ... } }, "technical": { "score": 15, "maxScore": 20, "details": { ... } }, "contentQuality": { "score": 10, "maxScore": 15, "details": { ... } } }, "recommendations": [ { "category": "Technische Basis", "priority": "hoch", "issue": "Keine XML-Sitemap gefunden", "suggestion": "Erstelle eine sitemap.xml für bessere Indexierung", "codeExample": "..." } ], "summary": { "excellent": false, "good": true, "needsImprovement": false, "keyStrengths": ["Sehr gute strukturierte Daten"], "criticalIssues": 1 } }

Response Fields

urlstringThe checked URL
timestampstringISO 8601 Timestamp of the check
overallScorenumberTotal score 0–100
scoreGradestringRating: Excellent (≥90), Needs Improvement (≥50), Poor (<50)
categoriesobjectDetailed results for structuredData (40 Pkt), accessibility (25 Pkt), technical (20 Pkt), contentQuality (15 Pkt)
recommendationsarraySorted optimization recommendations with category, priority, issue, suggestion, codeExample
summaryobjectShort evaluation with keyStrengths und criticalIssues

Live Test

Rate Limits & Access

The API is currently in beta. Access via email request, free of charge. The following limits apply per API key:

100
Requests per month (Free)
401
HTTP status without API key
15s
Timeout per request

The API may be used in your own tools, dashboards and integrations. Attribution to ai-ready-check.de as the data source is appreciated.