{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "@id": "https://requesty.ai/data/status-code-distribution-april-2026",
  "id": "status-codes-april-2026",
  "slug": "status-code-distribution-april-2026",
  "title": "Provider error code distribution, April 2026",
  "shortTitle": "Provider errors",
  "topic": "reliability",
  "abstract": "Why do LLM provider requests fail? Among April 2026 requests on the Requesty gateway where the upstream provider returned a non-success response, 65.8% were 429 (rate limit), 19.4% were 400 (bad request: schema mismatches, oversized payloads), and 9.4% were 403 (forbidden). 5xx availability incidents (503, 502, 529, 500, 504, 520) summed to ~4.8%. Router- and gateway-level rejections are filtered out so the chart shows only what providers themselves emit when they fail.",
  "whyItMatters": "Provider failures are dominated by rate-limiting under agentic load, not by genuine availability incidents. That changes the right mitigation: backoff plus a managed fallback chain absorbs the ~85% of failures that are 429 + 400 without provider changes; only the ~5% 5xx tail is irreducible. Designing retries on the assumption that \"providers go down\" misallocates engineering effort.",
  "questions": [
    "Why do LLM API requests fail?",
    "What is the most common LLM provider error code?",
    "How often do AI providers rate-limit requests?",
    "What HTTP errors return from OpenAI and Anthropic?"
  ],
  "period": "Apr 2026",
  "updated": "2026-05-09",
  "license": "CC BY 4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "caveats": [
    "Restricted to status_code_origin = 'provider' AND successful = false, so router- and gateway-level rejections are excluded by design.",
    "A failed request can have multiple retries with different status codes; each retry is counted separately."
  ],
  "keyFindings": [
    "429 (rate limit) is the dominant provider failure mode at 65.8%. Providers throttle agentic workloads aggressively.",
    "400 (bad request) is second at 19.4%. Schema mismatches, unsupported parameters, oversized payloads.",
    "403 (forbidden) at 9.4%. Provider-side authorization, region, or model-access denials.",
    "5xx total (503, 502, 529, 500, 504, 520) sums to ~4.8%. Real provider availability incidents are uncommon but not zero.",
    "Codes that disappear under this filter (404 collapses from 29.8% to 0.2%, 402 from 17.8% to 0.07%) confirm those rejections are router-level model-not-found and billing checks, not provider failures."
  ],
  "columns": [
    {
      "key": "code",
      "label": "Status code",
      "unit": "count"
    },
    {
      "key": "description",
      "label": "Description",
      "unit": "count"
    },
    {
      "key": "bucket",
      "label": "Bucket",
      "unit": "count"
    },
    {
      "key": "pct",
      "label": "% of rejections",
      "unit": "percent"
    }
  ],
  "rows": [
    {
      "code": 429,
      "description": "Too Many Requests",
      "bucket": "auth_quota",
      "pct": 0.6583
    },
    {
      "code": 400,
      "description": "Bad Request",
      "bucket": "client_error",
      "pct": 0.194
    },
    {
      "code": 403,
      "description": "Forbidden",
      "bucket": "auth_quota",
      "pct": 0.0941
    },
    {
      "code": 503,
      "description": "Service Unavailable",
      "bucket": "server_error",
      "pct": 0.0219
    },
    {
      "code": 502,
      "description": "Bad Gateway",
      "bucket": "gateway",
      "pct": 0.0181
    },
    {
      "code": 529,
      "description": "Site Overloaded",
      "bucket": "server_error",
      "pct": 0.0052
    },
    {
      "code": 422,
      "description": "Unprocessable",
      "bucket": "client_error",
      "pct": 0.0024
    },
    {
      "code": 500,
      "description": "Internal Server",
      "bucket": "server_error",
      "pct": 0.0021
    },
    {
      "code": 404,
      "description": "Not Found",
      "bucket": "not_found",
      "pct": 0.0021
    },
    {
      "code": 402,
      "description": "Payment Required",
      "bucket": "auth_quota",
      "pct": 0.0007
    },
    {
      "code": 504,
      "description": "Gateway Timeout",
      "bucket": "gateway",
      "pct": 0.0006
    },
    {
      "code": 401,
      "description": "Unauthorized",
      "bucket": "auth_quota",
      "pct": 0.0002
    },
    {
      "code": 520,
      "description": "Cloudflare Unknown",
      "bucket": "server_error",
      "pct": 0.0002
    },
    {
      "code": 499,
      "description": "Client Closed",
      "bucket": "client_error",
      "pct": 0.0001
    }
  ],
  "rowKey": "code",
  "citation": {
    "apa": "Requesty (2026). Provider error code distribution, April 2026. Requesty Data. https://requesty.ai/data/status-code-distribution-april-2026",
    "bibtex": "@misc{requesty_status_code_distribution_april_2026,\n  author       = {{Requesty}},\n  title        = {Provider error code distribution, April 2026},\n  year         = {2026},\n  howpublished = {\\url{https://requesty.ai/data/status-code-distribution-april-2026}},\n  note         = {Requesty Data}\n}"
  },
  "permalink": "https://requesty.ai/data/status-code-distribution-april-2026",
  "downloads": {
    "json": "https://requesty.ai/data/status-code-distribution-april-2026/data.json",
    "csv": "https://requesty.ai/data/status-code-distribution-april-2026/data.csv",
    "markdown": "https://requesty.ai/data/status-code-distribution-april-2026.md"
  },
  "citedIn": [],
  "image": "https://requesty.ai/data/status-code-distribution-april-2026/opengraph-image",
  "source": {
    "organization": "Requesty",
    "url": "https://requesty.ai"
  }
}