{
  "schemaVersion": 1,
  "id": "provider-error-rates/2026-06",
  "series": "provider-error-rates",
  "title": "Provider error rates, June 2026",
  "topic": "reliability",
  "question": "How often do LLM providers return errors, and what kind?",
  "questions": [
    "Which LLM provider has the fewest errors?",
    "How often do LLM APIs return 5xx errors?",
    "How often do LLM providers rate limit requests (429)?",
    "Are LLM API errors caused by the provider or the client?"
  ],
  "description": "Monthly error rates per provider, split by origin: provider 5xx, provider 429 rate limits, other provider 4xx, and rejections raised before the request reached the provider.",
  "period": "2026-06",
  "period_start": "2026-06-01",
  "period_end": "2026-06-30",
  "updated": "2026-11-11",
  "is_latest": false,
  "headline": "At the median major provider in June 2026, 0.09% of requests failed with a provider 5xx and 0.12% were rate limited with a 429.",
  "key_findings": [
    "xAI had the lowest provider error rate among major providers at 0.14%.",
    "4 of 12 major providers rate limited more than 1% of requests with a 429.",
    "The median major provider rejected 1.95% of requests before the provider call. Those errors come from the request, not the provider.",
    "Novita changed the most since May 2026: provider errors went up by 10.2 pp."
  ],
  "columns": [
    {
      "key": "provider",
      "label": "Provider",
      "unit": "text"
    },
    {
      "key": "provider_error_rate",
      "label": "Provider errors",
      "unit": "fraction",
      "description": "Provider 5xx plus provider 429 plus other provider 4xx (401 to 499, excluding 429), as a share of requests."
    },
    {
      "key": "provider_5xx_rate",
      "label": "Provider 5xx",
      "unit": "fraction"
    },
    {
      "key": "provider_429_rate",
      "label": "Provider 429",
      "unit": "fraction"
    },
    {
      "key": "provider_other_4xx_rate",
      "label": "Other provider 4xx",
      "unit": "fraction"
    },
    {
      "key": "router_error_rate",
      "label": "Rejected before provider",
      "unit": "fraction",
      "description": "Errors raised by the gateway before or instead of the provider call: invalid requests, insufficient credit, policy blocks."
    },
    {
      "key": "request_share",
      "label": "Traffic share",
      "unit": "fraction"
    },
    {
      "key": "sample_band",
      "label": "Organizations (band)",
      "unit": "text",
      "description": "Number of distinct organizations behind the row, in bands."
    }
  ],
  "rows": [
    {
      "provider": "xai",
      "provider_error_rate": 0.0014,
      "provider_5xx_rate": 0.0002,
      "provider_429_rate": 0.0003,
      "provider_other_4xx_rate": 0.0009,
      "router_error_rate": 0.0018,
      "request_share": 0.0109,
      "sample_band": "100-499",
      "provider_label": "xAI"
    },
    {
      "provider": "fireworks",
      "provider_error_rate": 0.0018,
      "provider_5xx_rate": 0.0006,
      "provider_429_rate": 0.0008,
      "provider_other_4xx_rate": 0.0004,
      "router_error_rate": 0.0087,
      "request_share": 0.0073,
      "sample_band": "100-499",
      "provider_label": "Fireworks"
    },
    {
      "provider": "azure",
      "provider_error_rate": 0.0018000000000000002,
      "provider_5xx_rate": 0.0002,
      "provider_429_rate": 0.0016,
      "provider_other_4xx_rate": 0,
      "router_error_rate": 0.0891,
      "request_share": 0.0539,
      "sample_band": "100-499",
      "provider_label": "Azure"
    },
    {
      "provider": "mistral",
      "provider_error_rate": 0.0019,
      "provider_5xx_rate": 0.001,
      "provider_429_rate": 0.0004,
      "provider_other_4xx_rate": 0.0005,
      "router_error_rate": 0.1442,
      "request_share": 0.0086,
      "sample_band": "100-499",
      "provider_label": "Mistral"
    },
    {
      "provider": "bedrock",
      "provider_error_rate": 0.0037,
      "provider_5xx_rate": 0.0031,
      "provider_429_rate": 0.0002,
      "provider_other_4xx_rate": 0.0004,
      "router_error_rate": 0.0676,
      "request_share": 0.0382,
      "sample_band": "500+",
      "provider_label": "Bedrock"
    },
    {
      "provider": "anthropic",
      "provider_error_rate": 0.0040999999999999995,
      "provider_5xx_rate": 0.0039,
      "provider_429_rate": 0,
      "provider_other_4xx_rate": 0.0002,
      "router_error_rate": 0.0123,
      "request_share": 0.244,
      "sample_band": "500+",
      "provider_label": "Anthropic"
    },
    {
      "provider": "openai",
      "provider_error_rate": 0.0075,
      "provider_5xx_rate": 0.0075,
      "provider_429_rate": 0,
      "provider_other_4xx_rate": 0,
      "router_error_rate": 0.0237,
      "request_share": 0.307,
      "sample_band": "500+",
      "provider_label": "OpenAI"
    },
    {
      "provider": "deepinfra",
      "provider_error_rate": 0.009099999999999999,
      "provider_5xx_rate": 0.0022,
      "provider_429_rate": 0.0068,
      "provider_other_4xx_rate": 0.0001,
      "router_error_rate": 0.0227,
      "request_share": 0.0173,
      "sample_band": "100-499",
      "provider_label": "DeepInfra"
    },
    {
      "provider": "deepseek",
      "provider_error_rate": 0.0183,
      "provider_5xx_rate": 0.0004,
      "provider_429_rate": 0.0179,
      "provider_other_4xx_rate": 0,
      "router_error_rate": 0.0034,
      "request_share": 0.08,
      "sample_band": "100-499",
      "provider_label": "DeepSeek"
    },
    {
      "provider": "vertex_gemini",
      "provider_error_rate": 0.0246,
      "provider_5xx_rate": 0.0007,
      "provider_429_rate": 0.0238,
      "provider_other_4xx_rate": 0.0001,
      "router_error_rate": 0.003,
      "request_share": 0.1784,
      "sample_band": "500+",
      "provider_label": "Vertex (Gemini)"
    },
    {
      "provider": "vertex_claude",
      "provider_error_rate": 0.0543,
      "provider_5xx_rate": 0.0005,
      "provider_429_rate": 0.0538,
      "provider_other_4xx_rate": 0,
      "router_error_rate": 0.0236,
      "request_share": 0.0283,
      "sample_band": "100-499",
      "provider_label": "Vertex (Claude)"
    },
    {
      "provider": "novita",
      "provider_error_rate": 0.10940000000000001,
      "provider_5xx_rate": 0.0702,
      "provider_429_rate": 0.0391,
      "provider_other_4xx_rate": 0.0001,
      "router_error_rate": 0.0162,
      "request_share": 0.0096,
      "sample_band": "100-499",
      "provider_label": "Novita"
    }
  ],
  "totals": {
    "withheld_request_share": 0.0195
  },
  "floors": {
    "min_requests": 20,
    "min_orgs": 5,
    "max_top_org_share": 0.8
  },
  "methodology": [
    "Errors are split by where they came from. Provider 5xx and 429 are status codes the provider returned. Other provider 4xx covers 401 to 499 excluding 429 (key, credit, model or size errors at the provider). Status 400 from the provider is treated as a malformed request and left out.",
    "Rejected before provider counts errors the gateway raised itself, such as invalid requests or blocked policies. They are shown separately because they say nothing about the provider.",
    "Only providers with at least 0.5% of published traffic in the month are charted. Vertex is split into Vertex (Gemini) and Vertex (Claude).",
    "A row is published only when it has at least 20 requests, at least 5 distinct organizations, and no single organization above 80% of its traffic. These are the same floors /rankings uses. Rows below the floors are withheld, not estimated.",
    "Only shares, rates, medians and organization bands are published. Absolute request, token and spend totals stay private."
  ],
  "definitions": [
    {
      "term": "Provider error rate",
      "text": "Provider 5xx + provider 429 + other provider 4xx, divided by all requests to the provider."
    },
    {
      "term": "Major provider",
      "text": "At least 0.5% of published gateway traffic in the month."
    }
  ],
  "caveats": [
    "Error rates are per attempt. When the gateway falls back to another provider, the failed attempt still counts here even if the user got a response.",
    "429 rates depend on the rate limits of the keys in use, so they partly reflect how much capacity each provider grants, not only provider health.",
    "A provider's rate moves with its traffic mix. A new model launch or one large workload can shift a month."
  ],
  "source": "Requesty production gateway",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/"
  },
  "citation": {
    "apa": "Requesty (2026). Provider error rates, June 2026. Requesty Data. https://www.requesty.ai/data/provider-error-rates/2026-06",
    "bibtex": "@misc{requesty_provider_error_rates_2026_06,\n  author       = {{Requesty}},\n  title        = {Provider error rates, June 2026},\n  year         = {2026},\n  howpublished = {\\url{https://www.requesty.ai/data/provider-error-rates/2026-06}},\n  note         = {Requesty Data}\n}"
  },
  "permalink": "https://www.requesty.ai/data/provider-error-rates/2026-06",
  "latest_url": "https://www.requesty.ai/data/provider-error-rates",
  "previous": "https://www.requesty.ai/data/provider-error-rates/2026-05",
  "next": "https://www.requesty.ai/data/provider-error-rates/2026-07",
  "periods": [
    {
      "period": "2026-05",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-05",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-05/data.json"
    },
    {
      "period": "2026-06",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-06",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-06/data.json"
    },
    {
      "period": "2026-07",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-07",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-07/data.json"
    },
    {
      "period": "2026-08",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-08",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-08/data.json"
    },
    {
      "period": "2026-09",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-09",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-09/data.json"
    },
    {
      "period": "2026-10",
      "url": "https://www.requesty.ai/data/provider-error-rates/2026-10",
      "json": "https://www.requesty.ai/data/provider-error-rates/2026-10/data.json"
    }
  ],
  "downloads": {
    "json": "https://www.requesty.ai/data/provider-error-rates/2026-06/data.json",
    "csv": "https://www.requesty.ai/data/provider-error-rates/2026-06/data.csv",
    "markdown": "https://www.requesty.ai/data/provider-error-rates/2026-06/data.md"
  },
  "related": [
    "https://www.requesty.ai/data/provider-latency",
    "https://www.requesty.ai/data/provider-cache-hit-rate"
  ],
  "rankings": "https://www.requesty.ai/rankings"
}