Is It Down?
A live, single-page status aggregator for the developer services you depend on every day — npm, GitHub, OpenAI, AWS, Cloudflare, Stripe, and 45 more. Refreshed every 30 seconds.
Major outage: AWS
Developer Platforms
Upstream returned 404
Upstream returned 404
Atlassian source hosting and Pipelines.
Source hosting, Actions, Pages, Packages, Copilot.
macOS / Linux package manager (uses GitHub).
JavaScript registry, install API, web app.
Python Package Index — pip install backend.
AI / ML APIs
Upstream returned invalid JSON
Claude API, Claude.ai, Claude Code.
AI code editor — chat, tab, composer.
AI pair programmer — completions, chat, agents.
Gemini API, Vertex AI, AI Studio.
ChatGPT, GPT-4, GPT-5, DALL-E, Whisper APIs.
Run open-source ML models via API.
Cloud / Hosting
Service disruption: Increased Error Rates — started 5 days ago
Resolution Issues for .de Domains — started 2 hr ago
Elevated error rates on List Machines endpoint — started 13 min ago
Failures to load data across multiple services on the Vercel dashboard, API, and CLI — started 9 hr ago
Upstream returned 404
Upstream returned invalid JSON
Droplets, App Platform, managed databases.
Compute, Storage, BigQuery, Cloud Run.
Azure VMs, App Service, AKS, Azure SQL.
Static + Jamstack hosting, Functions, Forms.
Web services, cron, Postgres, Redis.
Databases / Data
Upstream returned 404
Upstream returned invalid JSON
Upstream returned invalid JSON
Impaired Cluster Operations – AWS me-central-1 (United Arab Emirates) and AWS me-south-1 (Bahrain) — started 65 days ago
Serverless MySQL, Vitess-backed.
Postgres, auth, storage, realtime, edge fns.
Payments / Infra
SMS Delivery Delays from Twilio to Tigo Guatemala — started 1 hr ago
Upstream returned invalid JSON
Upstream returned 404
Upstream returned 404
Developer-first transactional email API.
Transactional + marketing email at scale.
Auth / Identity
Communication
No public machine-readable feed; consult the official status page.
Voice, video, text servers and DMs.
Team messaging, calls, huddles, Connect.
Zoom Phone/Zoom Contact Center General Underlying Provider Maintenance — started 4 days ago
Monitoring / Dev Tools
Upstream returned invalid JSON
Upstream returned invalid JSON
APM, infra, logs, RUM, synthetics.
Collaborative design, FigJam, Dev Mode.
Feature flags, experiments, releases.
Error monitoring, performance, replays.
DevZone aggregates publicly available status data and refreshes every 30 seconds. Status indicators reflect each provider’s own machine-readable feed; for incident details and authoritative information, always consult the official status page linked on each card.
What it does
One page, every status that matters
GitHub, GitLab, npm, PyPI, Docker Hub, OpenAI, Anthropic, Gemini, AWS, Google Cloud, Azure, Cloudflare, Vercel, Stripe, Twilio, Discord, Slack, Notion, Linear, Datadog, Sentry, and 30+ more — every check on one page so you don’t have to bookmark 20 status sites.
Refreshes every 30 seconds
The page auto-refreshes a snapshot from a server-cached endpoint every 30 seconds. Backgrounding the tab pauses the polling; refocusing pulls a fresh snapshot immediately. We never hammer upstream APIs — one regen serves all visitors.
Active incidents feed
A right-side feed lists every active incident across every tracked service, sorted newest-first. When three services on Cloudflare’s network all go red at once, you’ll see them stacked together — and that pattern usually means the issue is upstream of all three.
90-day per-service history
Each service has a dedicated subpage (/tools/is-it-down/github, /openai, etc.) with a 90-day incident heatmap. Useful for "how often does X go down" research and for retroactive root-cause work.
Trust-first design
Every card shows the upstream URL we read and when we read it. If an upstream feed errors, we show "Unable to verify" in gray rather than guessing. Clicking through always takes you to the service’s official status page so you can confirm.
Shareable status URLs
Drop /tools/is-it-down/openai in Slack or Twitter during an outage and the link preview shows the live status — color-coded, with the active incident title and how long it’s been ongoing. Generated as a dynamic OG image at request time.
Works without JavaScript
The initial snapshot is server-rendered into the HTML. JS-disabled visitors still see the current status; the auto-refresh and search filter just don’t function. CDN-cached HTML keeps load time under a second even during outage-driven traffic spikes.
How to use Is It Down?
- 1Open the page
Visit /tools/is-it-down or search "is npm down" / "github status" — both rank for this page.
- 2Filter to your service
Type the name in the search bar (e.g., "npm") to jump straight to its card.
- 3Read the headline
The big banner at the top tells you instantly whether anything is down. Green = all good, amber = degraded, red = major outage.
- 4Expand the card
Click "View details" on any service to see affected components, recent incidents, and a link to the official status page.
- 5Bookmark the per-service page
For services you check often, bookmark /tools/is-it-down/<service> — it has a 90-day history and FAQs.
When to use this
CI is failing on `npm install`
Open this page, filter "npm". If npm is degraded, your CI failure is upstream — wait it out. If it’s green, the issue is local (cache, registry override, network).
Your OpenAI requests are hanging
Filter "openai". The card shows whether it’s the API or ChatGPT specifically. If green, switch model or check your client timeouts.
Your team is reporting a Slack outage
Drop the live URL in another channel — the OG image preview shows the live Slack status, no clicks required.
Everything seems broken at once
Check the Active Incidents sidebar. If three Cloudflare-fronted services are all red, the issue is probably upstream of all three.
Researching "how often does X go down"
Visit the per-service subpage (e.g. /tools/is-it-down/github) — the 90-day heatmap shows every recorded incident.
Common errors & fixes
- A service shows "Unable to verify"
- The upstream status feed errored or timed out. We never show a guessed value. Click through to the official status page (always linked on the card) to confirm directly.
- A service is "stale"
- The "stale" tag means our last successful fetch is from before the most recent regen attempt. The data is still useful — it just isn’t the latest. Refresh in 30s or use the manual refresh button.
- The headline says "operational" but I can’t reach a service
- A regional or per-customer issue may not show up on the public status page (providers often delay public posts). Check the official page linked on the card and try the operation from a different network.
Technical details
| Refresh interval | 30 seconds (server-side ISR + client polling) |
| Initial render | Server-side, no JavaScript required for the snapshot to display |
| Tracked services | 50+ developer-facing services across 8 categories |
| Adapters | Atlassian Statuspage, AWS RSS, Google Cloud JSON, Azure RSS, Slack JSON |
| History depth | 90 days (best-effort from upstream feeds; persistent storage is on the v2 roadmap) |
| Per-fetch timeout | 5 seconds with AbortController |
| Failure mode | Per-service isolation via Promise.allSettled — one bad upstream cannot break the page |
Why one page beats 50 bookmarks
Every developer has a folder of bookmarked status pages — status.npmjs.org, status.openai.com, status.github.com, and so on. During an outage you open them one by one, missing the pattern: that npm is down because Cloudflare is down, that OpenAI is throttling because Azure is degraded, that "everything is broken" is actually one upstream cascade.
A single aggregator surfaces the cascade. When three services on the same underlying provider all go red at once, the active-incidents feed makes that obvious in seconds.
How "Is It Down?" stays fast during a real outage
During major outages, traffic to status checkers spikes 100x. We handle that with two layers: (1) the server-side snapshot is cached for 30 seconds, so all visitors share one regen, and (2) the rendered HTML is served from a CDN, so even the regen is rare relative to traffic. The result: page load stays under a second even when AWS is melting and everyone is refreshing.
Why we don't guess
The single biggest failure mode for a status aggregator is reporting "operational" when something is actually broken. Users lose trust forever. We default to "Unable to verify" in gray whenever an upstream feed errors, times out, or returns an unexpected schema — and every card links directly to the upstream page so you can confirm. Trust over coverage, every time.
Frequently Asked Questions
Where does the data come from?
- Every service’s own publicly available status feed. For ~75% that’s an Atlassian Statuspage JSON endpoint (`/api/v2/summary.json`). The rest use AWS's RSS, Google Cloud's JSON, Azure's RSS, or Slack's bespoke API. Sources are linked on every service card so you can verify directly.
How often does the page refresh?
- The server-side snapshot regenerates every 30 seconds. The client polls a cached snapshot endpoint at the same interval when the tab is foregrounded; backgrounding the tab pauses polling, refocusing pulls fresh data immediately.
Does this work on mobile?
- Yes — the layout collapses cleanly on mobile, the active-incidents feed moves below the grid, and the search bar is touch-friendly. About half the traffic during an outage typically comes from phones.
Why is one of my services not listed?
- We launched with the 50 services we judged most important to developers. To request another, ping us at devzonetools@gmail.com — adding a service is a one-line change in our config if it has a Statuspage.io feed.
Is there a status badge / API I can embed?
- Not yet. Public per-service badges (`/badge/<service>.svg`) and a JSON API (`/api/status/<service>`) are on the v2 roadmap. Subscribe to our newsletter (link in footer) for the launch.
Can I get notified when a service goes down?
- Email and webhook subscriptions are planned for v2. For now, the official status page of each service has its own subscription option (most use Atlassian Statuspage, which supports SMS/email/Slack notifications natively).
How do you handle false positives?
- When an upstream feed errors, times out, or returns an unexpected schema, we mark that service as "Unable to verify" and show the error in gray. We never guess. Every card links to the official status page so you can confirm directly.
Related Tools
JSON Formatter
Clean, minify, and validate JSON data structures.
JWT Decoder
Decode and inspect JWT tokens — header, payload, timestamps.
IP Calculator
Calculate subnet mask, network address, broadcast, wildcard mask, usable hosts, and binary representation for any IPv4 or IPv6 CIDR. Includes VLSM, subnet splitter, and range-to-CIDR converter.
Regex Tester
Real-time expression matching and testing.
UUID Generator
Generate random UUID v4 identifiers. Bulk generate up to 100 UUIDs, toggle uppercase/lowercase and hyphen formatting.