Every listing checked against official state licensing rosters. For Plumbers · Claim Your Listing
TSBPE roster · 21 exports archived since August 7, 2026

Roster Changes, Day by Day

The Texas State Board of Plumbing Examiners publishes the roster as it stands today, and nothing about yesterday. We keep every export we download, so we can show you what moved between them: licences issued, renewed, reinstated, lapsed and dropped.

The latest export

Comparing the TSBPE export of August 31, 2026 against the one before it, from August 30, 2026. Each tile counts licences, so a licence that changed in two ways appears in two tiles.

0 New licences issued
17 Licences renewed
3 Reinstated to current
0 Lapsed from current
4 Insurance record updated
1 Company name changed
0 City or county changed
0 Dropped from the roster

21 licence records changed in total. Street addresses are dropped at import and are never compared, so a licensee moving house is not counted here as anything.

Roster size over time

  • Licences on the roster
  • Current
8,600 8,800 9,000 9,200 9,400 Aug 9, 2026: 9,340 licences, 8,617 current, 723 expired Aug 10, 2026: 9,340 licences, 8,617 current, 723 expired Aug 11, 2026: 9,340 licences, 8,623 current, 717 expired Aug 12, 2026: 9,338 licences, 8,635 current, 703 expired Aug 13, 2026: 9,341 licences, 8,646 current, 695 expired Aug 14, 2026: 9,347 licences, 8,660 current, 687 expired Aug 15, 2026: 9,343 licences, 8,667 current, 676 expired Aug 16, 2026: 9,343 licences, 8,667 current, 676 expired Aug 17, 2026: 9,327 licences, 8,667 current, 660 expired Aug 18, 2026: 9,330 licences, 8,672 current, 658 expired Aug 19, 2026: 9,328 licences, 8,683 current, 645 expired Aug 20, 2026: 9,329 licences, 8,690 current, 639 expired Aug 21, 2026: 9,332 licences, 8,702 current, 630 expired Aug 22, 2026: 9,333 licences, 8,707 current, 626 expired Aug 23, 2026: 9,333 licences, 8,708 current, 625 expired Aug 27, 2026: 9,342 licences, 8,729 current, 613 expired Aug 28, 2026: 9,345 licences, 8,739 current, 606 expired Aug 29, 2026: 9,344 licences, 8,741 current, 603 expired Aug 30, 2026: 9,344 licences, 8,743 current, 601 expired Aug 31, 2026: 9,344 licences, 8,746 current, 598 expired 9,344 8,746 Aug 10 Aug 13 Aug 16 Aug 19 Aug 22 Aug 28 Aug 31
Licences on the roster and the subset holding a current licence, August 9, 2026 to August 31, 2026. The gap between the lines is the expired count. The scale is fitted to the range rather than starting at zero, so movements of a few dozen licences stay visible.

Roster activity per export

0 100 200 300 Aug 9, 2026: 56 records changed over 2 days 56 Aug 10, 2026: 6 records changed 6 Aug 11, 2026: 41 records changed 41 Aug 12, 2026: 72 records changed 72 Aug 13, 2026: 70 records changed 70 Aug 14, 2026: 123 records changed 123 Aug 15, 2026: 53 records changed 53 Aug 16, 2026: 5 records changed 5 Aug 17, 2026: 18 records changed 18 Aug 18, 2026: 70 records changed 70 Aug 19, 2026: 70 records changed 70 Aug 20, 2026: 57 records changed 57 Aug 21, 2026: 66 records changed 66 Aug 22, 2026: 46 records changed 46 Aug 23, 2026: 13 records changed 13 Aug 27, 2026: 224 records changed over 4 days 224 Aug 28, 2026: 58 records changed 58 Aug 29, 2026: 66 records changed 66 Aug 30, 2026: 5 records changed 5 Aug 31, 2026: 21 records changed 21 Aug 10 Aug 13 Aug 16 Aug 19 Aug 22 Aug 28 Aug 31
Records added, edited or removed between consecutive TSBPE exports, August 9, 2026 to August 31, 2026. Hover a column for its date and count. The full breakdown is in the table below.

Every export we hold

