Thanks to visit codestin.com
Credit goes to github.com

Skip to content

az-civic-tools/az-civic-tools

AZ Civic Tools

Free, open-source civic engagement tools for Arizona advocacy groups. Find your legislators, track bills, and help your community participate in the political process.

No frameworks. No build step. Just HTML, CSS, and JS you can drop into any website.

Available Tools

Tool Status Description
Cactus Watch Live Real-time bill tracker for the Arizona Legislature with a free public API
District Finder Live Interactive map — find your Senator and Representatives by address or district

Cactus Watch — Bill Tracker

Cactus Watch tracks every bill in the Arizona Legislature and serves the data through a free, public API. Updated daily at 6:00 AM Arizona time.

What You Get

  • Every bill from the current session — House, Senate, resolutions, memorials, joint resolutions
  • Sponsors and cosponsors with party affiliation
  • Committee votes — which committees acted, how they voted
  • Floor votes — how every individual legislator voted on every bill
  • Bill status — from introduction through committee, floor votes, and governor action
  • Deadline-based dead bill detection — bills that miss procedural deadlines are automatically marked dead, with resurrection when activity resumes
  • Strike-everything amendments — flags bills whose content has been replaced via striker amendments
  • Plain-language overviews — scraped from azleg.gov fact sheets for bills with upcoming hearings
  • RTS (Request to Speak) agendas — upcoming committee hearings with direct links to submit testimony
  • Organization recommendations — curated positions from advocacy orgs (CEBV, Secular AZ, SOS Arizona)
  • Search and filter — by chamber, status, sponsor, bill type, keyword, active/inactive, or upcoming hearing

Use the API

No API key needed. Just fetch and go.

# Get all bills
curl "https://cactus.watch/api/bills"

# Search for education bills
curl "https://cactus.watch/api/bills?search=education"

# House bills that passed committee
curl "https://cactus.watch/api/bills?chamber=H&status=passed_committee"

# Only active bills (excludes dead, vetoed, signed, held)
curl "https://cactus.watch/api/bills?status=__active__"

# Bills with upcoming hearings
curl "https://cactus.watch/api/bills?hearing=1"

# Full detail on a specific bill (sponsors, votes, RTS agendas, org recommendations)
curl "https://cactus.watch/api/bills/HB2839"

# Upcoming committee hearings with bill data
curl "https://cactus.watch/api/hearings"

# RTS agenda items for a specific bill
curl "https://cactus.watch/api/rts/HB2839"

# Organization bill recommendations
curl "https://cactus.watch/api/orgs"

# Session metadata and bill count summary
curl "https://cactus.watch/api/meta"

# Bills that changed since a date (for syncing)
curl "https://cactus.watch/api/bills/sync?since=2026-03-01"

Filter Options

Filter Values Example
Chamber H (House), S (Senate) ?chamber=H
Status introduced, in_committee, passed_committee, on_floor, passed_house, passed_senate, passed_both, to_governor, signed, vetoed, dead, held, __active__, __inactive__ ?status=signed
Type bill, memorial, resolution, concurrent_resolution, joint_resolution ?type=bill
Sponsor Any name (partial match) ?sponsor=Smith
Search Keywords in title, number, or description ?search=water+rights
Hearing 1 to show only bills with upcoming hearings ?hearing=1
Sort number, updated_at, date_introduced, status, sponsor ?sort=date_introduced&order=asc
Pagination page (default 1), limit (default 50, max 200) ?page=2&limit=100

Full API documentation: Wiki — API Reference


District Finder

Interactive map of Arizona's 30 legislative districts. Search by address or click the map to find your Senator and Representatives.

Live Demo

Embed in Your Website

Paste this into your HTML:

<iframe
  src="https://az-civic-tools.github.io/az-civic-tools/tools/district-finder/district-finder.html"
  width="100%"
  height="900"
  frameborder="0"
  style="border: none;"
></iframe>

That's it. Works on any website.

Fork and Customize

git clone https://github.com/az-civic-tools/az-civic-tools.git
cd az-civic-tools/tools/district-finder
  • Edit themes/default.css to change colors, fonts, and spacing
  • Edit data/legislators.json to update legislator information
  • Deploy to any static host (GitHub Pages, Cloudflare Pages, Netlify, etc.)

Use as a JS Widget

<link rel="stylesheet" href="path/to/themes/default.css">
<link rel="stylesheet" href="path/to/district-finder.css">
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css">

<div id="my-district-finder"></div>

<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
<script src="path/to/district-finder.js"></script>
<script>
  AZDistrictFinder.init({
    container: '#my-district-finder',
    dataUrl: 'path/to/legislators.json',
    geojsonUrl: 'path/to/az-districts.geojson',
    source: 'My Organization',
    sourceUrl: 'https://myorg.org'
  });
</script>

URL Parameters

  • ?district=7 — Pre-select a district on load
  • ?source=My+Org — Set the copy-markdown attribution

Theming

Override CSS custom properties (all prefixed --df-) to match your brand:

:root {
  --df-font-heading: 'Your Font', sans-serif;
  --df-color-primary: #2E5090;
  --df-color-accent: #E8A317;
}

More guides: Wiki — Customizing Colors & Fonts


Data Sources

Contributing

See CONTRIBUTING.md for guidelines. We welcome data corrections, new themes, bug fixes, and new tools.

Documentation

Visit the Wiki for detailed technical docs:

License

MIT — Use it however you want. No attribution required.

About

Free, open-source civic engagement tools for Arizona — bill tracker, district finder, legislative guides

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors