ASHI Home Inspectors · Emails & Phones by State avatar

ASHI Home Inspectors · Emails & Phones by State

Pricing

from $2.49 / 1,000 inspector with emails

Go to Apify Store
ASHI Home Inspectors · Emails & Phones by State

ASHI Home Inspectors · Emails & Phones by State

Export ASHI home inspectors — name, company, email, phone, website, state. Optional city and ZIP from the inspector website. One row per inspector. Public directory. No login. Need both networks? Use US Home Inspectors Hub.

Pricing

from $2.49 / 1,000 inspector with emails

Rating

0.0

(0)

Developer

Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

16 days ago

Last modified

Share

Export public ASHI inspector profiles as a spreadsheet — name, company, email, phone, website, and US state. Filter by state or paste profile URLs. Optionally copy city, ZIP, and a mailbox from the inspector’s public website.

No login. No API key. No ASHI account.

Need ASHI and InterNACHI in one run? Use US Home Inspectors Hub.

Who is this for?

You are…Typical goalSuggested setup
Solar / roofing / HVAC salesInspectors who already talk to homebuyersFlorida or California · Only rows with email or phone
Home-warranty or insurance BDTerritory list with a real mailboxOne state · 20-row first run · then raise Max inspectors
Agency / SDRCRM import with city / ZIPTurn Copy city, ZIP… on · dataset view Outreach CRM
Market researchHow many certified inspectors per stateEmpty states = nationwide · contacts optional
Ops / dataEnrich ASHI URLs you already havePaste Profile URLs

What you get by default: identity, company, membership when published, US state, profile URL. Email and phone only when ASHI prints them on the public profile — never invented.

City and ZIP are not on the ASHI card. Turn Copy city, ZIP and extra email from the inspector website on when you need a territory column (extra charge per company site opened). Leave it off for a fast Try.

How to use

  1. Open this Actor in Apify Console.
  2. Keep Florida (or pick another state). Leave states empty for nationwide.
  3. Leave Only rows with email or phone on for a CRM-ready first export.
  4. Leave website enrichment off unless you need city / ZIP.
  5. Click Start.
  6. Download JSON / CSV / Excel — views: Overview, Outreach CRM, Services.

Max inspectors = 0 → no Actor-side ceiling (Free plan still stops at 20 / run).

Ready-made examples (published tasks)

ExampleBest for
Florida inspectors with emailsHome-services outreach in FL
California inspectors with emailsWest Coast territory
Inspectors from profile URLsEnrich a short list you already have
Nationwide CRM sample20-row Try, contacts only

What it extracts

CategoryFields
Identityname, firstName, lastName, companyName, membershipLevel, memberSince
Contactemail, emails, phone, phones, website, emailFromWebsite
Locationstate, states, city, zip
ServicespropertyTypes, additionalServices
ProfileprofileUrl, slug, profileId, hasEmail, hasPhone, scrapedAt

ASHI headquarters phone (847-759-2820) and @homeinspector.org / @ashi.org mailboxes are dropped. A “Contact me today” form can sit on the page — contacts are still copied from the public HTML when present.

Typical fill (Florida, 8 contact-only rows, Aug 2026): 8/8 email and phone. Company and website fill when the inspector published them. Membership year and badge are missing on some cards. City / ZIP: only when website enrichment is on and the company site prints them.

How it works

  1. Read the public ASHI directory for the states you picked (or nationwide).
  2. Open each inspector profile page.
  3. Copy name, company, email, phone, and website when they are printed.
  4. Optionally open the company website for city, ZIP, and a mailbox the card missed.
  5. Write one row immediately — the Dataset fills as the run goes.

How much does it cost to scrape ASHI?

HTTP-only (no browser). Pay-per-event on each exported inspector, plus a ~$0.00005 start. Compute on 512 MB is typically cents.

FreeBronzeSilverGoldPlatinumDiamond
Inspector with email$0.00399$0.00349$0.00299$0.00249$0.00249$0.00249
Inspector with phone only$0.00249$0.00219$0.00189$0.00169$0.00169$0.00169
Inspector without contact$0.00149$0.00129$0.00109$0.00099$0.00099$0.00099
Inspector website crawl (optional)$0.00149$0.00129$0.00109$0.00099$0.00099$0.00099
20 emails (Try, enrichment off)$0.08$0.07$0.06$0.05$0.05$0.05
1,000 with email$3.99$3.49$2.99$2.49$2.49$2.49
~1,900 nationwide, mix of tiers~$3–8lowerlowerlowerlowerlower