One row per pair of consecutive exports, newest first. "Edited" counts distinct licences, so it is smaller than the categories added together. Both charts above plot these same rows.

Roster changes between consecutive exports, newest first
Export Licences Current New Renewed Insurance Reinstated Lapsed Dropped Edited
9,344 8,746 0 17 4 3 0 0 21
9,344 8,743 0 4 0 2 0 0 5
9,344 8,741 2 26 40 3 0 3 61
9,345 8,739 5 38 14 6 0 2 51
4-day gap 9,342 8,729 14 98 117 9 0 5 205
9,333 8,708 0 13 0 1 0 0 13
9,333 8,707 4 17 25 4 0 3 39
9,332 8,702 4 46 16 8 0 1 61
9,329 8,690 2 21 34 5 0 1 54
9,328 8,683 2 50 15 10 0 4 64
9,330 8,672 4 21 41 2 0 1 65
9,327 8,667 0 2 0 0 0 16 2
9,343 8,667 0 1 3 0 0 0 5
9,343 8,667 1 20 29 8 0 5 47
9,347 8,660 7 45 67 8 0 1 115
9,341 8,646 6 23 37 6 0 3 61
9,338 8,635 3 43 24 12 0 5 64
9,340 8,623 3 19 14 3 0 3 35
9,340 8,617 0 4 2 0 0 0 6
2-day gap 9,340 8,617 5 12 42 4 0 0 51

Where the changes were

127 of 347 Texas counties saw a change across these 21 exports, between them accounting for all 1,140 of the changes above. Busiest first; the counties not listed saw none.

