RenovationFind Canada Contractors Scraper — Phones & Websites avatar

RenovationFind Canada Contractors Scraper — Phones & Websites

Pricing

$4.50 / 1,000 per company returneds

Go to Apify Store
RenovationFind Canada Contractors Scraper — Phones & Websites

RenovationFind Canada Contractors Scraper — Phones & Websites

Canadian renovation contractors from renovationfind.com: the company's own phone and website, street address, RenovationFind certification, letter rating and the 7 verified checks (insurance, WCB, licence, BBB), categories and areas served. Filter by market or trade. $4.50 per 1,000 companies.

Pricing

$4.50 / 1,000 per company returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Export Canadian renovation and home-improvement companies from the RenovationFind directory: roofers, basement developers, kitchen and bath renovators, HVAC, plumbers, painters, landscapers, window and siding companies. You get each company's own phone number and website exactly as its profile prints them, plus its address, its RenovationFind certification status, letter rating and the 7 verified checks (business insurance, workers' compensation, municipal licence, BBB, credit, legal, complaint review), categories, description and areas served.

One row = one company. A company listed twice is delivered and charged once.

$4.50 per 1,000 companies ($0.0045 per company). No start fee, no proxy cost. Filtered-out companies, duplicates, RenovationFind's own test accounts, removed profiles and pages the site could not serve are never charged.

Who uses this

  • Contractor-marketing agencies (SEO, PPC, websites, review management) building call lists by city and trade
  • Canadian home-services SaaS and lead marketplaces sourcing contractors, especially in Alberta and BC
  • Building-product manufacturer reps and distributors (windows, siding, roofing, cabinets) mapping installers
  • Home-warranty, insurance and restoration networks recruiting vetted trades — insuranceVerified and workersCompVerified tell you who RenovationFind has already checked

Where the directory is strong

RenovationFind is a Western-Canada-first directory. The site's own sitemaps list 6,116 companies (2026-09-23), and 62% of them are in Alberta, BC, Manitoba and Saskatchewan:

Market (markets value)CompaniesMarketCompanies
edmonton (7 cities)1,032ottawa291
calgary (+ Airdrie, Chestermere)989toronto (+ Mississauga)279
vancouver (19 Lower Mainland cities)694montreal221
winnipeg (+ Selkirk)487hamilton · kitchener · london · barrie · waterloo158 · 145 · 143 · 138 · 128
kelowna · victoria169 · 154quebec-city147
saskatoon · regina145 · 139halifax · fredericton · moncton · saint-john · st-johns136 · 136 · 129 · 130 · 125

By province: AB 2,021 · ON 1,282 · BC 1,017 · MB 487 · NB 395 · QC 368 · SK 284 · NS 136 · NL 125 (and 1 in an unlabelled market). It is not a national census of contractors: Toronto has 279 companies here. For Ontario-wide or Quebec-wide coverage pair it with a licence register (HCRA, RBQ) or HomeStars.

What you get — measured on a full-directory run (run 1okPPStmE8w8IQicL, 2026-09-23)

Every company in every market: 5,976 rows delivered from 6,116 listed profile ids (see Coverage).

FieldAll 5,976 rowsCertified (2,945)Not certified (3,031)Notes
phone95.7%96.2%95.3%the company's own number as printed; phoneE164 95.4% (the rest are vanity numbers like "780-416-DECK (3325)", Alberta 7-digit 310- lines, typos — never completed)
website86.3%87.0%85.6%the company's own domain; RenovationFind mini-site links are returned separately as renovationFindMinisiteUrl (7.6%)
streetAddress / postalCode53.7% / 51.9%70.0% / 67.3%37.8% / 37.0%
city / province44.3% / 44.2%51.0% / 50.8%37.8% / 37.8%many profiles print street + postal code only; marketProvince is 100%
renovationFindRating48.2%97.8%—A+ 125 · A 1,232 · A- 1,524
verifiedChecks + 7 check booleans49.3%100%—7/7: 125 · 5–6: 192 · 4: 1,082 · 3: 1,483 · 0–2: 63
categories91.9%90.4%93.3%
description88.9%96.1%81.8%
facebookUrl / instagramUrl38.6% / 14.1%also twitter, youtube, linkedin, pinterest, houzz when linked
servicesDescription / areasServed19.4% / 9.5%19.2% / 19.3%
logoUrl80.4%90.7%70.3%
email0.1% (4 rows)see Honest limits

Two smaller frames on the shipping build agree: Winnipeg (MB, 487 listed) phone 91.6%, website 85.0%, street 41.5%; Ottawa (ON, 289 listed) phone 86.2%, website 88.9%, street 47.4% (run yh3awi6HsVpmPRNfi).

Coverage: the sitemaps listed 6,116 profile ids; all 6,116 were read (0 not found, 0 unreadable, 0 retries). 5,976 were delivered. The other 140 were not charged: 126 re-listings of a company already delivered (same name and same phone or website, e.g. one design firm listed under 21 ids, one per market), 8 RenovationFind test/demo accounts plus its listing of itself, and 5 profiles carrying a closure notice.