Free Apify plan: 20 inspectors per run. Paid plans follow your max charge.

This Actor only copies data ASHI publishes on public inspector profile pages. Names, emails and phones are personal data — make sure your use complies with GDPR, CAN-SPAM, TCPA and any rules that apply to you. This is not legal advice.

Is scraping ASHI free?

ASHI does not charge to view public profiles. You still pay Apify PPE (and a little compute). There is no high-volume free path.

Input

ParameterTypeDefaultDescription
statesarray["FL"] prefillUS states. Empty = nationwide.
onlyWithContactbooleantrueKeep rows with published email and/or phone.
profileUrlsarray—Public profile URLs. When set, states are ignored.
maxItemsinteger200 = no numerical cap. Free plan: 20 / run.
enrichFromWebsitebooleanfalseCopy city, ZIP, and a mailbox from the inspector website.

API-only: websiteEnrichMaxPages (default 3), maxConcurrency (default 16), proxyConfiguration ({ "useApifyProxy": true } on the platform), verboseLogs (extra debug lines for support; not a Console field).

{
"states": ["FL"],
"onlyWithContact": true,
"maxItems": 20
}
{
"profileUrls": ["https://www.homeinspector.org/profile/john-ghent/"],
"maxItems": 1
}

Output example

{
"profileId": "65565",
"slug": "william-mcgarigle",
"name": "William McGarigle",
"firstName": "William",
"lastName": "McGarigle",
"companyName": "South Walton Home Inspections, LLC.",
"membershipLevel": null,
"memberSince": null,
"email": "will@southwaltonhomeinspections.com",
"emails": ["will@southwaltonhomeinspections.com"],
"phone": "(850) 797-7555",
"phones": ["(850) 797-7555"],
"website": "https://southwaltonhomeinspections.com",
"city": null,
"zip": null,
"emailFromWebsite": false,
"state": "FL",
"states": ["FL"],
"propertyTypes": ["Single-Family Homes", "New Construction Inspections"],
"additionalServices": ["Insurance Inspections", "Wind Mitigation Survey"],
"profileUrl": "https://www.homeinspector.org/profile/william-mcgarigle/",
"hasEmail": true,
"hasPhone": true,
"scrapedAt": "2026-08-26T13:43:29.029Z"
}

Download JSON, CSV, Excel, or HTML from the Dataset tab.

Also available

US Home Inspectors Hub — ASHI + InterNACHI in one run.

InterNACHI Inspectors · Emails & Phones by State — public InterNACHI inspector phones and websites by US state (optional emails from company sites).

IICRC Certified Firms — restoration / mold / cleaning firm contacts by US state.

Local development

cd ashi-homeinspector-scraper
npm install
cp .actor/INPUT.json storage/key_value_stores/default/INPUT.json
apify run --purge

Use apify run (not npm start). Default INPUT.json must include required schema fields (or pass --input-file). Local storage/ is not synced to Apify Console. Root input.json is merged locally; CLI KV input wins on key collision.

npm test runs parser unit tests (no network).

FAQ

Does every row have an email? No. The Actor never invents a mailbox. Turn Only rows with email or phone on to skip empty cards.

Why no city or ZIP on the ASHI card? ASHI does not print them on the public profile. State comes from the directory listing. Turn website enrichment on to copy city and ZIP from the inspector’s company site when they are printed.

Does Standby replace Start? No. Start = batch dataset. Standby = small JSON lookup (no website crawl). First HTTP byte timeout is 5 minutes.

InterNACHI? Not this Actor. nachi.org is behind a bot wall — use US Home Inspectors Hub or the dedicated InterNACHI Actor.

Will a 20-row Try finish in 5 minutes? Yes — HTTP-only, typically under a minute for a single state.

Standby lookup (HTTP)

Need one inspector in n8n or Make? Standby tab, GET/POST /lookup with profileUrl or state (max 5). Bearer token. No website crawl. Bulk exports stay on Start.

Support

Questions, custom scrapers, or integrations: corentin@outreacher.fr.

Ready? Pick a state, keep contacts on, and click Start.