No Indian DISCOM exposes a public outage API. Millions of people have no way to tell whether a power cut is just their street or their entire district. OpenOutages fills that gap: anyone can report a power cut or restoration by pincode, and those reports aggregate into live district health scores. Planned outage schedules published by DISCOMs are scraped and surfaced alongside crowd data.
India has 50+ DISCOMs and no mandatory public outage reporting standard. Utilities like BESCOM and MSEDCL have internal outage management systems, but none of that data is publicly queryable. The closest thing to a solution before this was WhatsApp groups and Urja Mitra complaints that go nowhere.
CurrentUndo launched in April 2026 for Kerala and proved the crowdsourced model works in the Indian context. OpenOutages is the India-wide version: multi-state, open source, and self-hostable.
- Citizens report OUTAGE or AVAILABLE for their pincode, no login required
- Reports from the same pincode are aggregated every 60 seconds into a health score
- 4+ outage reports from 3+ distinct reporters in 30 minutes confirms an outage
- Planned outage notices from DISCOM websites are scraped every 6 hours and shown alongside live data
- A live SSE feed pushes status changes to connected clients in real time
| State | DISCOMs | Status |
|---|---|---|
| Karnataka | BESCOM, MESCOM, GESCOM, HESCOM, CESC | Live |
| Others | All major state DISCOMs | Planned |
Karnataka district breakdown in backend/README.md.
| Layer | Tech |
|---|---|
| API | FastAPI + uvicorn |
| Database | Neon (PostgreSQL 17, serverless) |
| Cache | Upstash Redis (ap-south-1) |
| ORM | SQLAlchemy 2 async + asyncpg |
| Scheduler | APScheduler 3 |
| Infra | Docker Compose + Caddy |
See backend/README.md for dev setup, environment variables, and API reference