Two kinds of profile. RenovationFind lists two kinds of company, and the row tells you which (certified):

  • Certified (2,945 companies, 49%) — the company went through RenovationFind's screening. Its row carries the letter rating (A+, A, A-), the 7 checks one by one, verifiedChecks (0–7), a street address on most profiles, services, areas served and a photo count.
  • Not certified (3,031, 51%) — an unclaimed listing. RenovationFind still prints the company's phone and website (these rows actually have the higher website fill), categories and description, but no rating and usually no address.

Input

FieldDefaultWhat it does
markets["calgary"]A market key (edmonton, calgary, vancouver, victoria, kelowna, winnipeg, saskatoon, regina, toronto, ottawa, hamilton, kitchener, london, barrie, waterloo, montreal, quebec-city, halifax, fredericton, moncton, saint-john, st-johns), a city inside one (burnaby, sherwood park, airdrie, mississauga…), a province code (AB, BC, MB, SK, ON, QC, NS, NB, NL) or all.
categoryPageUrls[]RenovationFind city + category pages, e.g. https://www.renovationfind.com/ab/edmonton/bathroom-renovations. Exports every company the page lists (these pages list certified companies). Replaces markets.
companyUrls[]Specific /companies/<name>-<id> profiles to refresh. Replaces markets.
certifiedOnlyfalseOnly certified companies (never charged for the rest).
minVerifiedChecks0Only certified companies with at least N of the 7 checks verified.
categoryKeywords[]Only companies whose categories or name contain one of these words (roof, plumb, basement, hvac, window…).
requirePhone / requireWebsitefalseOnly companies that print a phone / their own website.
excludeClosedtrueSkip profiles whose description carries a closure notice ("OUT OF BUSINESS", "permanently closed", "ceasing operations"). Off = delivered with businessClosedNotice: true.
collapseDuplicateListingstrueOne row per company: a profile with the same name and the same phone or website as one already delivered is skipped and not charged. Off = every profile id.
maxResults75Stop after this many companies. 0 = no limit.
concurrency4The most pages fetched at once — see How it works.
requestTimeoutSecs60Hard deadline per page; slow pages are retried.
proxyConfigurationoffNot needed — the site answers Apify directly. If a proxy you choose cannot be set up, the run continues without one.

Example — every certified roofing company in Alberta:

{
"markets": ["AB"],
"categoryKeywords": ["roof"],
"certifiedOnly": true,
"maxResults": 0
}

Filters are applied after a profile is read (the directory has no server-side filter for them), so a narrow filter over a big market reads more pages than it delivers — you are still only charged for delivered rows.

Output — a real row (run 1okPPStmE8w8IQicL, 2026-09-23)

{
"companyId": 7106,
"name": "Highcliffe Mechanical Ltd.",
"phone": "587-317-4430",
"phoneE164": "+15873174430",
"phoneExtension": null,
"phoneIsTollFree": false,
"additionalPhones": [],
"website": "https://highcliffemechanical.com/",
"websiteDomain": "highcliffemechanical.com",
"email": null,
"emailSource": null,
"streetAddress": "#5, 4216 10 Street NE",
"city": "Calgary",
"province": "AB",
"postalCode": "T2E 6K3",
"address": "#5, 4216 10 Street NE, Calgary, AB, T2E 6K3",
"certified": true,
"renovationFindRating": "A+",
"verifiedChecks": 7,
"creditCheckVerified": true,
"legalCheckVerified": true,
"complaintReviewVerified": true,
"insuranceVerified": true,
"workersCompVerified": true,
"businessLicenseVerified": true,
"bbbVerified": true,
"categories": [
"Air Conditioning",
"Drains and Sewer Cleaning",
"Furnace Repair",
"Furnace Replacement & Installation",
"Gas Line Installation",
"Hot Water Heater Installation & Replacement",
"HVAC Companies",
"Hydronic Heating",
"Plumbers",
"Plumbing",
"Plumbing Fixtures, Parts, Supplies",
"Poly B Replacement",
"Water Filtration & Purification"
],
"businessClosedNotice": false,
"description": "New installs, service, repairs, renovations, retro-fits, new builds and lease bays for residential and commercial plumbing, heating, gasfitting and air conditioning applications.",
"servicesDescription": "Residential and commercial plumbing, heating, gas fitting and air conditioning",
"areasServed": "Calgary and surrounding, such as Airdrie, Cochrane, Chestermere, Bragg Creek, Okotoks, High River & Strathmore",
"facebookUrl": "https://www.facebook.com/HighcliffeMech",
"instagramUrl": null,
"twitterUrl": null,
"youtubeUrl": null,
"linkedinUrl": null,
"pinterestUrl": null,
"houzzUrl": null,
"photoCount": 21,
"logoUrl": null,
"market": "calgary",
"marketName": "Calgary region",
"marketProvince": "AB",
"profileUrl": "https://www.renovationfind.com/companies/highcliffe-mechanical-ltd-7106",
"renovationFindMinisiteUrl": null,
"scrapedAt": "2026-09-23T09:39:47.805Z"
}

