Use case
Licensed Home Improvement Contractors in Washington, DC
Every active DLCP Home Improvement Contractor licence with a business address inside the District, by ward, from DC's own licence table.
Say you run a kitchen and bath showroom on the edge of the District and want to put your trade program in front of the remodelers who actually work there: the firms licensed by DC to do home improvement work, with a shop address inside the city, so your rep can visit them ward by ward. DC licenses home improvement contractors through a Basic Business Licence with the “Home Improvement Contractor” activity. On 2026-10-09 there were 925 active ones, and 152 of them had a premises address in DC.
The manual way, and what it costs
The licence table is free on Open Data DC, with a Download button, and for a one-off that is a fair route. Download it, filter the business activity to Home Improvement Contractor, the status to Active, and the premises address to DC. In a spreadsheet that is most of an hour.
What makes it longer is the shape of the file. It holds 280,169 licences of every kind, contracting is a handful of activities among more than a hundred, and the premises address is one text string (“3170 BLADENSBURG RD NE, WASHINGTON, DC, 20018, USA”), so “in DC” is a text filter you have to get right, and ZIP is something you split out yourself. Expired licences sit next to active ones under five different “Expired” statuses. Do it again next quarter and you repeat every step.
The faster way
DC Contractor License Lookup & List Scraper (DLCP) runs the same filter and hands back the rows already split.
{
"activity": "home_improvement",
"addressState": "DC",
"maxResults": 1000
}
activity keeps the Home Improvement Contractor licences, addressState keeps the ones whose premises address is in DC, and leaving status empty keeps them Active. maxResults at 1000 sits well above the 152 that match, so the list is complete; the run log says “152 licence(s) match; returning 152”. On Apify the whole run took about a second of work.
What comes back
{
"license_number": "420220000097",
"license_activity": "Home Improvement Contractor",
"status": "Active",
"initial_issue_date": "2020-06-03",
"expiration_date": "2028-02-29",
"business_name": "kitchen and bath shop dc LLC",
"trade_name": "Kitchen and Bath Shop",
"entity_type": "Domestic Limited Liability Company",
"registered_agent": "CAGDAS CIMEN",
"address": "3170 BLADENSBURG RD NE, WASHINGTON, DC, 20018, USA",
"street": "3170 BLADENSBURG RD NE",
"city": "WASHINGTON",
"address_state": "DC",
"zip_code": "20018",
"premise_in_dc": true,
"ward": "Ward 5",
"mailing_address": "3170 Bladensburg Rd NE, Washington, DC, 20018, USA"
}
| Field | Example value | Meaning |
|---|---|---|
business_name | kitchen and bath shop dc LLC | Legal name on the licence |
trade_name | Kitchen and Bath Shop | The DBA, when it differs from the legal name |
street / zip_code | 3170 BLADENSBURG RD NE / 20018 | The premises address, split |
ward | Ward 5 | DC ward of the premises |
registered_agent | CAGDAS CIMEN | Often the owner, on a small firm |
expiration_date | 2028-02-29 | End of the current licence term |
The ward column is what turns the list into a route. Of the 152, Ward 5 had 28, Ward 2 had 26, Wards 3 and 4 had 23 each, Ward 6 18, Ward 1 17, Ward 7 9 and Ward 8 5; three DC premises had no ward assigned. The busiest ZIPs were 20002 and 20011 with 14 licences each. 36 firms file a trade name that differs from the legal one, which is usually the name on the van. Most are small local companies: 82 are Domestic Limited Liability Companies and 9 sole proprietorships. The registered_agent is filled on 151 of the 152, and on a small firm it is often the owner by name.
What you’d do with it
Export to CSV, sort by ward, and hand each rep a ward. Address the visit to the trade name where there is one. Then use the dates: 16 of the 152 licences expire before the end of 2026, and 27 were first issued in 2026, so this is a list that changes. Re-run it each quarter and compare licence numbers to see who is new and who did not renew.
Worth knowing
There are no phone numbers or emails in DC’s licence table, on any row, and the actor does not add them. You get a premises address, a mailing address and a registered agent. The table’s latitude and longitude columns hold one placeholder value for every licence, so the actor returns no coordinates; geocode the street address if you need a map.
This list is the firms based in DC. Most home improvement contractors licensed in the District are not: of the 925 active ones, 527 had a Maryland address on 2026-10-09. To reach them, set addressState to MD instead, or drop it for all 925.
Run it yourself: How to run DC Contractor License Lookup & List Scraper (DLCP) walks the whole thing step by step, including the full 5,909-licence export.
If the same showroom sells into northern Virginia, Virginia Contractor License Lookup (DPOR Bulk) exports Virginia’s licensed contractors with an email on most rows. For Delaware, Delaware Contractor License Lookup & List Scraper does the same from that state’s two rosters.
Last updated 2026-10-09