home

Reference · generated 2026-07-31 from the live snapshot

Data dictionary

Every table in this snapshot: what one row means, what it covers, which columns matter, and what will get you into trouble. If you want worked examples instead, the how-to guide is task-first. If you want provenance, read the methodology.

How to read an entry

  • Grain is what a single row represents. Get this wrong and every count is wrong.
  • Derived means a language model produced the content by reading a primary document. Search it, then cite the document it links to.
  • Watch out is the specific thing that produces a false statement. These are not boilerplate; each one comes from a mistake somebody actually made.

Row counts are rows, not events. One procurement can appear as several rows and in more than one table.

Tables

air_quality

EPA air-quality measures by area.

228 rows · grain: one area-period · 25 states

columns: muni_id county_fips county_name state year days_with_aqi good_days moderate_days days_unhealthy max_aqi p90_aqi median_aqi source_url data_license updated_at

Browse air_quality →

assisted_contracts

HUD Multifamily and Section 8 assistance contracts.

24,308 rows · grain: one contract · 55 states

top sources: HUD Multifamily Assistance & Section 8 Contracts Database (hud.gov), 2026-07-01 vintage

Watch out. This is the source that actually carries a subsidy EXPIRATION date. property_total_units is larger than assisted_units and is duplicated across a property's contracts — do not sum it.

columns: contract_number property_id muni_id match_method place_geoid property_name address city state zip county_fips county_name msa_name congressional_district contract_status contract_effective_date contract_expiration_date current_expiration_date expiration_fiscal_year expiration_quarter contract_term_months assisted_units property_total_units program_type program_group contract_doc_type hud_administered performance_based_acc rent_to_fmr_ratio rent_to_fmr_bucket units_0br units_1br units_2br units_3br units_4br units_5plus_br property_category primary_financing_type is_insured is_202_811 is_236 is_bmir is_hud_held is_hud_owned is_opportunity_zone ownership_effective_date owner_company_type owner_organization owner_city owner_state mgmt_agent_organization expired_but_active as_of_date source source_url updated_at property_units_overallocated

Browse assisted_contracts →

audit_findings

State-level audit findings against local governments.

2,588 rows · grain: one finding · 1 states

top sources: wa-sao

Watch out. Distinct from fac_findings, which is the federal Single Audit.

columns: source report_number finding_number muni_id state entity_name entity_type entity_ext_id place_geoid match_method auditor report_title audit_type fiscal_year period_start period_end published_date finding_category severity questioned_cost cost_basis finding_title finding_text report_url fetched_at

Browse audit_findings →

bps_permits

Census Building Permits Survey: permit counts by place.

4,264 rows · grain: one place-period

Watch out. Counts and valuations are survey estimates, not individual permits — civic_records holds actual permits.

columns: muni_id year month units_total units_1unit units_2unit units_34unit units_5plus valuation source_url updated_at

Browse bps_permits →

briefs

A plain-English summary of a meeting AGENDA, written by a language model.

1,172,807 rows · grain: one meeting · machine-extracted

Watch out. This is the agenda, i.e. what was PROPOSED. It is not what happened. Never quote a brief as the outcome of a meeting, and never add briefs to decisions.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: meeting_id status model headline summary notable tags agenda_chars created_at

Browse briefs →

business_formations

Business formations and registered entities.

3,102,591 rows · grain: one entity · 74 states

top sources: Colorado Secretary of State (data.colorado.gov), Census Business Formation Statistics

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: uid grain muni_id city state county period seasonally_adj applications_total high_propensity entity_id business_name entity_type entity_type_code entity_status formation_date address source source_url updated_at

Browse business_formations →

census_demographics

Census ACS population, income and housing values per government.

4,591 rows · grain: one government

Watch out. median_income is disclosure-capped at $250,001 for wealthy small places — use per_capita_income for any ranking.

columns: muni_id population median_income housing_units updated_at median_home_value per_capita_income pct_hs_plus pct_bachelors_plus

Browse census_demographics →

cf_transactions

Campaign finance transactions: contributions and transfers, federal and state.

43,938,817 rows · grain: one reported transaction · 57 states · spans 1972-09-02 to 2202-06-30

top sources: fec_bulk_oth, fec_bulk_pas2, fl_doe, netfile_ca, fec, la_ethics

