HVAC, Plumbing, Electrical & Roofing Supply Distributors
U.S. · 8,150 locations

There are 8,150 HVAC, Plumbing, Electrical & Roofing Supply Distributors in the US as of September 2026. They are in all 50 states, DC and Puerto Rico. Texas has the most, with 832.

8,150 trade supply branches across 55 banners and 17 parent companies, swept from each distributor's own branch locator — Ferguson 1,464, City Electric Supply 705, ABC Supply 700, Winsupply 690, SRS 446, Hajoca 428, Rexel 415, Watsco 351, Core & Main 336, Graybar 246, Lennox PartsPlus 222, Elliott Electric 202 and F.W.

More about this list

Webb 119. By trade that is 2,047 plumbing, 1,603 electrical, 1,146 roofing, 793 multi-trade and 735 HVAC. Two columns carry the value: `trade`, and `parent`, because these banners are consolidated groups and the parent is who actually negotiates. Gemaire and Baker are Watsco; Platt and Gexpro are Rexel. This is the other side of the contractor lists we already publish: if you make HVAC equipment, wire, pipe or shingles, these branches are your route to market, and if you sell software, freight or credit into distribution, they are the accounts.

8,150Locations
52States
22Data Fields
September 15, 2026File built

#Count report

By state

Texas832
Florida756
California661
North Carolina392
Georgia304
Virginia292
New York250
Ohio241
Pennsylvania236
Massachusetts233
Tennessee222
Colorado214
Arizona213
Illinois195
Michigan191
New Jersey187
South Carolina186
Washington185
Missouri167
Maryland154
Louisiana149
Indiana131
Oregon116
Wisconsin114
Alabama112
Oklahoma108
Minnesota104
Kentucky103
Arkansas95
Connecticut93
Utah91
Kansas82
Iowa79
Nebraska66
Nevada63
New Hampshire63
Mississippi59
New Mexico53
Idaho49
Maine42
West Virginia37
Montana34
South Dakota31
Hawaii27
Rhode Island27
North Dakota25
Delaware24
Wyoming24
Vermont18
Alaska14
Puerto Rico4
District of Columbia2

Need just some of them? Ask in your own words.

●Where the rows are

Map of where the HVAC, Plumbing, Electrical & Roofing Supply Distributors are
One dot for every ZIP code with at least one location. Ask above for any part of it: a state, a city, a distance.

≡Sample Data Preview

supply-distributor-list.csvscroll →UTF-8
nameaddresscitystatezipphonewebsitebrandparenttradebranch idgeo precisioncountycounty fipscounty noteaddress qualitycountrylatitudelongitudesourcesource idsource url
SOLDOTNA, AK 99669 - Ferguson Plumbing/PVF42701B Kalifornsky Beach RoadSoldotnaAK99669(907) 262-5990https://www.ferguson.com/store/ak/soldotna/plumbingpvf-3026FergusonFergusonmulti3026sourceKenai Peninsula Borough02122completeUS60.4868821-151.1545926ferguson.com3026https://www.ferguson.com/on/demandware.store/Sites-Ferguson-Site/en_US/Stores-FindStores
ALBANY, GA 31705 - Ferguson Mechanical/Industrial2219 B Toledo DriveAlbanyGA31705(229) 439-0730https://www.ferguson.com/store/ga/albany/mechanicalindustrial-2081FergusonFergusonplumbing2081sourceDougherty County13095completeUS31.5609035-84.1019086ferguson.com2081https://www.ferguson.com/on/demandware.store/Sites-Ferguson-Site/en_US/Stores-FindStores
SALISBURY, MD 21801 - Ferguson Waterworks28596 Naylor Mill RoadSalisburyMD21801(410) 677-6793https://www.ferguson.com/store/md/salisbury/waterworks-1883FergusonFergusonplumbing1883sourceWicomico County24045completeUS38.398885-75.622471ferguson.com1883https://www.ferguson.com/on/demandware.store/Sites-Ferguson-Site/en_US/Stores-FindStores
SWEDESBORO, NJ 08085 - Ferguson Mechanical/Industrial3 Hawk CourtSwedesboroNJ08085(856) 356-1098https://www.ferguson.com/store/nj/swedesboro/mechanicalindustrial-0586FergusonFergusonplumbing0586sourceGloucester County34015completeUS39.77795-75.362999ferguson.com0586https://www.ferguson.com/on/demandware.store/Sites-Ferguson-Site/en_US/Stores-FindStores
BLUFFTON, SC 29910 - Ferguson Showroom114 Bluffton RoadBlufftonSC29910(843) 949-6111https://www.ferguson.com/store/sc/bluffton/showroom-0589FergusonFergusonplumbing0589sourceBeaufort County45013completeUS32.2486404-80.8577744ferguson.com0589https://www.ferguson.com/on/demandware.store/Sites-Ferguson-Site/en_US/Stores-FindStores
Five sample rows; the file you buy has all 22 columns.

