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.
United States
NORTH AMERICA
Related News
Amazon Employees Are 'Tokenmaxxing' Due To Pressure To Use AI Tools
20h ago
UCP Variant Data: The #1 Reason Agent Checkouts Fail
6h ago

Décryptage technique : Comment builder un téléchargeur de vidéos Reddit performant (DASH, HLS & WebAssembly)
16h ago
How Braze’s CTO is rethinking engineering for the agentic area
10h ago
Encryption Protocols for Secure AI Systems: A Practical Guide
20h ago