Watch out. Three different populations share this table (see `source`): FEC bulk committee-to-candidate is complete; the OpenFEC individual slice is a CAPPED sample and cannot answer a negative question; state files vary. txn_type='summary' rows are registry entries with no transaction — exclude them from every money total.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: id source level state txn_type filer_name filer_id office counterparty_name counterparty_type employer occupation city region zip amount txn_date election_cycle report_id external_id updated_at

Browse cf_transactions →

civic_records

Building permits and business licences published by local governments.

12,085 rows · grain: one permit or licence

Watch out. Coverage follows whichever governments publish an open dataset.

columns: civic_source_id muni_id kind record_no address rec_type description applicant value applied_date issued_date status official_url fetched_at

Browse civic_records →

college_stats

Higher-education institutions: enrollment, cost, outcomes.

6,119 rows · grain: one institution-year · 51 states

top sources: College Scorecard (US Dept. of Education, public domain)

Watch out. Governance (regents, trustees) is NOT covered.

columns: id name city state muni_id year enrollment tuition_in tuition_out admission_rate completion_rate total_revenue faculty_salary_avg median_earnings source source_url updated_at

Browse college_stats →

datacenter_moratoriums

Municipalities with a RECORDED VOTE adopting a data centre moratorium.

35 rows · grain: one municipality · 20 states · spans 2025-08-04 to 2026-07-21

Watch out. A verified floor, not a census: only rows carrying a vote tally, 'unanimous' or 'motion carried' survived. An earlier cut of 97 fell to 35 on checking. And a moratorium is a PAUSE while zoning is written — it is not a rejection of a data centre, and must never be described as one.

columns: city state adopted_date evidence mytown_page

Browse datacenter_moratoriums →

debt_issues

Bond issues, from California CDIAC DebtWatch.

76,716 rows · grain: one debt issue · 1 states

top sources: California CDIAC DebtWatch (debtwatch.treasurer.ca.gov), issuance filings since 1984

Watch out. California only. This is the free replacement for licence-blocked MSRB EMMA.

columns: cdiac_number muni_id match_method state issuer issuer_qualifier issuer_group issuer_type issuer_county place_geoid county_fips sold_status issue_name project_name sale_date settlement_date calendar_year principal_amount new_money refunding_amount net_oid_premium principal_outstanding_adtr proceeds_unspent_adtr adtr_last_reported_year adtr_filing_status debt_type primary_purpose primary_purpose_pct source_of_repayment tax_status tax_exempt_amount taxable_amount labeled_debt_type sale_type private_placement tic_rate nic_rate interest_type senior_or_subordinate first_optional_call_date final_maturity_date statutory_authority local_debt_policy marks_roos_authority marks_roos_obligor total_issuance_costs lead_underwriter underwriter_takedown underwriter_mgmt_fee underwriter_expenses financial_advisor financial_advisor_fee bond_counsel bond_counsel_fee co_bond_counsel co_bond_counsel_fee disclosure_counsel disclosure_counsel_fee trustee_paying_agent trustee_paying_agent_fee placement_agent placement_agent_fee purchaser_or_lender other_issuance_expenses credit_enhancement_type credit_enhancement_provider credit_enhancement_fee sp_rating moodys_rating fitch_rating filing_contact official_statement_url official_statement_title document_count source source_url updated_at

Browse debt_issues →

decision_geo

Address-level enrichment for land-use decisions: building footprint and FEMA flood zone.

8,730 rows · grain: one decision address

Watch out. Only covers decisions with an extractable street address, a minority of them.

columns: meeting_id address lat lon building_height_m building_floors building_name building_class building_subtype flood_zone flood_subtype in_flood_zone updated_at

Browse decision_geo →

decisions

What a body actually did, extracted from the MINUTES.

359,048 rows · grain: one meeting · machine-extracted

Watch out. Minutes lag the meeting by days or weeks, and most bodies publish far fewer minutes than agendas. Absence means the minutes were not published, not that nothing passed.

columns: meeting_id status model headline summary decisions tags minutes_chars created_at

Browse decisions →

dot_projects

State DOT transportation projects.

44,747 rows · grain: one project · 8 states

top sources: txdot, gdot, ncdot, scdot, odot, tdot

