Congress.gov API

active Ingestion health: delivering Legislative · Tier 1 · API · Library of Congress

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.

Model-written orientation

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.

Requests per day to api.congress.gov: 780 requests over the last 30 days (peak 33 on 2026-09-05).
Requests per day to api.congress.gov: 780 requests over the last 30 days (peak 33 on 2026-09-05).
Dayrequests
2026-08-3126
2026-09-0126
2026-09-0226
2026-09-0326
2026-09-0426
2026-09-0533
2026-09-0627
2026-09-0726
2026-09-0826
2026-09-0926
2026-09-1025
2026-09-1126
2026-09-1229
2026-09-1326
2026-09-1430
2026-09-1526
2026-09-1626
2026-09-1726
2026-09-1826
2026-09-1926
2026-09-2026
2026-09-2128
2026-09-2226
2026-09-2325
2026-09-2425
2026-09-2526
2026-09-2626
2026-09-2727
2026-09-2829
2026-09-298
Items ingested per day: 1,392 items over the last 30 days (peak 252 on 2026-09-16).
Items ingested per day: 1,392 items over the last 30 days (peak 252 on 2026-09-16).
Dayitems
2026-08-3143
2026-09-0151
2026-09-0237
2026-09-0369
2026-09-048
2026-09-050
2026-09-060
2026-09-070
2026-09-0841
2026-09-090
2026-09-1062
2026-09-114
2026-09-120
2026-09-130
2026-09-14174
2026-09-15131
2026-09-16252
2026-09-17137
2026-09-182
2026-09-190
2026-09-200
2026-09-2127
2026-09-2233
2026-09-2377
2026-09-24207
2026-09-256
2026-09-260
2026-09-270
2026-09-2831
2026-09-290
Daily mean response time of api.congress.gov: between 268 and 991 ms across the last 30 days (days without a timed request are gaps, not zeroes).
Daily mean response time of api.congress.gov: between 268 and 991 ms across the last 30 days (days without a timed request are gaps, not zeroes).
Dayms
2026-08-31314
2026-09-01946
2026-09-02499
2026-09-03539
2026-09-04361
2026-09-05418
2026-09-06306
2026-09-07296
2026-09-08310
2026-09-09318
2026-09-10336
2026-09-11315
2026-09-12436
2026-09-13294
2026-09-14464
2026-09-15317
2026-09-16342
2026-09-17447
2026-09-18465
2026-09-19295
2026-09-20318
2026-09-21368
2026-09-22296
2026-09-23319
2026-09-24320
2026-09-25358
2026-09-26717
2026-09-27354
2026-09-28991
2026-09-29268

Our ingestion assessment

Model-written 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.