Public API
CivicGate exposes its public data through a read-only GraphQL API. No key, no signup — just query. Every field traces to an official source, so you get provenance for free.
Endpoint
POST https://api.civicgate.org/graphql - Read-only. Queries only — mutations are rejected. Account actions live on civicgate.org.
- Rate limit. 600 requests/minute per IP. Need more? The stack is self-hostable.
- Introspection is on — point any GraphQL client (Apollo Sandbox, Insomnia, GraphiQL) at the endpoint to browse the schema.
- Bulk data. For whole datasets, prefer the CSV/JSON exports (e.g.
/export/bills.csv,/export/people.csv, add?format=json).
Example — a quick curl
curl -s https://api.civicgate.org/graphql \
-H 'content-type: application/json' \
-d '{"query":"{ billsPage(limit:3){ bills{ number title status } total } }"}' Example — federal agency awards
query {
agency(id: "agency-097") {
name
totalCents
topAwards { recipientName amountCents awardType }
}
} Explore the full schema via introspection. Common roots: bills, people, billsPage, funding, agency, agencies, fundingByState, elections.
Terms
CivicGate aggregates public records; each carries a link to its official source — cite the upstream source (e.g. Congress.gov, FEC, USAspending) as well as CivicGate. Be polite: cache responses and stay within the rate limit. This API is provided as-is for civic, research, and journalistic use.