# Bulk data and feeds

- **Any page as Markdown**: add `.md` to the URL (for example [/ward/1.md](https://www.chicagopolitics.org/ward/1.md); the home page is [/index.md](https://www.chicagopolitics.org/index.md)) or send `Accept: text/markdown`. Every page is in the [sitemap](https://www.chicagopolitics.org/sitemap.xml).
- **For LLMs**: [llms.txt](https://www.chicagopolitics.org/llms.txt) and [llms-full.txt](https://www.chicagopolitics.org/llms-full.txt).
- **Bulk JSON** (API key), refreshed daily: [alderpersons.json](https://www.chicagopolitics.org/data/alderpersons.json), [legislation.json](https://www.chicagopolitics.org/data/legislation.json), [committees.json](https://www.chicagopolitics.org/data/committees.json), [meetings.json](https://www.chicagopolitics.org/data/meetings.json), [insights.json](https://www.chicagopolitics.org/data/insights.json), [network.json](https://www.chicagopolitics.org/data/network.json), [predictions.json](https://www.chicagopolitics.org/data/predictions.json), [graph.json](https://www.chicagopolitics.org/data/graph.json), and [wards.geojson](https://www.chicagopolitics.org/data/wards.geojson). In legislation.json, `votes` is a 50-character string with one code per ward: Y yea, N nay, A absent, R recused, E excused, V not voting, - not in office.
- **Feeds**: the [meeting calendar (.ics)](https://www.chicagopolitics.org/api/calendar.ics) (`?committee=slug`) and an RSS feed per ward at `/api/feeds/ward/{n}.rss`.

---
Source: https://www.chicagopolitics.org/developers/bulk-data · Chicago Politics, an independent, nonpartisan tracker of the Chicago City Council. Guide for agents: https://www.chicagopolitics.org/llms.txt