Roster changes by county across the archived exports, busiest first
County Licences Current New Renewed Insurance Reinstated Lapsed Dropped Total changes Last change
Harris 981 930 2 44 55 3 0 4 101
Dallas 590 548 2 29 48 0 0 8 89
Tarrant 594 559 4 37 39 5 0 2 81
Bexar 609 575 5 27 30 2 0 3 67
Williamson 309 294 2 18 18 2 0 2 40
Collin 240 221 1 13 17 3 0 2 32
Travis 279 257 4 16 10 4 0 2 32
Denton 228 213 0 12 16 1 0 0 29
Montgomery 244 231 2 10 14 1 0 3 29
El Paso 192 185 1 15 13 4 0 0 26
Hays 117 112 3 11 9 3 0 1 22
Comal 127 119 2 11 8 3 0 0 19
Mclennan 98 94 1 8 7 3 0 2 19
Brazoria 116 109 0 7 10 3 0 0 17
Ellis 117 111 0 9 8 1 0 0 17
Johnson 152 141 1 6 10 1 0 0 17
Lubbock 161 150 0 10 3 3 0 1 16
Fort Bend 135 126 0 11 8 3 0 0 15
Nueces 110 104 0 9 7 4 0 0 15
Bell 109 101 1 7 6 1 0 1 14
Hunt 92 88 0 3 11 0 0 1 14
Kaufman 122 116 3 6 6 0 0 0 14
Guadalupe 75 72 0 4 8 1 0 1 13
Tom Green 57 54 1 6 7 1 0 0 13
Parker 108 105 1 5 6 2 0 2 12
Smith 81 74 2 7 1 2 0 2 12
Grayson 82 75 2 5 4 3 0 0 11
Randall 74 70 0 6 4 0 0 0 10
Hidalgo 104 99 0 4 5 1 0 0 9
Midland 67 66 0 3 4 1 0 1 9
Rockwall 97 96 0 4 6 0 0 0 9
Bastrop 82 78 0 5 3 0 0 0 8
Ector 51 45 1 4 4 1 0 1 8
Galveston 96 91 0 5 3 1 0 0 8
Potter 61 57 0 3 4 0 0 1 8
Webb 33 33 1 5 3 1 0 0 8
Cameron 53 49 0 3 3 0 0 0 7
Washington 22 22 2 2 2 0 0 1 7
Angelina 28 23 0 2 3 0 0 0 6
Brazos 87 83 0 1 6 1 0 0 6
Cass 13 12 0 4 3 1 0 0 6
Taylor 71 66 3 2 1 0 0 0 6
Van Zandt 47 44 1 2 3 0 0 0 6
Wichita 60 58 0 6 0 0 0 0 6
Fannin 34 31 0 0 3 0 0 0 5
Hood 47 44 0 1 2 0 0 0 5
Jefferson 46 43 0 2 3 0 0 0 5
Kerr 31 30 0 3 2 2 0 0 5
Lamar 23 21 0 2 4 0 0 0 5
Milam 18 16 0 3 2 0 0 1 5
Wise 66 63 1 3 1 1 0 0 5
Wood 24 21 1 3 0 0 0 0 5
Aransas 23 23 0 2 1 0 0 1 4
Austin 20 19 0 3 1 0 0 0 4
Coryell 18 18 0 3 2 1 0 0 4
Lampasas 27 25 1 1 1 0 0 1 4
Llano 23 21 0 3 1 0 0 0 4
Madison 9 8 0 2 2 0 0 0 4
Medina 25 24 0 2 2 1 0 0 4
Montague 19 17 0 0 3 0 0 1 4
Rains 16 15 0 2 2 1 0 0 4
Bandera 17 16 1 1 1 0 0 0 3
Erath 18 15 0 2 1 1 0 0 3
Falls 5 5 0 2 1 0 0 0 3
Gregg 43 40 0 2 1 1 0 0 3
Grimes 28 27 0 2 1 1 0 0 3
Hamilton 6 6 0 1 1 0 0 0 3
Henderson 60 49 0 3 1 0 0 0 3
Hill 23 19 0 0 3 0 0 0 3
Lee 14 14 0 1 1 0 0 1 3
Liberty 28 26 0 3 1 0 0 0 3
Orange 26 25 0 2 0 0 0 0 3
Rusk 6 6 0 2 1 0 0 0 3
Swisher 3 3 0 2 2 2 0 0 3
Val Verde 16 15 0 2 1 0 0 0 3
Wilson 33 31 0 2 1 0 0 0 3
Burleson 8 7 0 2 1 0 0 0 2
Calhoun 8 7 0 1 1 1 0 0 2
Childress 5 4 1 0 1 0 0 0 2
Coleman 4 4 0 1 1 1 0 0 2
Cooke 20 19 0 1 1 0 0 0 2
Eastland 6 6 0 1 1 1 0 0 2
Gaines 7 6 0 0 2 0 0 0 2
Gillespie 19 17 0 2 0 0 0 0 2
Gray 8 6 0 1 0 0 0 0 2
Harrison 17 16 1 0 1 0 0 0 2
Hockley 16 14 0 1 1 1 0 0 2
Howard 10 10 0 1 1 1 0 0 2
Lavaca 11 11 0 2 1 0 0 0 2
Navarro 25 24 0 1 0 0 0 0 2
Palo Pinto 11 9 0 2 1 1 0 0 2
Victoria 31 29 0 0 2 0 0 0 2
Waller 32 28 0 0 2 0 0 0 2
Wharton 15 12 1 1 0 1 0 0 2
Archer 6 6 0 1 0 1 0 0 1
Atascosa 21 18 0 0 1 0 0 0 1
Bee 3 2 0 0 0 0 0 1 1
Bowie 32 29 0 0 1 0 0 0 1
Brewster 9 8 0 0 0 0 0 1 1
Brown 20 19 0 1 1 1 0 0 1
Burnet 46 45 0 0 1 0 0 0 1
Caldwell 31 30 0 1 0 0 0 0 1
Chambers 8 7 0 1 0 0 0 0 1
Cherokee 13 12 1 0 0 0 0 0 1
Colorado 8 8 0 0 1 0 0 0 1
Dawson 8 7 0 1 0 0 0 0 1
Fayette 19 18 0 0 1 0 0 0 1
Franklin 7 7 0 0 1 0 0 0 1
Hale 11 10 0 1 0 1 0 0 1
Hardin 20 17 0 1 0 0 0 0 1
Hemphill 3 3 0 1 0 0 0 0 1
Hopkins 18 17 0 0 1 0 0 0 1
Houston 6 6 0 0 1 0 0 0 1
Hutchinson 7 7 0 1 1 1 0 0 1
Jackson 3 3 0 1 0 0 0 0 1
Jones 8 8 0 1 0 0 0 0 1
Maverick 7 7 0 0 1 0 0 0 1
Mcculloch 3 2 0 1 0 0 0 0 1
Nacogdoches 12 12 0 1 0 0 0 0 1
Polk 20 20 0 1 0 0 0 0 1
Refugio 1 1 0 1 0 0 0 0 1
San Patricio 18 16 0 1 0 0 0 0 1
Scurry 5 5 0 0 0 0 0 1 1
Stephens 13 12 0 1 0 0 0 0 1
Titus 10 9 0 1 0 0 0 0 1
Upshur 17 14 0 1 0 0 0 0 1
Zavala 2 2 0 1 0 0 0 0 1