Watch out. `cost` is a programmed estimate, not spend.

columns: id source state external_id muni_id name description project_type route city county cost program_year status is_highway lat lon official_url fetched_at

Browse dot_projects →

election_results

Election results for local offices.

73,186 rows · grain: one candidate-contest · 14 states

top sources: clarity, ceda, wa_sos, sos, bigcounty, ma_sos

Watch out. Write-in aggregates below 5% are filtered out.

columns: id muni_id place_name state county office election_date candidate_name party votes total_votes_in_race is_winner term_years source source_url created_at election_type match_method

Browse election_results →

energy_plants

Power plants with capacity and generation, matched to nearby places.

40,342 rows · grain: one plant · 49 states

top sources: eia-v2

Watch out. `distance_km` and `match_kind` show how the plant was tied to a government — a plant near a town is not the town's plant.

columns: muni_id plant_id plant_name state county latitude longitude primary_fuel capacity_mw generation_mwh match_kind distance_km period source updated_at county_fips

Browse energy_plants →

evictions

Eviction filings and judgments.

84,341 rows · grain: one place-period · 53 states

Watch out. Court coverage varies sharply by state.

columns: muni_id fips geography_level county_name state year data_type filings judgments threatened filing_rate source_url data_license updated_at

Browse evictions →

fac_audits

Federal Single Audit filings: every entity spending federal award money above the threshold.

170,366 rows · grain: one audit filing · 57 states

Watch out. ⚠ total_amount_expended is a FLOW of federal money through the entity, not a budget. It is counted again by any pass-through above it, so cross-tier sums double-count. Only entity_form in (general, county, school) is a government.

columns: report_id audit_year fy_start_date fy_end_date auditee_name auditee_uei auditee_ein auditee_city auditee_zip auditee_state_reported state state_source entity_form core_name muni_id muni_slug census_geoid match_method city_name_agrees total_amount_expended amount_context dollar_threshold audit_type audit_period_covered number_months gaap_results is_going_concern is_material_weakness is_control_deficiency is_material_noncompliance is_low_risk_auditee auditor_firm_name auditor_ein oversight_agency cognizant_agency submitted_date fac_accepted_date resubmission_version resubmission_status is_primary_for_period is_public data_source source_url fetched_at muni_year_siblings

Browse fac_audits →

fac_findings

Audit findings: material weaknesses, questioned costs, repeat findings.

50,626 rows · grain: one finding · 57 states

Watch out. A finding is filed once per federal award it touches; the source inflates ~3.1x if you count tuples instead of findings.

columns: report_id reference_number audit_year auditee_uei auditee_name state entity_form muni_id muni_slug match_method award_count award_refs is_material_weakness is_significant_deficiency is_questioned_costs is_repeat_finding is_modified_opinion is_other_findings is_other_matters prior_finding_ref_numbers type_requirement finding_text finding_text_chars contains_chart_or_table questioned_costs_amount questioned_costs_context questioned_costs_basis source_url fetched_at

Browse fac_findings →

fec_candidates

FEC candidate registry.

65,455 rows · grain: one candidate-cycle

columns: cycle cand_id cand_name cand_pty_affiliation cand_election_yr cand_office_st cand_office cand_office_district cand_ici cand_status cand_pcc cand_st1 cand_st2 cand_city cand_st cand_zip updated_at

Browse fec_candidates →

fec_committee_links

Links between FEC committees and candidates.

62,332 rows · grain: one link

columns: cycle linkage_id cand_id cand_election_yr fec_election_yr cmte_id cmte_tp cmte_dsgn updated_at

Browse fec_committee_links →

fec_committees

FEC committee registry.

156,474 rows · grain: one committee-cycle

Watch out. Resolve a PAC by committee ID, never by name — names change across cycles while the ID is stable, and connected_org_nm is blank in some cycles.

columns: cycle cmte_id cmte_nm tres_nm cmte_st1 cmte_st2 cmte_city cmte_st cmte_zip cmte_dsgn cmte_tp cmte_pty_affiliation cmte_filing_freq org_tp connected_org_nm cand_id updated_at

Browse fec_committees →

fema_grants

FEMA disaster and mitigation grants.

846,428 rows · grain: one grant · 56 states

