InterNACHI Inspectors · Emails & Phones by State
Pricing
from $2.49 / 1,000 inspector with emails
InterNACHI Inspectors · Emails & Phones by State
Export InterNACHI certified inspectors — name, company, phone, website, city, state. Optional emails from the inspector website. Filter by US state or paste profile URLs. One row per inspector. Public directory. No login.
Pricing
from $2.49 / 1,000 inspector with emails
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Export public InterNACHI certified inspector profiles as a spreadsheet — name, company, phone, website, city, and US state. Filter by state or paste profile URLs. Optionally copy a mailbox from the inspector’s public website.
No login. No API key. No InterNACHI account.
The directory itself publishes phone and website. It does not publish emails (contact is a Send Message form). Emails appear only when you turn on website lookup.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Solar / roofing / HVAC sales | Inspectors who already talk to homebuyers | Florida or California · Only rows with phone or website |
| Home-warranty or insurance BD | Territory list with a real phone | One state · 20-row first run · then raise Max inspectors |
| Agency / SDR | CRM import, one row per inspector | Dataset view Outreach CRM · optional website emails |
| Market research | How many certified inspectors per state | Empty states = nationwide · contacts optional |
| Ops / data | Enrich InterNACHI URLs you already have | Paste Profile URLs |
What you get by default: name, company, InterNACHI ID, city, state, phone when printed, website when printed, extra services, profile URL.
When to enable website emails: outbound that needs a mailbox. The Actor visits the published company site (homepage + a few contact pages) and copies a public address when it is printed — never invented, never taken from the InterNACHI form.
How to use
- Open this Actor in Apify Console.
- Keep Florida (or pick another state). Leave states empty for nationwide.
- Leave Only rows with phone or website on for a CRM-ready first export.
- Leave Find emails on the inspector website off unless you need mailboxes.
- Click Start.
- 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)
| Example | Best for |
|---|---|
| Florida InterNACHI inspectors with phones | Home-services outreach in FL |
| California InterNACHI inspectors with phones | West Coast territory |
| Enrich InterNACHI inspectors from profile URLs | A short list you already have |
| Nationwide InterNACHI CRM sample | 20-row Try, contacts only |
What it extracts
| Category | Fields |
|---|---|
| Identity | name, firstName, lastName, companyName, internachiId |
| Contact | phone, phones, website, email (website only), emails |
| Location | city, state, states |
| Services | extraServices |
| Profile | profileUrl, slug, profileId, hasEmail, hasPhone, hasWebsite, scrapedAt |
InterNACHI headquarters phones and @nachi.org / @internachi.org mailboxes are dropped. The Send Message form is never harvested.
Typical fill: almost every listing publishes a phone. Many profiles publish a website. Email is empty unless website lookup is on and the company site prints a mailbox.
How it works
- Open the public InterNACHI browse pages for the states you picked (or nationwide).
- Read the Member / Servicing / Phone table and follow each inspector profile.
- Copy name, company, phone, website, city, state, InterNACHI ID, and extra services when they are printed.
- If website emails are on, visit the company site and copy a public mailbox when present.
- Write one row immediately — the Dataset fills as the run goes.
How much does it cost to scrape InterNACHI?
Pay-per-event on each exported inspector, plus a ~$0.00005 start. Browser work uses about 2 GB.
| Free | Bronze | Silver | Gold | Platinum | Diamond | |
|---|---|---|---|---|---|---|
| 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 |
| 20 phones (Try) | $0.05 | $0.04 | $0.04 | $0.03 | $0.03 | $0.03 |
| 1,000 with phone | $2.49 | $2.19 | $1.89 | $1.69 | $1.69 | $1.69 |
| 1,000 with email | $3.99 | $3.49 | $2.99 | $2.49 | $2.49 | $2.49 |
Free Apify plan: 20 inspectors per run. Paid plans follow your max charge.
Is it legal to scrape InterNACHI?
This Actor only copies data InterNACHI publishes on public inspector listing and profile pages, plus public pages on the inspector’s own website when that option is on. 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 InterNACHI free?
InterNACHI does not charge to view public profiles. You still pay Apify PPE (and a little compute). There is no high-volume free path.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
states | array | ["FL"] prefill | US states. Empty = nationwide. |
onlyWithContact | boolean | false (true in Try) | Keep rows with published phone and/or website. |
profileUrls | array | — | Public profile URLs. When set, states are ignored. |
maxItems | integer | 20 | 0 = no numerical cap. Free plan: 20 / run. |
findEmailsOnWebsite | boolean | false | Copy a mailbox from the inspector’s public website. |
API-only: websiteEmailMaxPages (default 3), maxConcurrency (default 2), proxyConfiguration (Apify residential proxy on the platform).
{"states": ["FL"],"onlyWithContact": true,"maxItems": 20}
{"profileUrls": ["https://www.nachi.org/certified-inspectors/david-wiggins-jr-19121"],"maxItems": 1}
{"states": ["FL"],"onlyWithContact": true,"findEmailsOnWebsite": true,"maxItems": 20}
Output example
{"profileId": "19121","slug": "david-wiggins-jr","name": "David Wiggins Jr","firstName": "David","lastName": "Wiggins Jr","companyName": "Jax Inspect","internachiId": "NACHI10030604","email": null,"emails": [],"emailFromWebsite": null,"phone": "(904) 248-8665","phones": ["(904) 248-8665"],"website": "http://www.jaxinspect.com","city": "Jacksonville","state": "FL","states": ["FL"],"extraServices": ["Four-Point Inspections", "Wind Mitigation Inspections"],"profileUrl": "https://www.nachi.org/certified-inspectors/david-wiggins-jr-19121","hasEmail": false,"hasPhone": true,"hasWebsite": true,"scrapedAt": "2026-09-06T13:10:00.000Z"}
Download JSON, CSV, Excel, or HTML from the Dataset tab.
Also available
US Home Inspectors Hub — ASHI + InterNACHI in one run.
ASHI Home Inspectors · Emails & Phones by State — public ASHI inspector emails and phones by US state.
IICRC Certified Firms — restoration / mold / cleaning firm contacts by US state.
Local development
cd internachi-inspectors-scrapernpm installcp .actor/INPUT.json storage/key_value_stores/default/INPUT.jsonapify 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 public directory does not print mailboxes. Turn Find emails on the inspector website on to copy addresses from company sites when they exist.
Why phone or website for “contacts”? That is what InterNACHI publishes on the listing and profile. Email is extra.
Will a 20-row Try finish in 5 minutes? Yes for a single state without website emails.
Do I need a proxy? Cloud runs use Apify proxy by default. You can pass proxyConfiguration via API.
Support
Questions, custom scrapers, or integrations: corentin@outreacher.fr.
Ready? Pick a state, keep contacts on, and click Start.