County, not city, because that is what the roster supports: every row carries a county and roughly half leave the city blank. A breakdown by city would look equally authoritative while accounting for about half the changes. Each city page carries its own narrower figure, labelled as such.

Newest licences on the roster

The most recent Responsible Master Plumber licences to appear in an export. Up to 8 are kept per export, so this is a sample of the newest arrivals rather than all of them.

  • Clayton Plumbing M-10212 · Karnack · Harrison County · first seen
  • Reclaim Restoration & Plumbing M-47300 · East Baton Rouge County · first seen
  • Bulwark Home Services M-47173 · Parker County · first seen
  • Hoover's Rooters M-47478 · Tarrant County · first seen
  • James Mccown M-47349 · Taylor County · first seen
  • Hughes Plumbing LLC M-46642 · Comanche County · first seen
  • Texas Sewer Specialist LLC M-47371 · Hays County · first seen
  • Quickscope Plumbing LLC M-47437 · Travis County · first seen
  • Orr Plumbing LLC M-47441 · Wood County · first seen
  • Kuenekune INC and Clearwater Plumbers M-40578 · Spring · Harris County · first seen
  • Wood Family Industries INC. DBA Wood Family Home Services M-47439 · Montgomery County · first seen
  • Grizzly Plumbing & Drain LLC M-46955 · Ector County · first seen

Check any of these against the roster

How this is measured

Every time we download the roster, the file is saved under the date it was downloaded and is never overwritten. To build this page we read each archived export, key it by licence number, and compare it against the export before it. A licence present in one file and absent from the next is a departure; a licence whose expiration date moved forward is a renewal; a licence that went from Expired to Current is a reinstatement.

Nothing here is inferred or estimated. If two exports are identical, the row reads zero, which happens more often than you would expect for a roster of this size.

Why a row can cover several days

We compare consecutive exports, not consecutive calendar days. When no export was published or fetched on a given day, the next comparison covers the whole gap and says so. Spreading those changes evenly across the missing days would be a guess, and this site does not publish guesses.

Why the categories overlap

A single licence can renew, file new insurance and change its trading name in the same export. It is counted once in each of those categories, because each is a true statement about it. The only figure that counts each licence exactly once is the "edited" column, which is why that is the one used as a total.

What is deliberately not compared

The roster carries each licensee's mailing address, which for a sole trader is usually their home. We drop those fields at import, so they are not in our archives, not in this comparison, and not on this site. The full accounting is on the data sources page.

Using this data

These counts describe the roster, not the trade. A licence appearing here means a record appeared in a state file, and a licence leaving means a record left it. For the authoritative status of any single licence, use the state's own live lookup, or our licence checker for the daily copy.

Common questions

How often does this page update?

Once per roster export. We download the TSBPE RMP file daily, archive it under that date, and compare it against the previous archive. Every figure here is the difference between two files we still hold.

Why do some rows cover more than one day?

Because an export was missed, either by the authority or by us. Rather than spreading those changes across days that have no file behind them, the row is labelled with the number of days it actually covers, and the counts stay attached to the two exports they came from.

Do the categories add up to the total?

No, and they are not meant to. One licence can renew, update its insurance and change its company name in the same export, so it appears in three categories. The "edited" column is the count of distinct licences that changed at all, which is why it is always smaller than the categories added together.

Is a licence disappearing from the roster the same as it being revoked?

No. A row dropping out of the export means it is no longer on the published RMP list, which can happen for several reasons. We report that the record left the roster, and nothing more, because that is all the file supports. For the status of any specific licence, check the state's own lookup.