top sources: FEMA OpenFEMA, Public Assistance Funded Projects Details v2 + Public Assistance Applicants v1 (api.fema.gov)

columns: gm_project_id disaster_number declaration_date incident_type pw_number application_title applicant_id applicant_name applicant_kind muni_id match_method place_geoid damage_category_code damage_category project_status project_process_step project_size county county_fips state project_amount_estimate federal_share_obligated total_obligated mitigation_amount first_obligation_date last_obligation_date source source_url data_license updated_at

Browse fema_grants →

fiscal_health

Municipal fiscal-stress indicators.

2,001 rows · grain: one government-year

columns: muni_id fiscal_year population total_revenue total_expenditure debt_outstanding debt_per_capita debt_to_revenue operating_margin tax_reliance intergov_reliance pct_debt_to_revenue pct_debt_per_capita pct_deficit pct_intergov_reliance debt_load_index debt_load_band structural_deficit source_url updated_at

Browse fiscal_health →

fiscal_stress_official

Official state-assigned fiscal-stress scores.

49 rows · grain: one government-year · 1 states

top sources: NY OSC Fiscal Stress Monitoring System

Watch out. Scoring differs by state; never rank across states.

columns: muni_id state year stress_score stress_label source source_url updated_at

Browse fiscal_stress_official →

food_inspections

Restaurant and facility health inspections.

7,830,669 rows · grain: one inspection

Watch out. Coverage is a set of cities and three states, not national. Two sources ship dirty max dates; filter obviously impossible years.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: muni_id establishment_name address inspection_date result score violations_summary source_domain source_id source_row_id source_url updated_at

Browse food_inspections →

gov_contracts

Contract and procurement registers published by local governments.

1,537,751 rows · grain: one contract

Watch out. `amount` is usually a contract VALUE, often a ceiling, and an amendment may replace rather than add to a prior figure. Not money paid.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: muni_id source_row_id vendor_name description amount award_date start_date end_date contract_number department status source_domain dataset_id source_url updated_at

Browse gov_contracts →

gov_payments

Payments, contracts and awards involving a government, from local checkbook files and federal USAspending.

175,740 rows · grain: one payment or award line · 2 states · spans 1974-09-01 to 2026-12-16

top sources: act370-expenditure, nola-city-contract, act370-contract, usaspending, miamidade_cocc

Watch out. ⚠ DO NOT SUM THE amount COLUMN. payer_level='federal' rows are USAspending awards geographically associated with a place — that local government did not fund or approve them. record_type mixes obligations, contract ceilings and cash paid. Split by payer_level AND record_type before quoting any total.

columns: id source record_type muni_id state payee amount txn_date end_date category object_type purpose funding_source site fiscal_period source_url external_id updated_at payer_level

Browse gov_payments →

lihtc_projects

HUD Low-Income Housing Tax Credit projects.

55,345 rows · grain: one project · 56 states

top sources: HUD LIHTC Database (huduser.gov), 1987-2024 vintage

Watch out. HUD publishes NO affordability expiration for LIHTC; that column is deliberately empty. Use assisted_contracts if you need an expiry.

columns: hud_project_id muni_id match_method state project_name address std_address city zip place_geoid2020 county_fips total_units low_income_units credit_type construction_type tax_exempt_bond allocation_year placed_in_service_year allocated_credit_annual allocated_credit_suspect nonprofit_sponsor aff_period_gt30 affordability_years affordability_expiration no_longer_monitored nlm_reason qct dda latitude longitude state_project_id source source_url updated_at

Browse lihtc_projects →

literacy

County adult literacy and numeracy estimates (PIAAC).

4,247 rows · grain: one county · 51 states

top sources: NCES PIAAC Skills Map — County Indicators of Adult Literacy & Numeracy (nces.ed.gov/opengis .../NCES_PIAAC_SKILLSMAP_COUNTY_2017)

Watch out. Modelled estimates, not a census.

columns: muni_id county_fips county_name state pct_low_literacy pct_low_numeracy year source updated_at

Browse literacy →

lobbying_expenditures

The gift layer: what a lobbyist reported spending, and on which named official.

314,893 rows · grain: one reported expenditure · 6 states

