About & methodology
How Capitol Releases works
Capitol Releases tracks official press output from 100 U.S. senators and 429 voting U.S. representatives. The goal is a searchable public record with enough provenance that a reporter can cite it and a developer can audit it.
What we collect
We collect original content from official .gov member websites: press releases, statements, op-eds, blog posts, floor statements, letters and photo releases.
The main collection target is Jan. 1, 2025 onward. Some backfills retain older records. Collection follows the configured office websites; the archive does not independently verify the officeholder attribution or term dates of every item.
| Type | Definition |
|---|---|
press_releasePress release | The default class for original announcements from a member's news, media or press section. |
statementStatement | A public statement posted by the office, usually without a separate legislative action attached. |
op_edOp-ed | Signed commentary or opinion writing republished on the official site. |
blogBlog post | Original posts from member blog, diary, newsletter or similar site sections. |
floor_statementFloor statement | Floor remarks when a member's office publishes them on its own press page. |
letterLetter | Published letters to agencies, officials, colleagues or constituents. |
photo_releasePhoto release | Photo-only or media-advisory items. Stored, but excluded from default public feeds. |
presidential_actionPresidential action | White House actions stored in the same schema for federal executive coverage. |
otherOther | Original official content that does not fit a more specific class. Reviewed during cleanup. |
What we don't
The collection targets original official output and filters external media links and navigation pages. Third-party clippings, campaign material and outside media hits are outside the intended scope. Automated filters can miss material republished on an official site.
We do not backfill predecessor coverage when a seat changes hands. We also do not collect voting records, bill tracking or campaign finance records. Those records already exist elsewhere, including Congress.gov and the FEC.
How dates work
Every record can carry two date fields beyond the timestamp itself: date_source and date_confidence. They record where the date came from and how much the parser trusts it.
Dates are extracted from feeds, metadata, listing text, URL paths or page-level date elements. Some records have no parsed date. A parser confidence score describes extraction certainty; it is not an independent verification of the office's publication date.
Provenance
Records have fields for source_url, scrape_run and scraped_at. The source URL identifies the original page. Where populated, the scrape run ties the row to a collector pass and the scrape timestamp records when Capitol Releases captured it. Older imports may have incomplete provenance.
The deletion monitor preserves archived records. If a source URL repeatedly returns HTTP 404 or 410, the row stays in the archive and gets a deleted_at tombstone. This records source unavailability, not why the office removed or moved a page. Network errors and access blocks do not confirm deletion.
Update cadence
GitHub Actions schedules collection four times a day: 13:00, 17:00, 21:00 and 01:00 UTC. These are scheduled times, and runs can start later or fail. The same workflow refreshes WordPress JSON silos used for op-eds, newsletters, blogs and related official sections.
The scheduled workflow attempts a health check before collection. It probes configured source pages, listing extraction and sample date parsing. Collection can continue after a failed health check; a passing probe does not establish complete archive coverage.
Coverage status
The table below uses database counts and stored source configuration. Reaching January 2025 means at least 10 collected records and an earliest date before February 2025. It does not measure every missing item or whether an office is publishing on schedule. A historical per-site writeup:
House coverage trouble sites, May 3, 2026
| Metric | Status | Note |
|---|---|---|
| U.S. senators (clean) | 97 / 100 | 3 source configurations carry diagnostic flags. This count does not establish current publishing activity or complete coverage. |
| U.S. House (configured) | 429 / 435 | Active voting members recorded in the database, against 435 voting seats. The seed file has 437 rows, including delegates; delegates are excluded from every figure in this table. |
| House — reaches Jan. 2025 | 416 / 429 | 97.0% have 10 or more records reaching back to early 2025. |
| House — dated coverage or diagnostic flag | 427 / 429 | 99.5% meet the date threshold or carry a diagnostic flag; 11 are included only through a flag. A flag does not establish complete coverage. |
| House — open trouble list | 2 | Members with shallow archives where the cause is still under investigation. |
Stored low-volume flags
The rows below are source configurations carrying an expected_low_volume or expected_zero flag in the seed files. These are diagnostic labels from earlier checks, not current publication counts or a finding about why an office has few records. The stored verification date may predate the flag or its latest update.
| Name | Chamber | District/state | Status | Stored verification date |
|---|---|---|---|---|
| Adelita S. Grijalva | House | AZ-7 | Expected low volume | 2026-05-03 |
| Alan Armstrong | Senate | OK | Expected zero | 2026-04-15 |
| Ashley Moody | Senate | FL | Expected low volume | 2026-05-03 |
| Christian D. Menefee | House | TX-18 | Expected low volume | 2026-05-03 |
| Clay Fuller | House | GA-14 | Expected low volume | 2026-05-03 |
| Guy Reschenthaler | House | PA-14 | Expected low volume | 2026-05-03 |
| Jim Jordan | House | OH-4 | Expected zero | 2026-05-03 |
| Jon Husted | Senate | OH | Expected low volume | 2026-09-03 |
| Sheila Cherfilus-McCormick | House | FL-20 | Expected low volume | 2026-07-19 |
AI features and their limits
Ask the Record sends your question to OpenAI for moderation and a search embedding, retrieves passages from one member's collected releases, and sends the question and passages to Anthropic Claude to draft an answer. Scheduled collection also uses OpenAI embeddings to make new releases searchable by this feature.
The server checks citation references and checks any returned quote text against the retrieved passages. Those checks do not verify every factual sentence or prove that a source supports the answer. Read the linked releases before relying on an answer. Missing collection or embeddings can also limit what Ask finds.
Questions, answers, retrieved and cited passage IDs, model metadata, timing and a hashed IP identifier are logged for review and rate limits. The moderation screen can fail open if its provider is unavailable; retrieval and answer validation failures return an error.
The daily and weekly Brief uses Claude Sonnet 4.6 to summarize collected releases, with automated citation and quotation checks and a correction retry. Scheduled briefs can publish automatically; publication does not mean a person has reviewed every claim.
Schema history
The schema was renamed in May 2026 as the project moved from a Senate-only archive to Congress-wide coverage. The old senators table became officials, and press_releases became official_site_items. Compatibility views remain during the transition.