{}What's in each row

FieldWhat it isRows filled
nameBusiness or facility name100%
brandBrand100%
parentParent100%
tradeTrade100%
addressStreet address100%
cityCity100%
stateTwo-letter state code100%
zipZIP code100%
countryCountry code100%
phonePhone number where published97%
websiteWebsite where published99%
latitudeGPS latitude where published100%
longitudeGPS longitude where published100%
branchIdBranch id92%
sourceWhich source the record came from100%
sourceIdSource id100%
sourceUrlThe public source this row came from100%
geo_precisionHow exact the map point is: the source's own point, the street address, or the ZIP code's centre100%
countyCounty the location is in100%
county_fipsFive-digit federal code of that county100%
address_qualityWhether the street address is complete, missing a house number, or a PO box100%

Rows filled is measured on every row of the delivered file.

✓Where this data comes from

Each row names the public source it came from, so any record can be checked against where it was published.

September 15, 2026

File built

22 fields

Columns in the file

Fill measured

On every row of the delivered file

How we build and date every file: methodology.

Using ChatGPT, Claude or an API?

No setup needed. Ask ChatGPT or Claude your question about the HVAC, Plumbing, Electrical & Roofing Supply Distributors and give it this page: it can open https://locationlists.com/find?dataset=supply-distributor-list with the filters you need and show you the count and price.

Using ChatGPT or Claude? Tell it to answer from locationlists.com/find — no account, no connector.

How assistants ask

No connector needed. Any AI assistant can answer from this site with a web link, no connector, no account: open https://locationlists.com/find with the question as query parameters.

If a question needs filtering, distance, drive time, combining lists or a price, open a /find link: either put the question itself in q=, or build the structured link. The answer does not need an API, a connector or an account.

Simplest, the question itself: https://locationlists.com/find?q=<the question in plain words>

Or set the parts yourself: https://locationlists.com/find?dataset=<slug>&state=<ST>&city=<city>&county=<county>&zip=<zip>&near=<place or zip>&radius=<miles>&drive=<minutes>&where=<column>:<op>:<value>&total=<rows>

Leave out what the question does not need. Use radius for straight-line miles or drive for minutes of driving (5 to 60), not both; near can name several places separated by | to reach from any of them. To ask about several lists at once, use datasets with two or more names, or category with a kind of business. To compare two lists, add relate=nearest and the other list with b. in front of its parameters. To count by area, use areas=county (or zip, state, metro). To keep only places whose county, ZIP code, metro area or state meets a Census figure, add area_where (for example county:population>1000000); with areas, per=100000 gives counts per 100,000 residents.

Links an assistant can open, each showing how many rows match, a few preview rows and the price for just that part:

Optional: connect for repeat use or wallet payments:

Read https://locationlists.com/skill.md and follow the instructions to connect LocationLists. Then show me the HVAC, Plumbing, Electrical & Roofing Supply Distributors list.

Your assistant will walk you through setup and show you the price before you pay.

For developers

Every step below has a no-connector equivalent: https://locationlists.com/find?dataset=supply-distributor-list with the same filters as query parameters.

  1. Connect your agent to https://locationlists.com/mcp (no key, no signup).
  2. Call count_locations with dataset: "supply-distributor-list" and any filter — it is free, and returns how many rows match and what they cost.
  3. Fetch the rows with query_locations: $0.97 per 100 rows from this dataset. Above 4,075 rows, buying the whole file is cheaper.

Paid in USDC over x402 — the agent gets an HTTP 402 with the exact price, signs, and retries. Money moves only after rows are delivered, so a failed or empty query costs nothing. Setup for Claude, Cursor and VS Code

?Frequently Asked Questions

How many HVAC, Plumbing, Electrical & Roofing Supply Distributors are there in the US?

There are 8,150 HVAC, Plumbing, Electrical & Roofing Supply Distributors in the US as of September 2026. They are in all 50 states, DC and Puerto Rico. Texas has the most, with 832.

Why does the parent column matter?

Because a banner is not a buyer. Gemaire and Baker are both Watsco; Platt and Gexpro are both Rexel. If you are negotiating national terms or mapping consolidation you need the parent, and if you are running a branch-level field program you need the banner. Both are columns so you can work either way.

Which distributors are missing, and why?

Beacon and Border States remain behind bot protection, and CED and Crescent Electric refuse connections outright. Sonepar, SiteOne, Johnstone and Trane Supply were all previously listed as unreachable and are now included. We would rather name the gaps than pad the file. Ask if a specific distributor matters and we will scope it.

Do all records have coordinates?

Most do. Winsupply and Lennox PartsPlus publish none at all, so those rows carry addresses without latitude and longitude rather than geocoded guesses. Everything else is as published.

↔Other industrial supply & rental lists