ALPAR Public API
Read-only, no-auth access to ALPAR's public record of AI incidents. Built for journalists, researchers, and academics.
No auth required
Read endpoints are public. Citation-friendly.
Edge cached
60s browser, 5min CDN. Stale-while-revalidate.
OpenAPI 3.0 spec
Generate clients in any language.
Endpoints
All responses are JSON. Errors follow the standard error format.
Returns a paginated list of published AI incidents. Optional query parameters: limit (1-100, default 20), category, severity, provider (free-text model name).
curl https://alparai.com/api/v1/incidents?limit=5&severity=critical
# Response
{
"data": [
{
"id": "0a2c6a31-...",
"title": "Teen Suicide Linked to AI Chatbot (Character.AI)",
"description": "...",
"severity": "critical",
"category": "manipulation",
"is_anonymous": true,
"incident_date": "2024-02-28T00:00:00Z",
"views": 1234,
"upvotes": 56,
"model": "Character.AI",
"created_at": "2026-06-09T..."
}
],
"meta": { "count": 1, "limit": 5, "generated_at": "..." }
}Returns a single published incident by UUID. 404 if not found or not yet published.
curl https://alparai.com/api/v1/incidents/0a2c6a31-e4d7-45d5-9b94-7ab0e6eeb041
# Response
{
"data": {
"id": "0a2c6a31-...",
"title": "...",
...
}
}Returns a list of tracked AI providers, their slugs, verified status, and current Trust Score.
curl https://alparai.com/api/v1/providers
# Response
{
"data": [
{
"id": "9a12cf42-...",
"name": "OpenAI",
"slug": "openai",
"website_url": "https://openai.com",
"logo_url": "...",
"is_verified": true,
"trust_score": 88
}
],
"meta": { "count": 1, "generated_at": "..." }
}Returns aggregate platform statistics including total incident count, provider count, category breakdown, and average ecosystem trust score.
curl https://alparai.com/api/v1/stats
# Response
{
"data": {
"total_incidents": 142,
"total_providers": 8,
"average_trust_score": 76.4,
"by_category": {
"hallucination": 64,
"privacy": 32,
"bias": 46
}
},
"meta": { "generated_at": "..." }
}OpenAPI 3.0 specification
Download the full OpenAPI spec to generate typed clients in your language of choice.
Rate limits
100 requests per minute per IP. Burst allowed. Returns 429 with retryAfter when exceeded.