top sources: ga_ethics_lobby_exp, louisiana_ethics_exp, oh_jlec_exp, nc_sos_lobby_exp, mo_mec_exp, ma_boston_lobby_contrib

Watch out. ⚠ `description` is VERBATIM filer text and is the entire evidentiary value — never paraphrase it. In Louisiana the report names NO client, so you cannot say 'Company X bought Legislator Y dinner'. Some rows are spouse/minor-child attributions, not the official personally.

columns: id source state muni_id lobbyist_name client_name recipient_name recipient_role expense_date year amount expense_type description source_url external_id updated_at

Browse lobbying_expenditures →

lobbying_registrations

Who is registered to lobby for whom, across federal, state and a few municipal registries.

3,205,530 rows · grain: one lobbyist-client registration · 15 states

top sources: fl_lobby_comp, co_sos, wa_pdc, federal-lda, fl_lobbyreg, fl_lobbyreg_exec

Watch out. `compensation` is NULL for most sources by design, because many states publish only a BAND or a yes/no paid flag. A band is not a number and must never be summed. Note source='la_city_ethics' is LOS ANGELES, not Louisiana.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: id source state muni_id lobbyist_name client_name year compensation source_url external_id updated_at branch paid date_from date_to registrant_name issue_codes specific_issues

Browse lobbying_registrations →

local_sales_tax

Local sales-tax receipts by month.

51,997 rows · grain: one government-month · 1 states

top sources: tx-comptroller

Watch out. A receipts series, not a rate. Seasonal — compare year over year, not month to month.

columns: muni_id state period_month amount tax_type source source_url updated_at

Browse local_sales_tax →

ma_election_results

Massachusetts election results.

43,963 rows · grain: one candidate-contest · 1 states

top sources: ma_electionstats

columns: id source state election_id election_date office district stage muni_id city_town ward precinct candidate party is_aggregate votes total_votes_in_race source_url external_id updated_at

Browse ma_election_results →

matters

Per-agenda-item extraction: the individual item, not the whole meeting.

25,544 rows · grain: one agenda item · machine-extracted

top sources: elms, minutes, agenda, attachment:Presentation, attachment:Letter of Intent, attachment:Proposed Zoning Exhibit

Watch out. Unit counts and dollar figures often live in the attachment rather than the item title, so a null here is usually a source gap.

columns: id meeting_id muni_id matter_type title case_no address action staff_rec outcome vote units affordable_units height_ft sqft acreage parking est_value conditions lat lon source model created_at att_id

Browse matters →

meeting_attachments

Full text of the documents attached to agenda items (staff reports, exhibits).

272,607 rows · grain: one attachment

Watch out. This is where developer names, acreage and unit counts actually appear. Searching here finds things the summary layer misses entirely.

columns: meeting_id source_url kind matter_id item_title text chars ocr_needed r2_key fetched_at

Browse meeting_attachments →

meetings

One meeting of one public body, with links to its agenda, minutes and video.

1,855,654 rows · grain: one meeting of one body

joins: muni_id -> municipalities.id; id -> briefs/decisions/meeting_texts.meeting_id

Watch out. A meeting existing does NOT mean its documents were captured. agenda_url can be set while the document was never archived; r2_key tells you whether we hold a copy.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: id muni_id source_id body_name meeting_date meeting_time location agenda_url minutes_url video_url detail_url fetched_at r2_key archived_at archive_status

Browse meetings →

member_votes

Per-member roll-call votes: who voted which way on a named motion.

4,725,720 rows · grain: one member's vote on one motion

top sources: legistar, legistar-insite, elms, boarddocs, iqm2, civicclerk

Watch out. Most local governments never publish machine-readable roll calls. Coverage is deep in a minority of places and absent in most. Do not compute a national 'dissent rate'.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: id meeting_id muni_id body_name motion member_name vote source model created_at contested

Browse member_votes →

mobility_outcomes

Economic-mobility outcomes by geography and subgroup.

33,626 rows · grain: one geography-subgroup-metric

top sources: Opportunity Insights - Opportunity Atlas (Chetty et al.)

Watch out. Carries value_se — small subgroups are noisy.

columns: geo_level fips muni_id subgroup metric value value_se source source_url license updated_at

Browse mobility_outcomes →

muni_debt

Outstanding municipal debt by government.

