Explore the data
Every 2026 Shelby County election candidate's money — contributions, spending, loans, and totals — in one queryable place. For reporters, researchers, and anyone digging across races.
Open the data portal
Ask a question in plain English and it writes the query for you, run a saved report, browse and filter any table, or write your own SQL — then download CSV or JSON. No account needed.
data.whofundsmemphis.org →Prefer raw files?
The portal exports any table as CSV or JSON, but here are four ready-made bundles for the 2026 cycle — stable links you can script against. They match exactly what you can browse on the site.
-
Contributions
contributions.csvItemized donor totals per candidate (monetary + in-kind). Aggregated per campaign; donors below the $200 per-candidate disclosure threshold are not named. The candidate's own contributions are included and flagged in the self_funding column.
Columns (13)
candidate, office, party, status, donor_name, city, state, zip, employer, total_amount, num_contributions, kind, self_funding -
Expenditures
expenditures.csvEvery itemized expenditure reported by visible candidates this cycle. Refunds excluded. Payee city/state/ZIP are as filed.
Columns (11)
candidate, office, party, status, payee, payee_city, payee_state, payee_zip, purpose, amount, date -
Loans
loans.csvOutstanding and repaid loans, deduplicated across filings. Self-loans are flagged.
Columns (10)
candidate, office, party, status, lender, amount, date_received, outstanding_balance, amount_repaid, is_self_loan -
Candidate summaries
candidate-summaries.csvOne row per candidate with totals: contributions, refunds, in-kind, self-funding, loans, expenditures, and cash on hand.
Columns (18)
candidate, office, party, status, total_contributions, total_refunds, monetary_raised, inkind_received, total_self_contributions, total_loans, total_unitemized, total_expenditures, total_unitemized_spent, total_spent, cash_on_hand, contributor_count, filing_count, is_incumbent -
Filings & reconciliation status
filings.csvEvery live filing from visible candidates, INCLUDING the ones held back: each row carries our reconciliation status (review_status) and whether its money is published. Count the withheld set yourself with published = 0.
Columns (11)
candidate, office, party, year, reporting_period, report_type, coverage_start, coverage_end, filing_date, review_status, published -
Claim receipts
claim-receipts.jsonEvery computed money figure on the site — candidate totals, insight shares, PAC spend mix — with the inputs and source filings behind it. Totals also carry per_filing: what each individual filing contributed, each part labeled filing-stated (the filing's own summary says so) or derived (we aggregated its itemized rows). The machine-readable receipts for our "Why this number?" panels.
Columns (9)
claim_id, type, subject_slug, value, formula, inputs, sources, per_filing, unattributed
Privacy & the contributions file
Contributions are exported in the same per-campaign aggregated form used on candidate pages: one row per donor per candidate, with the cumulative total and number of contributions. Individuals who gave less than $200 to a candidate are not named — they're counted in candidate summaries but not listed by name. Organizations, businesses, and PACs are listed at any amount. This matches the disclosure threshold used across the site (see About).
Citing this data
The data, the CSV files, and the query portal are free to use — we just ask for credit. If you publish anything built on them (a story, a chart, analysis from the portal), please credit Who Funds Memphis and link back to whofundsmemphis.org. For any specific figure, also cite the original filing as the primary source.
Spot a problem? Email tips@whofundstn.org with the candidate name and the row in question. Each candidate page links to the original PDF filings the data was extracted from.