v0.4: free mode
A civic robot you own, running on free public APIs.
civicbot is an open-source robot for X. You @mention your robot to ask about weather, air quality, transit, tides, earthquakes, recalls, holidays and nearby 311 reports. It can also draft a 311 report for you. The software is free. So are the 37 built-in catalog skills and the 120 public APIs listed here, each checked live.
Use it free in Grok Try it in your browser Browse free APIs Run your own robot
Quickstart (no X account needed)
pip install civicbot
civicbot chat --free --city "Bloomington, IN" # talk to your robot in the terminal
civicbot chat --offline -c "weather tomorrow" # recorded sample data, no network at all
civicbot simulate --demo skills --offline # watch two robots learn skills (nothing is posted)
civicbot apis --category Transit # the verified free-API directory
civicbot skill catalog # every catalog skill and its review status
Python 3.10+. Chatting and simulating never contact X and never file a 311 request.
What “free mode” means
Free, keyless skills only
--free, CIVICBOT_FREE=1 or profile
plan: free. The robot only learns catalog skills tagged cost: free that need no API key.
It refuses skills from URLs and files.
311 stays a dry run
The robot still finds your city's 311 service and drafts the report. In free mode it never files one, even if sending is enabled.
Nothing removed
Every v0.3 feature still works: bring-your-own-robot OAuth, user-taught skills, encrypted secrets and write skills behind a YES. Free mode is an add-on, not a fork.
Honest about X
The software and these APIs are free. Posting on X through its API is pay-per-use. See the cost section of the guide for the options that cost nothing.
Skills your robot can learn
Say @yourrobot learn <skill>. Every skill below makes read-only GET requests to one
allow-listed domain. Each was reviewed and checked live, and is pinned by sha256.
How it works
1. You own the robot
Create a separate X account for your robot and connect it with OAuth 2.0 PKCE. It only answers you (plus anyone you allowlist), and only after you consent.
2. Skills are JSON
A skill is a small reviewed spec: triggers, one GET request, and reply templates. It has no code, no links in replies and no @mentions, and SSRF-guarded fetches run under rate limits.
3. Free APIs do the work
Open-Meteo, NWS, USGS, NOAA, FEMA, openFDA, NHTSA, MBTA, TfL, IPMA, Wikipedia, Open Library and more. See the directory.