2,488 rows · grain: one debt record · 6 states

top sources: CA SCO ByTheNumbers (Financial Transactions Report), ct-opm, mi-treasury, mn-osa, wi-dor, va-apa

Watch out. Sources differ in what counts as debt; compare within a source only.

columns: muni_id state gov_type fiscal_year debt_type debt_outstanding debt_service debt_per_capita source source_url updated_at

Browse muni_debt →

muni_financials

Revenue and expenditure totals from state comptrollers.

4,653 rows · grain: one government-year · 7 states

top sources: ut-transparent, ct-opm, ca-sco, mn-osa, wi-dor, mi-treasury

Watch out. Only states with a clean statewide aggregator are covered, roughly half of municipalities. Absence is a publisher gap.

columns: muni_id state fiscal_year gov_type revenue_total revenue_tax revenue_intergov expenditure_total debt_outstanding fund_balance population source source_url updated_at

Browse muni_financials →

municipalities

Every government tracked: cities, counties, school districts and a few special districts.

7,204 rows · grain: one government · 70 states

joins: everything joins to this on muni_id

Watch out. `kind` is city / county / school / district. Roughly 30 authorities registered before the district type existed still carry kind='city', so do not treat kind as a census of government types.

columns: id slug name state platform body_count added_at last_fetched country kind

Browse municipalities →

nonprofits

IRS-registered nonprofits, used to cross-reference organisations appearing in decisions.

50 rows · grain: one organisation · 13 states

top sources: propublica

columns: ein name city state ntee_code category tax_year total_revenue total_expenses total_assets exec_comp_top form_type source source_url updated_at

Browse nonprofits →

official_disclosures

Officials' financial disclosures. For California this is Form 700 line items: the actual company, property or income source disclosed.

1,064,565 rows · grain: one filing, or one disclosed interest (CA) · 10 states

top sources: ca_form700_netfile, cook_county_clerk, wa_pdc, nj_sec_ethics, louisiana_ethics_pfd, montgomery_md_ethics

Watch out. A disclosure is a disclosure, not an allegation — the sharpest case in this corpus is an official who was recused from the vote on a company she held. FPPC range bands are stored verbatim and cannot be summed into a net worth.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: id source state muni_id official_name role disclosure_year income_summary source_url external_id updated_at

Browse official_disclosures →

official_elections

Sitting officials matched to the election they won.

1,613 rows · grain: one official-election

top sources: bigcounty, ceda, sos, clarity, wa_sos

Watch out. `match_method` records how the link was made.

columns: muni_id member_name matched_candidate office election_date votes is_winner source match_method total_votes_in_race election_type created_at

Browse official_elections →

officials

Names seen holding a seat on a body, derived from meeting records.

237 rows · grain: one person on one body · machine-extracted

Watch out. Attendance-derived, so it reflects who appears in documents, not a certified roster. `people` is the canonical layer; this is the raw observation.

columns: id muni_id body_name name role first_seen_date last_seen_date meeting_count updated_at

Browse officials →

openmeetings_findings

State open-meetings-law determinations: findings that a body violated the law.

4,073 rows · grain: one determination · 2 states

top sources: MA AG Division of Open Government (OnBase public access, QueryID 104), Iowa Public Information Board formal-complaint rulings (ipib.iowa.gov)

Watch out. State-level bodies are deliberately not attributed to a municipality.

columns: finding_id state muni_id entity_name body_name body_kind body_scope body_scope_norm attribution county determination_number determination_date action_type statute finding finding_raw remedy document_id source source_url updated_at

Browse openmeetings_findings →

pension_state

State pension holdings by government type.

96 rows · grain: one holding · 51 states

columns: state year govtype govtype_label total_holdings total_contributions gov_contributions employee_contributions total_benefits_paid num_systems total_membership beneficiaries holdings_to_benefits gov_contrib_share source_url updated_at

Browse pension_state →

people

Canonical elected officials, derived from roll calls and elections.

19,875 rows · grain: one person

Watch out. Name matching is conservative and scoped within one government. Count DISTINCT person_id, never rows.

columns: person_id canonical_name muni_id body_name role first_seen_vote last_seen_vote n_votes n_meetings aliases sources confidence match_method updated_at

Browse people →

people_aliases

Alternate spellings of a person's name.

21,032 rows · grain: one alias

columns: muni_id raw_name person_id n_votes updated_at

Browse people_aliases →

people_cf_bridge

Link between an official and their campaign-finance filer record.

196 rows · grain: one person-filer link

Watch out. Carries `confidence` and `match_method` — filter on them. A name match across jurisdictions is not proof of identity.

columns: person_id cf_source cf_filer_key cf_filer_name cf_filer_id muni_id office n_txns match_method confidence evidence updated_at

Browse people_cf_bridge →

people_cf_candidates

Campaign-finance filers identified as candidates.

11 rows · grain: one filer

columns: cf_source cf_filer_key cf_filer_name muni_id office n_txns person_id candidate_person_ids reason status evidence updated_at

Browse people_cf_candidates →

person_vote_stats

Per-official voting summary: yeas, nays, abstentions, absences.

19,875 rows · grain: one person in one government

Watch out. Only meaningful where the government publishes roll calls. A low n_votes usually means thin publication, not an absent official.

columns: person_id muni_id canonical_name n_votes n_yea n_nay n_abstain n_present n_absent n_other n_meetings n_decided n_contested n_dissents dissent_rate attendance_rate first_seen_vote last_seen_vote updated_at

Browse person_vote_stats →

police_stops_rollup

Traffic and pedestrian stops aggregated by agency, year and race.

2,384 rows · grain: one agency-year-race · 27 states

top sources: Stanford Open Policing Project

Watch out. Rates require a denominator this table does not supply. Do not compute disparity without one, and note that agencies differ in what they record as a stop.

columns: muni_id agency state geography year race n_stops n_searches n_arrests n_contraband n_citations search_rate hit_rate arrest_rate source source_url data_license citation updated_at

Browse police_stops_rollup →

professional_licenses

State professional and occupational licences.

7,055,094 rows · grain: one licence · 7 states

top sources: data.wa.gov/qxh8-f4bd, data.ct.gov/ngch-56tr, data.colorado.gov/7s5z-vewr, data.texas.gov/tm3v-pfq9, data.texas.gov/kxv3-diwf, data.texas.gov/s7ft-44qi

Watch out. Several boards publish NO address, so those rows are state-level only. Some sources are active-only snapshots with no status column — absence of a sanction is not a clean record.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: row_id state board license_type licensee_name business_name license_no status issue_date expiry_date disciplinary_flag city muni_id source source_url updated_at

Browse professional_licenses →

property_sales

Recorded property sales and assessed values.

37,811 rows · grain: one sale · 2 states

top sources: MassGIS Statewide Property Tax Parcels, FL DOR Statewide Cadastral 2025

Watch out. Florida and Massachusetts only.

columns: state parcel_id muni_id address owner sale_price sale_date assessed_value land_value land_use source source_url updated_at

Browse property_sales →

public_salaries

Per-employee public salary datasets.

916,673 rows · grain: one employee-year

Watch out. `redacted` marks rows where the publisher withheld the name. base_pay + overtime do not always reconcile to total_pay; quote the column the publisher published.

columns: muni_id dataset_id record_id employee_name job_title department base_pay overtime total_pay year redacted source_domain source_url updated_at

Browse public_salaries →

roundups

A weekly newspaper-style recap of one town's meetings.

4,713 rows · grain: one town-week · machine-extracted

Watch out. Editorial summary, not a record. Cite the underlying meeting, never the roundup.

columns: muni_id week_of headline article_html article_md created_at

Browse roundups →

school_finance

Texas PEIMS district spending by function.

119,360 rows · grain: one district-year-function

Watch out. Texas only.

columns: muni_id year function_code function_name amount updated_at

Browse school_finance →

school_stats

Enrollment, spending and reading/math proficiency by district.

956 rows · grain: one district-year

Watch out. National. Compare within a year and state.

columns: muni_id leaid enrollment teachers_fte schools_count per_pupil_spending revenue_total year updated_at read_pct_proficient math_pct_proficient frpl_pct assessment_year

Browse school_stats →

service_requests_recent

311 service requests, recent detail rows.

100 rows · grain: one request

columns: muni_id dataset_id request_id category status created_date source_domain updated_at

Browse service_requests_recent →

service_requests_rollup

