Skip to content

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.

TypeDefinition
press_release
Press release
The default class for original announcements from a member's news, media or press section.
statement
Statement
A public statement posted by the office, usually without a separate legislative action attached.
op_ed
Op-ed
Signed commentary or opinion writing republished on the official site.
blog
Blog post
Original posts from member blog, diary, newsletter or similar site sections.
floor_statement
Floor statement
Floor remarks when a member's office publishes them on its own press page.
letter
Letter
Published letters to agencies, officials, colleagues or constituents.
photo_release
Photo release
Photo-only or media-advisory items. Stored, but excluded from default public feeds.
presidential_action
Presidential action
White House actions stored in the same schema for federal executive coverage.
other
Other
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

MetricStatusNote
U.S. senators (clean)97 / 1003 source configurations carry diagnostic flags. This count does not establish current publishing activity or complete coverage.
U.S. House (configured)429 / 435Active 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. 2025416 / 42997.0% have 10 or more records reaching back to early 2025.
House — dated coverage or diagnostic flag427 / 42999.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 list2Members 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.

NameChamberDistrict/stateStatusStored verification date
Adelita S. GrijalvaHouseAZ-7Expected low volume2026-05-03
Alan ArmstrongSenateOKExpected zero2026-04-15
Ashley MoodySenateFLExpected low volume2026-05-03
Christian D. MenefeeHouseTX-18Expected low volume2026-05-03
Clay FullerHouseGA-14Expected low volume2026-05-03
Guy ReschenthalerHousePA-14Expected low volume2026-05-03
Jim JordanHouseOH-4Expected zero2026-05-03
Jon HustedSenateOHExpected low volume2026-09-03
Sheila Cherfilus-McCormickHouseFL-20Expected low volume2026-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.