Transparency by design
What is actually in the index
Real construction data. Every figure on this page is counted from the published index at build time — nothing here is a target or a projection.
Data currency. The most recent document in the index is dated Sep 22, 2026. This site was last rebuilt on Sep 25, 2026, which is 3 days later. No documents published after Sep 22, 2026 have been ingested yet, so treat every price here as history from that window rather than current market pricing.
Agency coverage
Documents and observations by agency. Active means 50 or more documents ingested, Limited fewer than that, Planned nothing yet.
| Agency | Status | Docs | Observations |
|---|---|---|---|
| MDOTDec 2014 – Sep 2026 | Active | 7,888 | 570,966 |
| ALDOTJul 1999 – Jun 2026 | Active | 7,796 | 510,637 |
| SCDOTJan 2014 – Aug 2026 | Active | 3,211 | 274,154 |
| ARDOTJan 2010 – Aug 2026 | Active | 2,136 | 86,011 |
| KDOTJan 2021 – Aug 2026 | Active | 1,851 | 72,089 |
| NCDOTJan 2013 – Aug 2026 | Active | 1,646 | 223,167 |
| VDOT (Richmond (4))Jan 1998 – Aug 2026 | Active | 1,451 | 56,906 |
| VDOT (Salem (2))Jan 1998 – Jul 2026 | Active | 1,449 | 57,075 |
| VDOT (Bristol (1))Jan 1998 – Jul 2026 | Active | 1,280 | 45,516 |
| VDOT (Staunton (8))Jan 1998 – Aug 2026 | Active | 1,165 | 42,840 |
| VDOT (NOVa (9))Jan 1998 – Jul 2026 | Active | 1,148 | 65,694 |
| VDOT (Hampton Roads (5))Jan 1998 – Aug 2026 | Active | 1,015 | 46,792 |
| City of Fort WorthApr 2023 – Sep 2026 | Active | 831 | 18,989 |
| VDOT (Lynchburg (3))Feb 1998 – Jul 2026 | Active | 791 | 28,797 |
| Caltrans (District 4)Jan 2015 – Aug 2026 | Active | 777 | 38,907 |
| VDOT (Fredericksburg (6))Jan 1998 – Jul 2026 | Active | 761 | 30,212 |
| Caltrans (District 7)Jan 2015 – Aug 2026 | Active | 666 | 30,783 |
| VDOT (Culpeper (7))Jan 1998 – Jul 2026 | Active | 657 | 23,572 |
| Caltrans (District 3)Jan 2015 – Aug 2026 | Active | 552 | 23,435 |
| Caltrans (District 8)Jan 2015 – Jul 2026 | Active | 490 | 20,706 |
| TxDOT (Dallas district)Sep 2024 – Sep 2026 | Active | 487 | 18,684 |
| Caltrans (District 6)Jan 2015 – Jun 2026 | Active | 468 | 19,061 |
| Caltrans (District 10)Jan 2015 – Jul 2026 | Active | 394 | 15,623 |
| Caltrans (District 1)Feb 2015 – May 2026 | Active | 365 | 17,079 |
| Caltrans (District 5)Jan 2015 – Aug 2026 | Active | 360 | 18,872 |
| Caltrans (District 2)Jan 2015 – Jul 2026 | Active | 357 | 15,770 |
| TxDOT (Houston district)Sep 2024 – Sep 2026 | Active | 322 | 15,594 |
| Caltrans (District 12)Jan 2015 – Jul 2026 | Active | 304 | 16,149 |
| Caltrans (District 11)Jan 2015 – Jul 2026 | Active | 295 | 15,692 |
| TxDOT (Fort Worth district)Sep 2024 – Sep 2026 | Active | 260 | 9,360 |
| TxDOT (Yoakum district)Sep 2024 – Sep 2026 | Active | 230 | 6,194 |
| TxDOT (Paris district)Sep 2024 – Sep 2026 | Active | 226 | 4,848 |
| TxDOT (Bryan district)Sep 2024 – Sep 2026 | Active | 224 | 5,552 |
| TxDOT (Austin district)Sep 2024 – Sep 2026 | Active | 212 | 11,694 |
| TxDOT (Corpus Christi district)Sep 2024 – Sep 2026 | Active | 201 | 4,764 |
| TxDOT (San Antonio district)Sep 2024 – Sep 2026 | Active | 198 | 12,122 |
| TxDOT (Odessa district)Sep 2024 – Sep 2026 | Active | 173 | 4,908 |
| TxDOT (Lufkin district)Sep 2024 – Sep 2026 | Active | 169 | 4,531 |
| TxDOT (Beaumont district)Sep 2024 – Sep 2026 | Active | 162 | 5,525 |
| TxDOT (Waco district)Sep 2024 – Sep 2026 | Active | 155 | 5,433 |
| Caltrans (District 9)Jan 2015 – May 2026 | Active | 153 | 4,757 |
| TxDOT (Tyler district)Sep 2024 – Sep 2026 | Active | 148 | 5,905 |
| ODOT (Region 2)Jan 2021 – Aug 2026 | Active | 131 | 10,418 |
| TxDOT (Atlanta district)Sep 2024 – Sep 2026 | Active | 119 | 3,316 |
| TxDOT (Abilene district)Sep 2024 – Sep 2026 | Active | 116 | 3,758 |
| TxDOT (Lubbock district)Sep 2024 – Sep 2026 | Active | 114 | 3,780 |
| TxDOT (Pharr district)Sep 2024 – Sep 2026 | Active | 113 | 6,819 |
| TxDOT (Amarillo district)Sep 2024 – Sep 2026 | Active | 112 | 4,466 |
| TxDOT (El Paso district)Sep 2024 – Sep 2026 | Active | 98 | 3,453 |
| TxDOT (Wichita Falls district)Sep 2024 – Sep 2026 | Active | 98 | 2,901 |
| TxDOT (San Angelo district)Sep 2024 – Sep 2026 | Active | 91 | 2,355 |
| ODOT (Region 1)Jan 2021 – Aug 2026 | Active | 91 | 8,558 |
| TxDOT (Laredo district)Sep 2024 – Sep 2026 | Active | 89 | 3,849 |
| TxDOT (Brownwood district)Sep 2024 – Sep 2026 | Active | 88 | 1,955 |
| ODOT (Region 3)Jan 2021 – Aug 2026 | Active | 74 | 6,147 |
| FDOT (District 3)Jan 2024 – Dec 2025 | Active | 72 | 6,678 |
| FDOT (District 2)Jan 2024 – Dec 2025 | Active | 71 | 6,545 |
| FDOT (District 4)Jan 2024 – Dec 2025 | Active | 63 | 8,542 |
| TxDOT (Childress district)Sep 2024 – Sep 2026 | Active | 59 | 1,554 |
| ODOT (Region 5)Feb 2021 – Jun 2026 | Active | 57 | 4,194 |
| FDOT (District 1)Jan 2024 – Oct 2025 | Limited | 49 | 6,610 |
| FDOT (District 5)Jan 2024 – Oct 2025 | Limited | 48 | 5,950 |
| FDOT (District 7)Feb 2024 – Dec 2025 | Limited | 44 | 5,439 |
| ODOT (Region 4)Feb 2021 – Aug 2026 | Limited | 41 | 3,950 |
| TxDOT (Maintenance Division district)Oct 2024 – Sep 2026 | Limited | 33 | 514 |
| FDOT (District 6)Jan 2024 – Dec 2025 | Limited | 31 | 3,606 |
| FDOT (StateWide)Mar 2024 – Mar 2025 | Limited | 13 | 338 |
| City of DallasSolicitations and tabulations are distributed through DemandStar; no open tabulation archive on dallascityhall.com. | Planned | — | — |
| City of ArlingtonBid documents sit behind the Bonfire and IonWave supplier portals; individual tabulation PDFs exist but are not indexed from a public list. | Planned | — | — |
| City of FriscoBid postings are published through CivicEngage; award tabulations are not posted as a browsable archive. | Planned | — | — |
| City of McKinneyNo public bid-tabulation archive found; postings route to a supplier portal. | Planned | — | — |
| City of PlanoNo public bid-tabulation archive found; postings route to a supplier portal. | Planned | — | — |
| City of DentonNo public bid-tabulation archive found; postings route to a supplier portal. | Planned | — | — |
Documents by type
Observations by the kind of record they were read from.
Award rows are the price bid and accepted; final-pay rows are the price actually paid on completion.
Items by category
188,879 canonical items, classified from the description printed on the document.
Coverage over time
Source documents by the quarter they were approved.
Last 12 quarters. Earlier quarters exist in the index but are thinner.
Sample depth by item
How many price observations sit behind each item.
- Single (1)132,34670%
- Very thin (2)19,14610%
- Thin (3–4)11,0406%
- Moderate (5–9)8,9525%
- Deep (10+)17,3959%
This is the most important caveat in the beta: 132,346 of 188,879 items rest on a single observation.
Units of measure
The most common units in the index.
| Unit | Items | % of items |
|---|---|---|
| EA | 36,189 | 19% |
| LS | 28,690 | 15% |
| LF | 26,654 | 14% |
| EACH | 13,579 | 7% |
| Ea | 12,366 | 7% |
| LSUM | 10,949 | 6% |
| TON | 7,737 | 4% |
| Other | 52,715 | 28% |
By geography
Observations by the state the source document was published in, then the counties with the most observations. 37.9% of observations carry a county; 1,628,320 do not, because the document did not print one. A contract spanning several counties counts once in each.
Top counties
Showing 12 of 695 counties in the index. Use the state and county filters on search to narrow any item to one of them.
How the index was cleaned
The source documents are scanned or machine-printed, so the extracted item descriptions carry OCR errors and punctuation noise. A canonicalisation pass runs before publication. It is deliberately conservative: it merges names that differ only by spacing, punctuation or a clear misspelling, and it never merges across a difference that could be real — P-1 and R-1 ramps, Major and Minor adjustments, CSS and CLSM backfill, white and yellow markings all stay separate.
| Step | Effect | Notes |
|---|---|---|
| Contract subtotal rows removed | 26 items | “Sub-total of previous unit” lines are arithmetic, not priced work |
| Duplicate descriptions merged | 9,914 clusters | 12,322 retired URLs 301 to the surviving item, so old links keep working |
| of which punctuation or spacing | 17,417 | e.g. “Post - Cctv”, “Post-cctv” and “Post Cctv” |
| of which OCR misspellings | 2,419 | e.g. “Trench Saftey”, “Manhole Vaccum Testing” |
| Categories repaired | 138,934 items | bid-tab section headings had been captured as categories |
| Wide-spread items flagged | 9,738 items | a 20× or greater internal spread is marked on the item page, not silently averaged |
Net effect: 202,528 items became 188,879, and 2,621,086 observations became 2,621,060. No observation was invented, edited or duplicated — only regrouped, apart from the 26 subtotal rows removed.
Ready to explore the data?
Search the index, compare prices and open the source document behind any number.