← Use cases

Use case

Export Annapolis, Maryland Home Improvement Contractors

Every active MHIC-licensed home improvement contractor with an Annapolis business address, with licensee, trade name, street address, ZIP and expiry.

Say you offer customer financing to home improvement contractors, and you want a postcard in the mailbox of every licensed remodeler, roofer and deck builder in Annapolis before the spring selling season: a trade name, the licensee’s name for the salutation, and a street address that will take a postcard. In Maryland that list is the Maryland Home Improvement Commission’s (MHIC) active licences. On 2026-10-12 MHIC had 377 active licences with an Annapolis business address, out of 21,622 statewide.

The manual way, and what it costs

The Maryland Home Improvement Public Query business location search
MHIC's business location search: one city or ZIP, 50 licences to a page, no download.

MHIC’s public query is free and it has exactly the fields you need. Type Annapolis into City Name and it lists 381 licences, 50 to a page, which is eight pages to copy into a spreadsheet. That is an afternoon of honest work, not a week, and for a one-off mailing in one city it is a reasonable way to do it.

Two things make the copy worse than it looks. The city box is a prefix match, so it returns any city whose name starts with Annapolis; only 377 of the 381 are an exact Annapolis. And trade names longer than the results column are cut off and finish inside the address cell, so a pasted list has company names running into street addresses and needs cleaning row by row before a mail house will take it. Do it again next quarter and you start from scratch, because the query has no download.

The faster way

Maryland Contractor License Lookup & List Scraper (MHIC) runs the same city search, pages through it and cleans each row.

{
  "city": "Annapolis",
  "maxResults": 1000
}

city is matched exactly against the business-address city, which is why the run keeps 377 of the 381 MHIC lists; the log says “city Annapolis: source lists 381, kept 377 in 16s”. maxResults at 1000 sits well above that, so nothing is cut off. On Apify on 2026-10-12 the whole run took 21 seconds. To take the surrounding towns in the same mailing, add them to cities rather than widening to the state’s 21,622.

What comes back

A real row from that run:

{
  "license_number": "108062",
  "license_suffix": null,
  "person_name": "JOSHUA BOND",
  "business_name": "A CRAFTSMAN'S HANDS LLC",
  "address": "1417 LEHMAN COURT",
  "city": "ANNAPOLIS",
  "address_state": "MD",
  "zip_code": "21409",
  "expiration_date": "2028-06-18",
  "license_category": "CONTRACTOR/SALESMAN",
  "business_reference": "05-131662",
  "status": "Active",
  "phone": null,
  "matched_by": "export",
  "license_type": "Home Improvement License",
  "state": "MD",
  "source_url": "https://www.dllr.state.md.us/cgi-bin/ElectronicLicensing/OP_Search/OP_search.cgi?calling_app=HIC::HIC_business_location"
}
FieldExample valueMeaning
business_nameA CRAFTSMAN'S HANDS LLCTrade name, rejoined when MHIC’s column cut it
person_nameJOSHUA BONDThe licensed individual
address / zip_code1417 LEHMAN COURT / 21409Business street address
expiration_date2028-06-18Licence expiry date
license_suffix—Registration suffix (-01, -02 …) when MHIC shows one

address is what makes this a mailing list. All 377 rows had a street address, at 373 distinct addresses, and only 2 are PO boxes. person_name was filled on all 377, so the postcard can be addressed to a person rather than “Owner”. 229 of the trade names are LLCs. 10 rows carry a suffix such as -01, where one registration number covers more than one licensee, so de-duplicate on the number and the suffix together.

What you’d do with it

Export to CSV and hand it to the mail house, or load it into the CRM keyed on license_number plus license_suffix so the next pull updates rows instead of duplicating them. Most of the list falls in three ZIPs, 21401 (189 licences), 21403 (95) and 21409 (78), which makes a carrier-route mailing cheap. Then use expiration_date: 27 of the 377 expire before the end of 2026 and 83 by the end of March 2027, the contractors renewing soonest. Re-run each quarter and compare registration numbers to catch the new licensees.

Worth knowing

There is no phone and no email: MHIC publishes neither, so this is a direct-mail or door-knocking list, not a call list. The city is the business address MHIC holds, not where the contractor works, so an Edgewater or Arnold firm that does Annapolis jobs is not on it. The address cell is free text, and it shows: 11 of the 377 Annapolis rows carry a ZIP outside the 214xx Annapolis range, two of them a placeholder “00002”, so run the list through an address checker before you pay for postage. The list is active licences only, read live from MHIC on the day you run it.


Run it yourself: How to run Maryland Contractor License Lookup & List Scraper (MHIC) walks the whole thing step by step, including the full 21,622-licence export.

To check contractors you already work with rather than find new ones, Verify Maryland MHIC Contractor Licenses runs their registration numbers and names. For firms just over the line in Delaware, Delaware Contractor License Lookup & List Scraper (DOR + DPR) exports Delaware’s contractor licences with street addresses.

Last updated 2026-10-12