Data & Downloads
The full bribes.fyi dataset, free to download, for journalism, research, and civic-tech projects.
Read this before you use the data. bribes.fyi has ~78 reports. This is a small, self-selected sample of people who chose to report. It is not a statistically representative survey of corruption in India. Please don’t compute national or per-state corruption rates from it, or headline a ranking of “most corrupt” states/departments from sample sizes this small. It’s much better used to illustrate individual, verified incidents, or to track how the dataset grows over time.
Download
Approved reports only. Updated within an hour of any moderation change.
Schema
| Column | Type | Description |
|---|---|---|
| id | string (UUID) | Stable identifier, links to bribes.fyi/reports/{id} |
| reported_on | date (YYYY-MM-DD) | Day the report was submitted, truncated from a timestamp |
| department_slug | string | e.g. "police", "rto" |
| department_name | string | e.g. "Police", "RTO" |
| service_slug | string, optional | Empty if the reporter didn’t specify a service |
| service_name | string, optional | |
| report_type | "bribe_paid" | "refused" | |
| amount | number | INR; 0 for refused reports |
| currency | string | Always "INR" today |
| mode | string, optional | cash / upi / agent / other |
| city | string | Free text, as entered by the reporter |
| state | string | |
| official_role | string, optional | Free text, as entered by the reporter |
| outcome | string, optional | helped / no_help / partial |
| note | string, optional | Free text. May contain typos or informal language, published as submitted |
| official_fee | number | The legal fee for the service, where known. 0 if free or unknown |
What we never publish
The export never includes a reporter’s hashed IP address, anonymous session token, device fingerprint, account ID, or internal spam score. None of those are exposed by any bribes.fyi endpoint, public or downloadable. Timestamps are truncated to the day (not the second) so that, at our current volume, a report can’t be narrowed down to a specific visit.
Methodology
Every report is reviewed by a human moderator before it’s marked “approved” and included here. Approval means the report passed basic spam/abuse checks and reads as a genuine account. It is not independent verification that the incident occurred exactly as described. Figures shown elsewhere on the site (medians, refusal rates) carry an explicit confidence tier based on sample size; treat any figure computed from a handful of reports the same way, as a rough signal, not a precise statistic.
License
This dataset is licensed under Creative Commons Attribution 4.0 (CC BY 4.0). You may copy, share, and adapt it for any purpose, including commercially, as long as you credit bribes.fyi. See Terms & Conditions §7 for the full public-data policy.
Questions
For anything about the data or how you’re using it, reach out via the support page.