Every quote attributed to a member of Congress on LegislationPatch comes from the Congressional Record, the official record of House and Senate proceedings, accessed through GovInfo. We do not paraphrase and we do not build a member quote out of a news article. Every sentence of a stored quote has to appear verbatim in the fetched Record text, or the quote is rejected and never written.
That promise covers member quotes. It is not a claim about every sentence on the site. Our bill-tracker articles also set out what named organizations and members argue about a bill, and those are sourced to the document the holder published — an organization's letter or statement, a Statement of Administration Policy, a member's own release. Those are attributed to that document, not presented as floor statements, and a position whose source cannot be retrieved is omitted rather than softened.
This article explains the sourcing process in detail — the GovInfo API we use, how we identify which member said what, how we select excerpts, what provenance each of our two quote stores actually keeps, and the limits of what the Congressional Record itself represents.
The Source: GovInfo Congressional Record Granules
The Congressional Record is published daily by the Government Publishing Office (GPO) and made available through the GovInfo API. GovInfo doesn't just publish the full Record as a single document — it breaks each day's proceedings into "granules," individual units corresponding to specific speeches, sections, or procedural blocks within the Record.
Each granule has a unique identifier that addresses the specific section of the Record where a statement appears. For example, a granule identified as CREC-2026-04-13-pt1-PgH1147 points to a specific page in the April 13, 2026 Record.
We keep granule identifiers on one of our two quote stores, not both. The standalone floor-quote collection behind the Floor Activity page records the granule it came from on 430 of its 468 quotes. The quotes shown on a bill's own page come from a second extractor, which fetches the Record text for that bill's floor dates and does not record which granule each excerpt came from: none of those 417 quotes carries one. Neither store records a session number. And the granule identifier is not shown to readers: a quote card on a bill page renders the speaker's portrait, name, party chip, stance label and the text, and nothing in the front-end code reads the granule field at all. Where a granule id exists it is stored provenance, not a citation you can click.
How We Identify Speakers
The Congressional Record formats floor statements with a standard pattern: "Mr. CORNYN. [Statement text]." or "Ms. WARREN. [Statement text]." The speaker is identified by last name in all-capital letters, preceded by a title (Mr., Ms., Mrs., Dr., The PRESIDING OFFICER, etc.).
We use pattern matching on that all-caps form to find speaker boundaries in the Record text, then match the surname against our member database. Diacritics are folded before matching, so the Record's ASCII "GARCIA" reaches "García"; without that, accented surnames were invisible and their statements could attach to an unaccented namesake in another state. Where more than one member shares a surname, the match is narrowed first by the Record's own "of State" qualifier ("Mr. SMITH of Missouri") and then by the chamber the statement was made in. If more than one candidate still matches after both filters, this extractor takes the first one — a weaker rule than the Senate roll-call matcher uses, which refuses to guess and leaves the row unmatched instead.
Excerpt Selection
A floor statement can run several paragraphs. Our excerpt selection targets the most substantive passage — the portion where the member is directly discussing the bill or issue at hand, rather than procedural preliminaries or acknowledgments. We strip common filler openings ("I yield myself such time as I may consume," "I rise in support of...," "Mr. President, I ask unanimous consent that...") and select from the remaining substance.
Excerpts are capped at 550 characters. The excerpt is then trimmed back to the last sentence end rather than cut mid-sentence; where no sentence end is available it is trimmed to the last whole word. Truncation can omit context, and because we do not surface the granule link, checking the full statement means searching the Record for that speaker and date yourself.
The Revise-and-Extend Caveat
As we explain in our Congressional Record guide, members can revise and extend their remarks before they appear in print, and material can be printed without being spoken at all. The Congressional Research Service describes the Record as a substantially verbatim account of remarks made during the proceedings of the House and Senate, subject only to technical, grammatical, and typographical corrections — so what we extract is what the Record says a member said, which is not always word-for-word what was heard on the floor.
We use the Record anyway, and say so plainly: it is the official record of the proceedings, it is published for every day Congress is in session, and GovInfo makes it searchable and machine-readable. Where the exact spoken wording is the point of a dispute, the printed Record is not the place to settle it.
Standalone Quotes vs. Bill-Attached Quotes
LegislationPatch keeps two separate quote stores, and it is worth knowing which one you are looking at. The bill-page store holds 417 quotes and is what appears on a bill's own page. The floor-quote store holds 468 and is what the Floor Activity page and the home-page carousel draw on; 432 of those carry a bill id, which turns into a link to that bill, and 36 do not.
The two are built by different extractors and they mostly do not overlap: of the 432 bill-linked floor quotes, 21 also appear in that same bill's page store. So a member can have a statement about a bill on the Floor page that does not appear on the bill's page, and the reverse. The two stores carry different provenance fields for the same reason.
Drafted from primary source documents by LegislationPatch's automated research pipeline, then reviewed, verified, and edited by James Shearn, Editor. Every figure and citation is checked against the official text before publication. See our editorial standards and AI disclosure.