Fetching latest headlines…
How to detect when GitHub, AWS, or Discord is down — using a free JSON API
NORTH AMERICA
🇺🇸 United StatesMay 11, 2026

How to detect when GitHub, AWS, or Discord is down — using a free JSON API

0 views0 likes0 comments
Originally published byDev.to

When your app breaks, the first question is always: is it us, or is it them?

If you depend on GitHub, AWS, Discord, Stripe, Cloudflare, or any major third-party service, you've probably wasted hours debugging your own code only to find out the service was down the whole time.

There's a free API for this. Let me show you how to use it.

Meet DownStatus

DownStatus is a free, public JSON API that gives you real-time status for 90+ popular services — no API key required.

curl https://isitdownstatus.com/api/status/github

Response:

{
  "service": "github",
  "status": "operational",
  "updated_at": "2026-05-11T08:00:00Z"
}

That's it. No signup, no tokens, no rate limit headers to parse.

Practical use cases

1. Show a banner when a dependency is down

async function checkGitHubStatus() {
  const res = await fetch('https://isitdownstatus.com/api/status/github');
  const data = await res.json();

  if (data.status !== 'operational') {
    showBanner(`GitHub is currently ${data.status}. Some features may be unavailable.`);
  }
}

2. Skip CI/CD steps when upstream is down

#!/bin/bash
STATUS=$(curl -s https://isitdownstatus.com/api/status/github | jq -r '.status')

if [ "$STATUS" != "operational" ]; then
  echo "GitHub is $STATUS — skipping deployment"
  exit 0
fi

# continue with deployment...

3. Alert your team proactively (Node.js + Slack)

const SERVICES = ['aws', 'github', 'stripe', 'cloudflare'];

async function checkAll() {
  for (const service of SERVICES) {
    const res = await fetch(`https://isitdownstatus.com/api/status/${service}`);
    const { status } = await res.json();

    if (status !== 'operational') {
      await notifySlack(`⚠️ ${service} is ${status}`);
    }
  }
}

// Run every 5 minutes
setInterval(checkAll, 5 * 60 * 1000);

4. Python health check script

import requests

SERVICES = ['aws', 'discord', 'github', 'stripe']

def check_dependencies():
    issues = []
    for service in SERVICES:
        r = requests.get(f'https://isitdownstatus.com/api/status/{service}')
        data = r.json()
        if data['status'] != 'operational':
            issues.append(f"{service}: {data['status']}")
    return issues

if __name__ == '__main__':
    problems = check_dependencies()
    if problems:
        print("Upstream issues detected:")
        for p in problems:
            print(f"  - {p}")
    else:
        print("All services operational ✓")

Services covered

90+ services including:

  • Cloud: AWS, Google Cloud, Azure, Cloudflare, Vercel, Netlify, DigitalOcean
  • Dev tools: GitHub, GitLab, npm, Docker Hub, Sentry
  • Payments: Stripe, PayPal, Braintree
  • Comms: Discord, Slack, Twilio, SendGrid
  • Data: Airtable, Notion, MongoDB Atlas, Supabase

Why I built this

Debugging "is it us or them?" is a universal dev experience. Every monitoring tool I found either required signup, had rate limits, or cost money. DownStatus is just a clean, free JSON endpoint — nothing more.

Check out isitdownstatus.com and let me know if you find it useful. PRs for adding more services are welcome!

What services do you depend on most? Drop them in the comments and I'll make sure they're covered.

Comments (0)

Sign in to join the discussion

Be the first to comment!