Congress.gov API
active Ingestion health: delivering Legislative · Tier 1 · API · Library of Congress
Official site (opens in a new tab) · All sources
What this source is
The Library of Congress's official API for structured legislative data: committee meetings with witnesses and documents, nominations, treaties, bill actions and cosponsors, House roll-call votes (beta), daily Congressional Record metadata, and CRS reports. Fills the committee-activity and nominations coverage the pipeline currently lacks entirely.
The Library of Congress's official API provides structured access to legislative data including bill actions, committee meetings, nominations, and Congressional Record metadata.
Congress.gov is the official website of the United States Congress and the legislative branch. It provides the public with access to information about bills, resolutions, members of Congress, committee activities, nominations, treaties, and the Congressional Record.
The Library of Congress maintains Congress.gov and publishes an official API that provides structured access to legislative data. The API exposes several categories of information: bill and resolution records with metadata and action histories, committee meeting schedules and witness lists, committee documents, nominations sent to the Senate for confirmation, treaties submitted to the Senate, congressional research reports, and metadata about Congressional Record publications.
This digest currently ingests bill actions through the Congress.gov API. Bill actions are recorded every time a bill or resolution is acted upon—when it is introduced, referred to committee, debated, voted on, passed or rejected, sent to the President, or signed into law. The API exposes the most recent action for each bill and allows querying by date to find bills acted upon recently. The API does not expose the full history of all actions on a bill, but rather the latest action and related metadata.
The API requires an API key, which the FAPD pipeline holds. Rate limits are set well above current usage levels.
The Congress.gov API fills important coverage gaps in the federal publication record. It provides the earliest official access to committee activity, nominations, and bill actions—information that is not published through the Federal Register or govinfo. This digest publishes bill actions from this API, representing legislative activity that would otherwise not appear in the federal record as captured by this system. This source is valuable for readers interested in tracking legislative activity, monitoring bills of interest, following nominations, or understanding the actions and proceedings of Congress.
Model-written orientation, generated 2026-08-05 by haiku, prompt version 1. It may draw on general knowledge of public institutions and is not official-record content.
Identity and registry record
- Registry id
congress-gov-api- Agency / parent organization
- Library of Congress
- Branch
- legislative
- Type
- API
- Status
- active
- Tier
- 1
- URL (home)
- https://github.com/LibraryOfCongress/api.congress.gov (opens in a new tab)
- URL (index)
- https://api.congress.gov/v3/bill (opens in a new tab)
- Registered
- 2026-07-28
- Registry notes
- Documented rate limit 5,000 req/hour — far above our §4 posture. Endpoint docs read from the official LoC GitHub repo 2026-07-28 (incl. CommitteeMeetingEndpoint.md, CRSReportEndpoint.md). The crsreport endpoint is registered separately as crs-reports. Senate votes are NOT here (House only) — see senate-xml. Gate 3 (2026-07-31, live through the identified client, ONE endpoint only): the api.data.gov key we already hold authenticates here (200 with data), and /v3/bill answers JSON. What the source publishes in total vs what we see: the endpoint enumerates 429,331 bill records across all Congresses and exposes, per record, ONLY the measure's identity and its LATEST action — not the full action history, not cosponsors, not text; the committee-meeting, nomination, treaty and beta House-roll-call endpoints this entry also describes are NOT ingested and stay future work. Volume measured: 749 records were updated across 2026-07-30 and 350 by 19:20 ET on 07-31, against a page of 250 per poll and an hourly collector — roughly 8x headroom on the observed ~31/hour update rate, with the loop's dedupe accumulating a day across polls; a burst of >250 updates inside one poll interval is the one loss case and is not currently detected. Three limits disclosed rather than papered over: (a) actionDate (when it happened) is not updateDate (when the record changed) — 250 records all updated 07-31 carried actions from 1997 to 07-30, so items are dated and bounded by actionDate; (b) the record is published the morning AFTER the action (0 actions dated 07-31 anywhere on the page; 97 dated 07-30; the bulk of a day's actions entered between 08:00 and 12:00 UTC the next day), so BILLACTIONS is dated by the publisher like govinfo collections and the lag is a standing digest disclosure; (c) two actions on one bill on one day collapse to a single item, because only the latest is exposed. The cited link is the www.congress.gov bill page, which answers 403 to our identified client (verified on three bill URLs) — hence wants_article() is False: we ingest what the API offers and never force what the website refuses. Sending sort as a pre-encoded 'updateDate%2Bdesc' made the service return ASCENDING order (records from 1995), so the parameter is passed with a literal space and the order is verified by reading dates, never assumed.
How we ingest it
- Channel
- API
- Method
- Conditional GET of one page of the bill endpoint per poll (limit=250, sort=updateDate+desc, api.data.gov key in request PARAMETERS so the fetch log redacts it). The congress-bill-actions adapter emits one item per bill whose latestAction.actionDate falls inside config.INDEX_LOOKBACK_DAYS and never fetches an article page. Stored under the BILLACTIONS collection (GUIDE §3 bill actions), dated by the publisher's actionDate, never AGENCYPR.
- Adapter
- congress-bill-actions
- Poll cadence
- about every 60 minutes while the collector runs
- Request budget
- the agency class: at most 3,000 requests per day shared across every agency web source, counted from the fetch log (failed requests count too)
- Politeness
- robots.txt is honored as observed — including each host's crawl-delay, exactly — and every request identifies itself as fapd/0.1 (Free Agentic Publication Digester; +https://fapd.info/bot.html; contact: hustleyourcity@gmail.com); a refusal is recorded, never evaded
- Capture and hash
- captured raw content is hashed (SHA-256) into the day's committed provenance manifest, hash-chained day to day (PROVENANCE.md)
Ingestion health
Ingestion health: delivering 772 item(s) in the last 14 days; most recent 2026-09-28; 13 of 350 request(s) to api.congress.gov returned no content.
This label has held since 2026-08-03T18:46:01Z (UTC) and was last re-checked 2026-09-29T09:47:01Z (UTC).
Counts are of our own requests, retries included. A 4xx or 5xx is the server declining to return content — that may be load, maintenance, on-demand generation, or a limit the publisher sets, and we cannot tell which from outside. Nothing here is a measurement of the publisher.
Ingestion statistics
These figures describe this project's ingestion of this source — items we recorded and requests we made — and nothing else. They are not a measurement of the publisher.
Last 24 hours
Last 24 hours: 29 request(s) (28 answered, 1 returned no content) · 32 item(s) ingested
Last 14 days
Items ingested: 772 in 14 days (55.14 per day) · most recent 2026-09-28
Content length: 438 characters average, 422 median (shortest 247, longest 964)
Delivery mode: feed-only — the feed's own summary — the source publishes no more than this through this channel
Our requests to api.congress.gov: 350 request(s) · 337 answered · 13 declined (4xx) · 0 server declined (5xx) · 0 no response — 3.7% returned no content
last answered request 2026-09-29T09:08:57.576+00:00 UTC.
772 item(s) in the last 14 days; most recent 2026-09-28; 13 of 350 request(s) to api.congress.gov returned no content.
All time
Our requests to api.congress.gov, all time (since 2026-08-01): 1,705 request(s) · 1,638 answered · 67 returned no content
Request counts begin 2026-07-30, the day this service went into production; earlier development-machine traffic is excluded. Counts before 2026-08-03 include unmarked source-probe traffic; probes are labeled and excluded thereafter.
Last 30 days, day by day
Each day runs midnight to midnight on Eastern time (Washington, D.C.), the publication day the digests use; the stored request stamps remain UTC.
| Day | requests |
|---|---|
| 2026-08-31 | 26 |
| 2026-09-01 | 26 |
| 2026-09-02 | 26 |
| 2026-09-03 | 26 |
| 2026-09-04 | 26 |
| 2026-09-05 | 33 |
| 2026-09-06 | 27 |
| 2026-09-07 | 26 |
| 2026-09-08 | 26 |
| 2026-09-09 | 26 |
| 2026-09-10 | 25 |
| 2026-09-11 | 26 |
| 2026-09-12 | 29 |
| 2026-09-13 | 26 |
| 2026-09-14 | 30 |
| 2026-09-15 | 26 |
| 2026-09-16 | 26 |
| 2026-09-17 | 26 |
| 2026-09-18 | 26 |
| 2026-09-19 | 26 |
| 2026-09-20 | 26 |
| 2026-09-21 | 28 |
| 2026-09-22 | 26 |
| 2026-09-23 | 25 |
| 2026-09-24 | 25 |
| 2026-09-25 | 26 |
| 2026-09-26 | 26 |
| 2026-09-27 | 27 |
| 2026-09-28 | 29 |
| 2026-09-29 | 8 |
| Day | items |
|---|---|
| 2026-08-31 | 43 |
| 2026-09-01 | 51 |
| 2026-09-02 | 37 |
| 2026-09-03 | 69 |
| 2026-09-04 | 8 |
| 2026-09-05 | 0 |
| 2026-09-06 | 0 |
| 2026-09-07 | 0 |
| 2026-09-08 | 41 |
| 2026-09-09 | 0 |
| 2026-09-10 | 62 |
| 2026-09-11 | 4 |
| 2026-09-12 | 0 |
| 2026-09-13 | 0 |
| 2026-09-14 | 174 |
| 2026-09-15 | 131 |
| 2026-09-16 | 252 |
| 2026-09-17 | 137 |
| 2026-09-18 | 2 |
| 2026-09-19 | 0 |
| 2026-09-20 | 0 |
| 2026-09-21 | 27 |
| 2026-09-22 | 33 |
| 2026-09-23 | 77 |
| 2026-09-24 | 207 |
| 2026-09-25 | 6 |
| 2026-09-26 | 0 |
| 2026-09-27 | 0 |
| 2026-09-28 | 31 |
| 2026-09-29 | 0 |
| Day | ms |
|---|---|
| 2026-08-31 | 314 |
| 2026-09-01 | 946 |
| 2026-09-02 | 499 |
| 2026-09-03 | 539 |
| 2026-09-04 | 361 |
| 2026-09-05 | 418 |
| 2026-09-06 | 306 |
| 2026-09-07 | 296 |
| 2026-09-08 | 310 |
| 2026-09-09 | 318 |
| 2026-09-10 | 336 |
| 2026-09-11 | 315 |
| 2026-09-12 | 436 |
| 2026-09-13 | 294 |
| 2026-09-14 | 464 |
| 2026-09-15 | 317 |
| 2026-09-16 | 342 |
| 2026-09-17 | 447 |
| 2026-09-18 | 465 |
| 2026-09-19 | 295 |
| 2026-09-20 | 318 |
| 2026-09-21 | 368 |
| 2026-09-22 | 296 |
| 2026-09-23 | 319 |
| 2026-09-24 | 320 |
| 2026-09-25 | 358 |
| 2026-09-26 | 717 |
| 2026-09-27 | 354 |
| 2026-09-28 | 991 |
| 2026-09-29 | 268 |
Our ingestion assessment
The Congress.gov bill-actions endpoint delivered 287 items over 14 days at 20.5 per day, up from 14.36 per day in the prior assessment. The most recent item is dated 2026-09-03. Each item represents a bill whose latest action falls within our lookback window; the endpoint exposes only the latest action per bill, not the full action history. Request success was 331 of 345 answered (4.1% no-response), consistent with the 96.2% success rate reported previously. Daily item counts showed substantial variation: 70 items 2026-09-04, 49 items 2026-09-03, 39 items 2026-09-02, 43 items 2026-09-01. The API's documented 5,000-request-per-hour limit far exceeds our observed throughput. Committee meetings, nominations, treaties, and House roll-call votes are documented endpoints not yet covered; CRS reports are registered separately.
Model-written assessment of our own ingestion, generated 2026-09-05 by haiku, prompt version 1, trigger: age-30d. It restates our measured figures and is not official-record content.