Loading CIV.IQ
Preparing your civic information dashboard
Preparing your civic information dashboard
Open REST API for normalized U.S. government data. No API key required. Rate limited to 60 requests per minute.
https://civdotiq.org/api/v1All endpoints return JSON with a consistent envelope:
{
"data": "{ ... }",
"pagination": "{ total, limit, offset, hasMore }",
"meta": {
"apiVersion": "v1",
"timestamp": "2025-01-15T12:00:00.000Z",
"source": "congress.gov",
"license": "MIT",
"documentation": "https://civdotiq.org/docs/api"
}
}The pagination field is only present on list endpoints.
{
"error": {
"code": 404,
"message": "Representative not found"
},
"meta": {
"apiVersion": "v1",
"timestamp": "..."
}
}All endpoints are rate limited to 60 requests per minute per IP. Rate limit status is returned in response headers:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests per window |
| X-RateLimit-Remaining | Remaining requests in current window |
| X-RateLimit-Reset | Unix timestamp when window resets |
/representativesList all current members of Congress with optional filtering.
chamber("house" | "senate")— Filter by chamberstate(string)— Two-letter state code (e.g., MI)party("D" | "R" | "I")— Filter by partylimit(integer)— Results per page (default: 100, max: 535)offset(integer)— Pagination offset (default: 0)curl https://civdotiq.org/api/v1/representatives?state=MI&chamber=house
/representatives/{bioguideId}Get detailed info for a specific member of Congress.
curl https://civdotiq.org/api/v1/representatives/P000197
/billsList latest bills from Congress.
sort(string)— Sort order: "updateDate+desc", "updateDate+asc", "number+desc", "number+asc"limit(integer)— Results per page (default: 50, max: 250)offset(integer)— Pagination offset (default: 0)curl https://civdotiq.org/api/v1/bills?limit=10
/bills/{billId}Get bill detail. Bill ID format: {congress}-{type}-{number}.
curl https://civdotiq.org/api/v1/bills/119-hr-1
/bills/{billId}/summaryGet cached AI-generated plain-language summary. Does not trigger live AI generation.
curl https://civdotiq.org/api/v1/bills/119-hr-1/summary
/votes/{voteId}Get roll-call vote details with individual member positions. Vote ID format: {chamber}-{congress}-{rollNumber}.
curl https://civdotiq.org/api/v1/votes/house-119-116
/districts/{districtId}Get district info and its representatives. District ID format: {state}-{district} (e.g., MI-12, AK-AL).
curl https://civdotiq.org/api/v1/districts/MI-12
/committeesList congressional committees.
chamber(string)— Filter by chamberlimit(integer)— Results per page (default: 100, max: 250)offset(integer)— Pagination offset (default: 0)curl https://civdotiq.org/api/v1/committees?limit=10
/committees/{committeeId}Get committee detail with members and subcommittees.
curl https://civdotiq.org/api/v1/committees/HSJU
Subscribe to real-time updates via any RSS/Atom reader. All feeds return application/atom+xml.
/feed/member/{bioguideId}Activity feed for a member of Congress including recent votes and sponsored bills.
curl https://civdotiq.org/api/feed/member/P000197
/feed/bills/latestLatest bills introduced in Congress.
curl https://civdotiq.org/api/feed/bills/latest
/feed/district/{districtId}Activity feed for a congressional district including cached bill impacts.
curl https://civdotiq.org/api/feed/district/MI-12
/feed/bill/{billId}Status updates for a specific bill.
curl https://civdotiq.org/api/feed/bill/119-hr-1
/feed/committee/{committeeId}Activity feed for a congressional committee.
curl https://civdotiq.org/api/feed/committee/HSJU
All /api/v1/ and /api/feed/ endpoints include Access-Control-Allow-Origin: *. You can call them directly from browser-side JavaScript.
An OpenAPI 3.0 specification is available for code generation and API tooling.
Data served by these API endpoints comes from: Congress.gov API, House Clerk, Senate.gov, GovInfo, FEC, and USASpending.gov. See the full list on the Open Data page.