Public API
CivicGate's public data is a read-only GraphQL API. No key, no signup β just query. Every field traces to an official source, so you get provenance for free.
Try it
curl -s https://api.civicgate.org/graphql \
-H 'content-type: application/json' \
-d '{"query":"{ billsPage(limit:3){ bills{ number title status } total } }"}'
That is the whole setup. POST https://api.civicgate.org/graphql, no credential.
What's here
Reference β Every query, mutation and type β 246 queries, 84 mutations, 410 types. Generated from the live schema. Guide β Credentials, rate limits, error handling and worked examples. Changelog β What changed in the schema, and when. Widgets β Drop CivicGate data into your own page with no code.
The short version
- Read-only. Mutations are rejected here. Account actions need a session or an Application, on civicgate.org.
- Rate limit. 300 requests/minute for anonymous callers, charged per IP. An API key gets you a per-identity budget; higher tiers exist.
- Introspection is on β point any GraphQL client (Apollo Sandbox, Insomnia, GraphiQL) at the endpoint and browse.
- Bulk data. For whole datasets prefer the CSV/JSON exports (
/export/bills.csv,/export/people.csv, add?format=json) β one request beats ten thousand.
Terms
CivicGate aggregates public records; each carries a link to its official source β cite the upstream source (Congress.gov, FEC, USAspending, and so on) as well as CivicGate. Be polite: cache responses and stay within the rate limit. Provided as-is for civic, research and journalistic use.