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 →

The same figures you see across the site, refreshed daily.

Prefer raw files?

The portal exports any table as CSV or JSON, but here are 6 ready-made files for the current cycle and the historical archive — stable links you can script against. Each file says exactly which cycle and records it covers.

Generated October 19, 2026 at 6:43 AM CDT · Cycles 2026–2027

  • Contributions

    contributions.csv

    Itemized 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.

    Cycle 2026 · 7,387 rows · 914.0 KB

    Coverage: Contributions, expenditures, loans, candidate summaries, and filings for 2026 and 2027.

    Columns (13) candidate, office, party, status, donor_name, city, state, zip, employer, total_amount, num_contributions, kind, self_funding
  • Expenditures

    expenditures.csv

    Every itemized expenditure reported by visible candidates this cycle. Refunds excluded. Payee city/state/ZIP are as filed.

    Cycle 2026 · 9,202 rows · 1.09 MB

    Coverage: Contributions, expenditures, loans, candidate summaries, and filings for 2026 and 2027.

    Columns (11) candidate, office, party, status, payee, payee_city, payee_state, payee_zip, purpose, amount, date
  • Outstanding and repaid loans, deduplicated across filings. Self-loans are flagged. `amount` is everything ever drawn on the loan; `amount_this_cycle` is the part borrowed during these filings — the part that counts as money raised here.

    Cycle 2026 · 85 rows · 10.3 KB

    Coverage: Contributions, expenditures, loans, candidate summaries, and filings for 2026 and 2027.

    Columns (11) candidate, office, party, status, lender, amount, amount_this_cycle, date_received, outstanding_balance, amount_repaid, is_self_loan
  • Candidate summaries

    candidate-summaries.csv

    One row per candidate with totals: contributions, refunds, in-kind, self-funding, loans, expenditures, and cash on hand.

    Cycle 2026 · 298 rows · 37.3 KB

    Coverage: Contributions, expenditures, loans, candidate summaries, and filings for 2026 and 2027.

    Columns (20) candidate, office, party, status, total_contributions, total_refunds, monetary_raised, inkind_received, total_self_contributions, total_loans, loans_received, total_unitemized, total_expenditures, total_expenditure_refunds, total_unitemized_spent, total_spent, cash_on_hand, contributor_count, filing_count, is_incumbent
  • Filings & reconciliation status

    filings.csv

    Every 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.

    Cycle 2026 · 909 rows · 110.5 KB

    Coverage: Contributions, expenditures, loans, candidate summaries, and filings for 2026 and 2027.

    Columns (11) candidate, office, party, year, reporting_period, report_type, coverage_start, coverage_end, filing_date, review_status, published
  • Claim receipts (gzipped JSON)

    claim-receipts.json.gz

    Every 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. Gzipped — it is too large to host uncompressed; most tools read it directly, or `gunzip` it first.

    19,158 rows · 37.04 MB

    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 in a single election are not named — they're counted in candidate summaries but not listed by name, and nothing is summed across elections to get them there. 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 CSVs, and the query portal are free to use under CC BY 4.0, including commercially. Credit us with a link and you’re done.

Data from Who Funds Memphis, CC BY 4.0.

Citing a specific number? Cite the original filing too. It’s the primary source, and every candidate page links it.

Spot a problem? Email tips@whofundstn.org with the candidate name and the row in question.