The published aggregates, exactly as the site renders them, under CC BY 4.0. If the site will not show it, the export does not contain it.
Licensed CC BY 4.0. Attribute to bribe.watch and link back.
This has not refreshed since 23 Sept 2026, 1:34 pm. Treat every number below as out of date.
Point-in-time snapshot archives generated daily. Citations and academic analyses should cite the specific dated archive used.
bribes-data-2026-09-23.csv
Latest daily snapshot
bribes-data-2026-09-22.csv
2026-09-22 archive
bribes-data-2026-09-21.csv
2026-09-21 archive
bribes-data-2026-09-20.csv
2026-09-20 archive
bribes-data-2026-09-19.csv
2026-09-19 archive
bribes-data-2026-09-18.csv
2026-09-18 archive
bribes-data-2026-09-17.csv
2026-09-17 archive
Every column present in the CSV and JSON exports, with definitions, valid ranges, and privacy thresholds.
| Column | Type | Definition & Constraints |
|---|---|---|
| departmentSlug | string | Canonical slug of the government department (e.g. passport, rto, police). |
| departmentName | string | Official name of the department in English. |
| citySlug | string | Canonical slug of the city (e.g. mumbai, pune, bengaluru). |
| cityName | string | Display name of the city. |
| stateSlug | string | Canonical state slug matching ISO 3166-2:IN subdivision codes. |
| publishable | boolean | True if the cell satisfies privacy and aggregation gates; false if suppressed. |
| n | integer | null | Total countable reports contributing to this cell. Null if suppressed. |
If a box is wrong, or you are the office it describes, write to the grievance officer. Affected records come out of the aggregates while the complaint is open, and the next export refresh reflects it.
| paidCount | integer | null | Count of reports where a bribe payment occurred and was included in amount metrics. Null if suppressed. |
| refusedCount | integer | null | Count of reports where the citizen refused payment. Null if suppressed. |
| refusalSuccessCount | integer | null | Count of refusal reports where the citizen still received their service. Null if suppressed. |
| refusalSuccessRate | float 0..1 | null | Fraction of refusing citizens who received service (refusalSuccessCount / refusedCount). Null if refusedCount = 0 or suppressed. |
| amountMinInr | integer | null | Minimum reported bribe payment in rupees (INR). Null if no payments or suppressed. |
| amountMaxInr | integer | null | Maximum reported bribe payment in rupees (INR). Equal to amountMinInr if paidCount = 1. |
| amountTotalInr | integer | null | Exact sum of all reported bribe payments in rupees (INR) in this cell. Null if suppressed. |
| refusalRate | float 0..1 | null | Fraction of total reports that were refusals (refusedCount / n). Null if suppressed. |
| monthRangeStart | YYYY-MM | null | Earliest report submission month within the 12-month rolling window. Null if suppressed. |
| monthRangeEnd | YYYY-MM | null | Latest report submission month in the window. Coarsened to month to prevent temporal re-identification. |
| suppressedReason | string | null | Suppression reason: below_minimum_n, single_office, or frozen. Null on publishable cells. |
| allReviewed | boolean | null | True if 100% of reports in this cell have been verified by a moderator. Null if suppressed. |
| computedAt | ISO 8601 | null | Timestamp when this aggregate row was computed. |