About Portfolio Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
June 24, 2026 · 3 min read

Claude and OpenAI Down Again: How to Build Resilient LLM Products Amid Major API Outages

I’m Denis Shokhirev, an Enterprise AI architect based in Erlangen, Germany. At DennisCraft AI Studio, I’ve shipped 14 production AI agents for DACH B2B clients over the past six months (logistics, fintech, industrial automation) using a stack of Claude, Supabase, n8n, Doppler, and self-hosted Postgres. Last week, both OpenAI and Anthropic APIs were down for two hours. That meant real downtime, missed SLAs, and angry clients. This is now a recurring production risk, not a hypothetical edge case.

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

I’m Denis Shokhirev, an Enterprise AI architect based in Erlangen, Germany. At DennisCraft AI Studio, I’ve shipped 14 production AI agents for DACH B2B clients over the past six months (logistics, fintech, industrial automation) using a stack of Claude, Supabase, n8n, Doppler, and self-hosted Postgres. Last week, both OpenAI and Anthropic APIs were down for two hours. That meant real downtime, missed SLAs, and angry clients. This is now a recurring production risk, not a hypothetical edge case.

Why Major LLM Outages Are the New Normal

If you’re building AI products for the DACH B2B market with strict SLAs, API outages can’t be ignored. In the last six months, I’ve recorded four major production outages (lasting 20–90 minutes each) — affecting both OpenAI and Anthropic at the same time (see status.openai.com and status.anthropic.com). Root causes: traffic spikes, provider-side infra upgrades, DDoS, and backend failures. This isn’t rare: OpenAI’s own status page shows at least 5 significant incidents already in 2024 alone.

Typical Failure Modes

  • OpenAI API (gpt-4o/gpt-4-turbo) returns 5XX or long timeouts for 20+ minutes
  • Claude API (claude-3-opus, sonnet) delivers degraded performance or silent failures
  • Sudden mass rate limiting, even on normal traffic

When this hits, client operations grind to a halt: auto-generated reports fail, invoices aren’t created, automations break. In fintech and logistics, that’s direct financial impact tied to SLA compliance.

Architectural Patterns for Resilient LLM Products

1. Multi-vendor fallback (provider hot-switching)

The classic pattern: if your primary LLM API fails, instantly switch to a backup. But real-world application isn’t trivial:

  • Input/output formats differ — Claude vs OpenAI have divergent system prompt conventions, tokenization, and limits
  • Feature parity isn’t guaranteed — e.g., function calling support
  • Both APIs can (and do) fail together

In my deployments, fallback logic is orchestrated with n8n and custom Node.js scripts:


const callClaude = async (input) => {
  // Anthropic SDK usage here
};
const callOpenAI = async (input) => {
  // OpenAI SDK usage here
};

let result;
try {
  result = await callClaude(payload);
} catch (e) {
  // Log error, try OpenAI as backup
  result = await callOpenAI(payload);
}
return result;

2. Queues and Retrying with a Broker

Instead of synchronous API calls, queue tasks via Supabase, RabbitMQ, or Postgres LISTEN/NOTIFY. This lets you:

  • Buffer tasks during outages
  • Retry with exponential backoff (e.g., 1, 5, 15 minutes)
  • Recover state — if a job fails, it’s not lost

import time
import supabase

def process_task(task):
    try:
        # Call LLM API
        pass
    except Exception as e:
        # Requeue with delay
        time.sleep(300)
        process_task(task)

3. Result Caching

In my stack, about 40% of LLM requests are repeat prompts. By caching results in Postgres (hash input → output, TTL=7d), I cut API load and reduce impact during outages. Especially effective for template-based email/report/FAQ generation.


CREATE TABLE llm_cache (
  prompt_hash VARCHAR PRIMARY KEY,
  result TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

SELECT result FROM llm_cache WHERE prompt_hash = $1 AND created_at > NOW() - INTERVAL '7 days';

4. Graceful Degradation — Fallback to Templates or Rule-Based Logic

Not every user feature is mission-critical. If LLMs are down, auto-switch to static responses (“Service temporarily unavailable, please try again”) or limited rule-based flows. This keeps your service partially operational, which is better than total failure.

Validation and Monitoring — What Actually Works

API Status Monitoring

Don’t rely on manual checks. I integrate provider status endpoints (OpenAI, Anthropic’s equivalent) directly into n8n for automated Slack/Telegram alerts.


const fetch = require('node-fetch');
const url = "https://status.openai.com/api/v2/status.json";

async function checkStatus() {
  const res = await fetch(url);
  const data = await res.json();
  if (data.status.indicator !== 'none') {
    // send alert
  }
}

Error Log Analysis

Log every error and timeout with full context: endpoint, payload, timestamp. Use semgrep and bandit for post-mortem analysis. On three of my recent agent deployments, I caught the same serialization bug causing mass 5XX errors during provider outages.

Set Realistic SLAs and Communicate

Be transparent with clients: “LLM components may be unavailable 0.5–2% of the time per month.” Don’t promise 100% uptime — you’ll get hit with penalties for outages outside your control.

PatternUpsideDownside
Multi-vendor fallbackInstant failoverRequires duplicated logic, feature mismatches
Queue + retryMinimizes lost requestsAdds latency, needs extra infra
CachingReduces API load, speeds up responseLimited to repeatable prompts
Graceful degradationPartial service continuityLimited functionality

FAQ

What if both OpenAI and Claude are down at once?

Implement graceful degradation: switch to static templates, rule-based flows, or user notifications. For critical flows, temporarily disable automation and escalate to ops teams.

Are self-hosted LLMs (Llama, Mistral) a real alternative for resilience?

Partially. For narrow tasks, yes. For code or document generation, self-hosted LLMs still lag in quality (see Stanford HELM 2024: https://crfm.stanford.edu/helm/latest/).

How do you monitor API status efficiently?

Use official provider endpoints, integrate with n8n or your alerting stack. Automated checks are essential — manual monitoring fails at scale.

Which queue system to use for retries?

For small/mid projects: Supabase or Postgres. For high-load: RabbitMQ or Redis Streams. Key: the queue should operate independently of the LLM API.

How do you communicate API outage risk to clients?

Openly: large-scale outages aren’t a bug in your stack, but a fact of cloud LLM operations. Set SLA commitments at 98–99%, not higher.

In your production LLM stack, where do you see the most failures — API, queue, cache, or business logic? I want to hear real cases. I offer a free 30-min stack audit for DACH founders building AI for regulated markets. DM me on LinkedIn or write to @ger_dennis_ai.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles