Methodology

How VoteDekho collects, processes, and displays Indian election data.

Primary data sources

  1. results.eci.gov.in — official ECI results portal (live and final counts)
  2. affidavit.eci.gov.in — candidate financial disclosures (assets, liabilities, criminal cases)
  3. State CEO websites — sometimes publish results faster than the central portal for state elections

ECI data is public domain government information under the provisions of the Right to Information Act, 2005. We do not scrape political party websites or unofficial sources.

Data pipeline

  1. Polling — On counting days, a Cloudflare Cron Trigger fires every 60 seconds and fetches the ECI state results page.
  2. Change detection — We compute a SHA-256 hash of the fetched page. If the hash matches the last stored snapshot, we skip processing (no wasted writes).
  3. Parsing — We extract each constituency's leading candidate, party, margin, and status from the HTML table.
  4. Dual write — Updated records are written to Cloudflare D1 (canonical, audit trail) and Cloudflare KV (hot cache, replicated globally in <1 second).
  5. Index ping — Changed constituency pages trigger an IndexNow ping so Bing/Yandex re-index within minutes. Google Indexing API is pinged for live content pages.
  6. Sitemap update — The <lastmod> timestamp for changed pages is updated accurately.

How results are displayed

Each constituency page is server-rendered at the Cloudflare edge with the latest available data. For human visitors, a lightweight script polls a JSON endpoint every 30 seconds and updates vote counts in place — no page reload required.

We show ECI status terms verbatim: Leading, Trailing, Won, Lost. We never adjust vote counts or project winners before ECI declares them.

Historical data

We backfill results from 2014 (16th Lok Sabha) onwards. Historical data for assembly elections is imported from ECI's published result sheets. Constituency boundary changes (delimitation) are noted on affected pages.

Errors and corrections

If ECI's source page contains an error, our data will reflect it. If we introduce a processing error, we publish a correction on the affected page and log it in our corrections log. To report an error, email corrections@votedekho.com.

Frequently asked questions

Where does VoteDekho get its election data?

All results data comes from results.eci.gov.in, the official ECI results portal. We scrape and re-present this public domain data; we do not generate, adjust, or editorialize vote counts.

How quickly are results updated?

On counting days, our scraper polls the ECI website every 60 seconds. When new data is detected, it is written to our database and cache within 30 seconds and displayed immediately.

Why is a result showing 'Leading' instead of 'Won'?

Counting happens in rounds. 'Leading' means a candidate is ahead based on rounds counted so far. 'Won' means all rounds are complete and the result is declared. We mirror ECI's status terminology exactly.