Field reference

  • companyId, profileUrl — RenovationFind's own id and canonical profile. Dedupe key.
  • phone — the company's number as printed in its profile's Contact Info (never RenovationFind's own 1-800-576-8998, which is on every page). phoneE164 — +1 + the 10 digits, only when exactly one complete North-American number can be read off the printed text by reformatting; phoneExtension; phoneIsTollFree; additionalPhones — a second number when the company typed two into one entry ("403-708-0810, 403 889-9941").
  • website, websiteDomain — the company's own site from the profile's "Website" link. When that link points to RenovationFind's hosted mini-site it is returned as renovationFindMinisiteUrl instead; when it points to a Facebook page it is returned as facebookUrl.
  • emailFromDescription — RenovationFind has no e-mail field; a few companies type an address into their own description, and it is taken from there only.
  • streetAddress, city, province (2-letter code), postalCode (A1A 1A1), address — from the profile's structured data and address block.
  • certified, renovationFindRating, verifiedChecks and the seven check booleans creditCheckVerified, legalCheckVerified, complaintReviewVerified, insuranceVerified, workersCompVerified, businessLicenseVerified, bbbVerified — true = check mark, false = cross, null on not-certified profiles (never screened).
  • categories, description, servicesDescription (the company's own "Services Provided" text), areasServed, photoCount, logoUrl.
  • facebookUrl, instagramUrl, twitterUrl, youtubeUrl, linkedinUrl, pinterestUrl, houzzUrl.
  • market, marketName, marketProvince — the RenovationFind market whose sitemap lists the company (the only location signal on many not-certified profiles).

How it works — and the traps it handles

  • Enumeration from the site's own sitemaps. Each market has a company sitemap; the actor reads the ones you ask for, dedupes on the numeric company id, and fails the run rather than continue if a market's sitemap cannot be read in full — a partial list would look like a small market. RUN_SUMMARY.enumeration gives sitemap entries vs unique companies for your run.
  • The origin server is weak. Measured: at 8 parallel requests the site's response time rose from 0.3 s to 12–64 s for every visitor. The actor starts at 2 parallel requests, adds one after each run of normal responses, and halves whenever a page takes over 20 s — never above your concurrency. Not-certified profiles in the Vancouver market take ~8 s each even on an idle server; the whole directory takes about 35 minutes.
  • The market sitemaps are generated on request (Vancouver 66 s, Edmonton 38 s, Calgary 22 s to first byte), so they get a 3-minute deadline of their own.
  • A removed company is not a 404 — the site redirects /companies/<anything>-<unknown id> to /404. Those are reported as "not found" and never charged.
  • RenovationFind's own test accounts are live profiles ("Tutorial", "Sample", "Keith & Test", "Ansh test vendor", "Your Company Name Here"…). They are dropped, listed in RUN_SUMMARY.notCharged.testListings, and never charged.
  • Platform contacts never ship as a company's. RenovationFind's own phone line, its mini-site links and its contact-form placeholders (john@example.com, john@smithrenovations.ca) are on every page; the actor reads only the profile's Contact Info block and fails the run if any of them ever reaches a row (0 across 5,976 rows).
  • No call tracking. The printed number is the company's own: across the 5,976 delivered rows no number is printed by more than 4 differently-named companies, and those 4 are branches of one security firm (Liberty Security Systems Edmonton / Calgary / Kelowna / Halifax). A number printed by 5+ different companies would be withheld as a switchboard.
  • Safe across platform migrations. Apify moves long runs between servers and restarts them from the top. The actor saves its progress after every batch, and a restarted run skips every company it already read, so nothing is delivered or charged twice (tested by rebooting a run at company 160: 400 delivered, 400 unique, 400 charged).
  • HTTP 200 with a Cloudflare challenge or a truncated page is a failed request and is retried, never an empty company. If more than 20% of profiles fail after retries the run stops and says so.

Pricing

Pay per event: $0.0045 per company delivered ($4.50 per 1,000). A run with the default input (maxResults 75) costs at most $0.34; the whole directory (~6,116 companies) about $27. If you set a maximum charge for the run, the actor stops delivering exactly at your budget.

Honest limits

  • E-mail is almost never available. RenovationFind profiles have no e-mail field; contact goes through its quote form. emailFromDescription is filled on 0.1% of rows. Most rows have a website: run those through a website contact extractor if you need e-mails.
  • Address on about half the rows. Certified profiles carry structured addresses (70% street); most not-certified profiles print none, and for those market / marketProvince is the location.
  • Not a national census — see Where the directory is strong. Ontario and Quebec coverage is thin.
  • certified is the page's own template, not a guarantee: 47 certified profiles show 0 of 7 checks verified (new members), and 64 carry no letter rating. Filter with minVerifiedChecks if you need screened companies only.
  • Profiles go stale. Some unclaimed listings are old; a number or website may no longer work. RenovationFind does not publish a last-updated date.

Source

Data is read from public pages of renovationfind.com: the sitemap index (/sitemap.xml), each market's sitemap-city-companies.xml, city/category pages and /companies/<name>-<id> profiles. The /company/ mini-site link is returned as a URL, never opened.