311 service requests, aggregated monthly by category.

6,874 rows · grain: one place-month-category

columns: muni_id category period_month count source_domain source_url dataset_id updated_at

Browse service_requests_rollup →

settlements

Legal settlements approved in public meetings.

1,294 rows · grain: one settlement · 40 states · spans 2010-04-20 to 2026-07-21 · machine-extracted

top sources: agenda, minutes

Watch out. Extracted from minutes; confirm against the source before quoting.

columns: id candidate_id meeting_id muni_id city state country meeting_date body_name category claimant defendant amount amount_type case_no court incident_summary settlement_date funding_source quote snippet source source_document mytown_record model grounded dup_rank created_at

Browse settlements →

staar_results

Texas STAAR results by district, year, grade and subject.

53,321 rows · grain: one district-year-grade-subject

Watch out. Texas only.

columns: muni_id year grade subject approaches_pct meets_pct masters_pct updated_at

Browse staar_results →

state_bills

State legislature bills.

1,454,904 rows · grain: one bill · 50 states

Watch out. All 50 states, but see state_votes for the roll-call ceiling.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: state session bill_id openstates_id title classification subjects status latest_action_date sponsors source_url updated_at

Browse state_bills →

state_legislators

State legislators.

21,596 rows · grain: one legislator · 50 states

columns: openstates_id state name party district chamber current source_url updated_at

Browse state_legislators →

state_votes

State legislature vote events and tallies.

1,175,161 rows · grain: one vote event · 50 states

Watch out. Tallies exist for 50 states; usable PER-MEMBER roll calls only for about 46. Missouri publishes essentially none. Biennial legislatures correctly have no even-year votes.

Large table — filter before browsing, and prefer a prepared query or the bulk download over paging through it.

columns: vote_id state session bill_id motion classification result vote_date chamber yes_count no_count other_count source_url updated_at member_vote_count

Browse state_votes →

surveillance_spending

Police and surveillance technology purchases extracted from local decisions.

4,059 rows · grain: one purchase line · 53 states · machine-extracted

Watch out. A published total from this table was once 2.9x too high. Use the prepared 'conservative total' query and read the data-quality query beside it. Never sum the raw column.

columns: vendor city state spend_date product amount quote source_document mytown_record ledger amount_type dup_rank geo_suspect anomaly state_norm

Browse surveillance_spending →

usda_rd_properties

USDA Rural Development multifamily properties.

12,420 rows · grain: one property · 53 states

top sources: USDA Rural Development Multi-Family Housing Program Exit Data (sc.egov.usda.gov)

columns: borrower_id project_id project_check_digit mfis_key muni_id match_method place_geoid cousub_geoid county_fips report_date property_name city state zip latitude longitude total_units vacant_units rental_assistance_units rental_type section_program revitalization tax_credit tax_credit_expires management_name borrower_name borrower_type borrower_city_state estimated_exit_date estimated_exit_year restrictive_clause_expires_year loan_payoff_year prepay_eligible prepay_eligible_year fy_of_loan_obligation interest_rate_at_closing loan_amount balloon_payment remaining_term_days orig_loan_term_years natural_maturity_date upb_maturity_date date_of_operation source source_url data_license updated_at

Browse usda_rd_properties →

warn_notices

WARN Act mass-layoff notices.

2,807 rows · grain: one notice · 12 states

top sources: Texas Workforce Commission (Socrata 8w53-c4f6), Oregon HECC/OWI (Socrata ijbz-jpx8), California EDD (warn_report1.xlsx)

Watch out. Only layoffs above the WARN threshold are reported.

columns: uid state employer city county muni_id num_affected notice_date effective_date layoff_type reason source source_url updated_at

Browse warn_notices →

water_violations

Safe Drinking Water Act violations.

21,405 rows · grain: one violation · 4 states

Watch out. A violation includes monitoring and reporting failures, not only contamination.

columns: muni_id pwsid system_name state city_served county_served population_served year violation_count health_based_count source_url data_license updated_at

Browse water_violations →

Bulk download

To load this into your own tools, do not scrape the portal — the whole corpus is published as Parquet and SQLite on HuggingFace, CC BY 4.0.

Questions, or a number you want checked before it goes to print: [email protected]

Powered by Datasette