HomeStars Scraper | Canadian Contractor Phones
Pricing
from $2.20 / 1,000 results
HomeStars Scraper | Canadian Contractor Phones
Scrape HomeStars.com city and trade directories plus public contractor profiles. Export company names, guest-visible phones, websites, ratings, and city. Guest pages only — no Get in touch. CSV, Excel, or JSON.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
HomeStars scraper for public HomeStars.com Canadian pages. Extract HVAC contractors, plumbers, electricians, roofers, and renovation companies from city directories, trade lists, and public pro profiles. Export company names, public phones, websites, ratings, and city to CSV, Excel, or JSON. Guest HTML / __NEXT_DATA__ only.
This Actor is built for no-code operators first: pick a city slug (for example edmonton or calgary-alberta), set maxResults, click Start, and download the Dataset. Developers can call the same Actor from the Apify API, Make, n8n, Zapier, LangChain, or a schedule.
Thin Apify Actor + managed worker. The worker owns Canadian residential egress. You do not send cookies, Get in touch POSTs, or
proxyUrl. This Actor does not hit/search(that path is 404). Product host iswww.homestars.com—homestars.cahas no DNS.
What is HomeStars Scraper?
HomeStars Scraper is a HomeStars.com data extraction tool for Canadian home-service leads. It collects guest-visible listings and contact fields that a logged-out visitor can already see on Canada's largest home-services review platform.
Give it a city slug, a trade (electrician, HVAC / air-conditioning repair), or a live /profile/ URL. The Actor:
- Validates the input (
searchType,city, optionalcluster/trade) - Calls a managed worker that fetches HomeStars
__NEXT_DATA__/_next/dataJSON - Parses opened surfaces into Dataset rows (
name, phones, emails, address, person/org) - Enriches list cards by opening
/profile/(merchant phones are already in the page JSON) - Dedupes by slug and caps output with
maxResults/maxPages - Writes
INPUT_ECHO,RUN_SUMMARY, and (on failure)ERROR_SUMMARYto the key-value store
Typical users:
- B2B sales selling to Canadian trades (SaaS, insurance, fleet, financing, marketing)
- Lead-gen building HVAC / electrician / plumber lists by metro
- Recruiting for skilled trades
- Market research on ratings and review density by city
What can this HomeStars scraper do?
Mode (searchType) | What you scrape | Required input |
|---|---|---|
city-list | /find-professionals/{city} | city (calgary-alberta, edmonton, montreal). Pagination is ?page= |
trade-city | /{cluster}/{trade}-pros/{city} | cluster + trade + city |
national-trade | /{cluster}/{trade}-pros | cluster + trade (e.g. electricity / electrician, air-conditioning / air-conditioning-repair) |
profile | /profile/{numeric}-{slug} | detailUrls or profileSlug |
all-cities | Merge /all-cities + hub + home | none (hub omits some QC slugs like montreal — those still work as city-list) |
all-trades | Harvest live /{cluster}/{trade}-pros pairs | none |
privacy | HomeStars Inc. street + privacy officer email | none |
about / home | About has no merchant leads; home has platform support tel | none |
enrichDetails defaults on. City/trade list cards have no merchant phone — the worker must open the public profile.
Honest limits (read this before you buy)
- No keyword
/search.https://www.homestars.com/searchis 404. The homepage box is a job funnel, not a SERP. - No Get in touch /
/send-request-to. That path is a write/lead form, not a public read. - Merchant email and street are usually absent on guest profiles. Rows still include
leadAbsences. Platformservice@homestars.com/877-549-0757are not shop contacts. - Person names only when Ask-a-pro / a reply shows a full name. Review
firstNameis not a merchant contact. /all-citiesis incomplete.montreal/gatineaustill work ascity-list.- City slugs are not always the short name. Bare
calgaryis a hub with 0 cards; the live list iscalgary-alberta. - Slug prefix ≠
ServicePro.id. Dedup by the full/profile/slug. - Do not guess trade URLs. Invented paths such as
/heating/heating-prosredirect to the hub. Useall-tradesor a live pair.
What HomeStars data can I extract?
| Field | What you get |
|---|---|
name / org.name | Company name on the card / profile |
kind | list, profile, privacy |
url | Live https://www.homestars.com/profile/… |
phones | { value, type, e164 } from serviceProPublicProfile.phone |
emails | Usually empty + leadAbsences on merchants; privacy officer on privacy |
address | City / locality on profiles; street only on the HomeStars Inc. privacy page |
web.website | Merchant site from links[WEBSITE] |
rating / reviewCount | Public ratings when present |
listingTier | premium vs organic on lists |
workArea.localities | Service area cities on profiles |
leadSource / leadReveal / leadAbsences | How the contact was (or was not) obtained |
You do not get: quote-request inboxes, logged-in-only phones, invented emails, or sitemap-wide national dumps in one click (cap with maxResults).
Export scraped HomeStars data as JSON, CSV, Excel, or JSONL. Schedule runs, monitor them, or pull results through the Apify Dataset API.
How does this compare to other HomeStars scrapers?
Other Store Actors also scrape HomeStars. This one is a dedicated www.homestars.com guest parser with pay-per-event pricing and platform usage included.
| Need | This Actor | Typical other HomeStars Actor |
|---|---|---|
| Product host | www.homestars.com (homestars.ca has no DNS) | Often marketed as HomeStars.ca |
| Keyword search | Not available (/search is 404) | Some crawl sitemaps instead |
| Public profile phone | Yes (in NEXT_DATA; E.164) | Yes |
| Merchant email | Usually not on the page (leadAbsences) | Usually not (behind Get in touch) |
| Merchant street | Usually not on the page | Sometimes in a long bio |
| Social / badges / full review text | Not the primary output | Some extract badges / social |
| Pricing | $3.00 / 1,000 results (FREE/BRONZE), start $0.005 | Often extra per-profile events + you pay proxies |
| Platform usage | Included (User pays platform usage costs = No) | Often billed separately |
| Proxies | Worker-owned CA residential — do not send proxyUrl | You typically configure Apify Proxy |
If you need US Angi / Angie's List contractors, use Angi Scraper. If you need Google Maps places, use Google Maps Scraper. For a generic protected URL, use Stealth Web Scraper only when no dedicated Actor exists.
More Actors like this
Need US Angi contractors, Care.com caregivers, Google Maps local businesses, or a generic protected-page scrape? Use a dedicated Actor below for structured fields. Use this Actor for HomeStars.com Canadian HVAC, electrician, plumber, and renovation directories plus public profile phones.
Similar home-service & local-lead scrapers
- Angi Scraper — Angi.com / Angie's List US contractors, nearme streets
- Care.com Scraper — US caregivers, day care, jobs, About/contact phones
- Google Maps Scraper — local businesses, ratings, Maps places
- Phone Number Intelligence — validate / enrich phones from any list
- Email Risk Validator — score emails before you import a CRM
- Stealth Web Scraper — generic protected pages (prefer a dedicated Actor when one exists)
Prefer a dedicated site scraper?
If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.
Local services & lead gen
Real Estate
- Zoopla UK Scraper
- Rightmove Scraper
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Idealista Scraper
- realestate.com.au Scraper
- Properati LATAM Scraper
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Shopee Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Travel & Stays
Social & Content
Ads Intelligence
General tools
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
Need a custom site (listing + detail, your field list)? Submit a custom scraper request.
How to scrape HomeStars.com (no code required)
- Create a free Apify account
- Open HomeStars Scraper
- Choose searchType:
city-list,trade-city,national-trade,profile,all-cities,all-trades, orprivacy - For a city directory, enter a live city slug (
edmonton,calgary-alberta,montreal,ottawa,winnipeg) - For a trade, set cluster + trade (electrician =
electricity/electrician; HVAC repair =air-conditioning/air-conditioning-repair) - Click Start and download the Dataset as JSON, CSV, Excel, or JSONL
Start with maxResults: 3–5 to verify the city and trade, then scale up. Empty {} lists Calgary (calgary-alberta) so the platform auto-test succeeds — for real jobs, pass a fresh city or trade.
Scrape HomeStars contractors by city
In plain English: pick city-list + a city slug → get a table of HomeStars pros in that metro, then enrich public profile phones.
You give: searchType=city-list, city=edmonton, maxResults=20, enrichDetails=true.
Scrape electricians or HVAC nationally
In plain English: pick national-trade + a live cluster/trade pair. Do not invent /heating/heating-pros.
You give: searchType=national-trade, cluster=electricity, trade=electrician.
Scrape a trade in one city
In plain English: trade-city walks /{cluster}/{trade}-pros/{city} with ?page= pagination.
You give: searchType=trade-city, cluster=air-conditioning, trade=air-conditioning-repair, city=ottawa.
Pull one public profile or HomeStars Inc. contact
In plain English: paste a live https://www.homestars.com/profile/{id}-{slug} URL into detailUrls. Use privacy for the company street + privacy-officer email (not a merchant inbox).
Feed AI agents and automations
In plain English: start the Actor from Make, n8n, Zapier, LangChain, or the Apify API → Dataset rows are structured JSON (name, url, phones, address, leadAbsences).
How much does it cost to scrape HomeStars?
This Actor uses pay-per-event pricing. You are charged for:
| Event | Price |
|---|---|
Actor Start (apify-actor-start) | $0.005 per start |
Result (apify-default-dataset-item) | $3.00 / 1,000 results ($0.003 each on FREE/BRONZE) |
Platform usage costs are included — you do not pay separate Apify compute/proxy usage for this Actor on top of the event prices above (User pays platform usage costs = No).
Volume discount tiers (per result)
| Tier | $/1,000 | per result |
|---|---|---|
| FREE* | $3.00 | $0.003 |
| BRONZE | $3.00 | $0.003 |
| SILVER | $2.60 | $0.0026 |
| GOLD | $2.20 | $0.0022 |
| PLATINUM | $2.00 | $0.002 |
| DIAMOND | $1.60 | $0.0016 |
*FREE matches BRONZE for this Actor.
Example cost estimates (FREE/BRONZE)
| Results collected | Approx. event cost* |
|---|---|
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |
*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one). Default memory is 1024 MB.
Empty / failed runs that write zero default-dataset rows are not billed as results (you still pay Actor Start).
Free plan limits
On a free Apify plan, this Actor enforces developer limits of 10 runs and 200 results per run. Upgrade to a paid Apify plan for unlimited runs (event prices still apply).
Is scraping HomeStars free?
You can try the Actor on Apify's free plan subject to the run/result caps above. After that you pay per start and per Dataset row — not per compute unit.
Input examples
City directory (Edmonton)
{"searchType": "city-list","city": "edmonton","maxResults": 20,"enrichDetails": true}
National electricians
{"searchType": "national-trade","cluster": "electricity","trade": "electrician","maxResults": 15,"maxPages": 1,"enrichDetails": true}
HVAC repair in Ottawa
{"searchType": "trade-city","cluster": "air-conditioning","trade": "air-conditioning-repair","city": "ottawa","maxResults": 10,"enrichDetails": true}
Montreal city list (Quebec)
{"searchType": "city-list","city": "montreal","maxResults": 10,"enrichDetails": true}
HomeStars Inc. privacy / company contact
{"searchType": "privacy"}
Output
Each Dataset row is a lead-shaped object: name, kind, url, phones[], emails[], address (street, locality, region, postalCode, country, full), person, org, web.website, leadSource, leadReveal, leadAbsences.
List rows without enrichDetails have empty merchant phones plus leadAbsences — that is expected, not a parse bug. Turn enrich on to open /profile/ and collect serviceProPublicProfile.phone. Merchant email and street are usually still absent; do not treat platform support numbers as shop contacts.
Key-value store: INPUT_ECHO, RUN_SUMMARY, ERROR_SUMMARY.
FAQ
Do I need a HomeStars account or API key?
No. This Actor reads guest www.homestars.com pages. You do not log in, and you do not pass a HomeStars developer key.
Can I get every contractor's email and street address?
Usually no. HomeStars hides merchant email behind Get in touch. Guest profiles typically expose phone + website + city, not a shop inbox or civic street. This Actor records that as leadAbsences instead of inventing fields. Use privacy only for HomeStars Inc. itself.
Why isn't there a search box / keyword mode?
/search and /s return 404. The homepage "what do you need done?" box is a quote funnel, not a directory SERP. Use city lists, trade directories, or a live profile URL.
Which cities and trades are supported?
Any live directory slug on www.homestars.com. Examples that work: edmonton, calgary-alberta, montreal, ottawa, winnipeg, hamilton. Trade examples: electricity / electrician, air-conditioning / air-conditioning-repair. Run all-trades / all-cities to harvest live pairs (caps still apply). Bare calgary is a hub with 0 cards.
Can I scrape HomeStars.ca or the UK site?
No. homestars.ca has no DNS. m.homestars.com/ is 404. homestars.co.uk fails TLS. There is no French language switch. The product is www.homestars.com.
Why not Get in touch?
Submitting Get in touch is a write to HomeStars, not a public read. This Actor never POSTs /send-request-to.
Is scraping HomeStars legal?
This Actor collects publicly reachable guest pages. You are responsible for how you use the data (including Canadian privacy rules). This is an unofficial third-party tool. Follow HomeStars' terms and your own compliance review.
Is this affiliated with HomeStars?
No.
Do I need to bring proxies?
No. Do not send proxyUrl. The worker provides Canadian residential egress.
What if a run returns 0 rows or a challenge page?
Retry with another opened city / trade, or use searchType=privacy to confirm the worker is healthy. Check ERROR_SUMMARY in the key-value store. Space large harvests — rapid sequential crawls can hit a challenge page. If a city returns the hub with 0 cards, try the province suffix (calgary-alberta).
Can I use it from Make, n8n, Zapier, or LangChain?
Yes. Actor ID lentic_clockss/homestars-scraper. See Connect to your tools.
Input reference
| Parameter | Type | Description |
|---|---|---|
searchType | string | city-list, trade-city, national-trade, profile, all-cities, all-trades, privacy, about, home. search / map / quote / login are out of scope |
city | string | Live city slug (edmonton, calgary-alberta, montreal). Not always the short name |
cluster | string | URL first segment (electricity, air-conditioning) |
trade | string | Trade without -pros (electrician, air-conditioning-repair) |
profileSlug | string | Live /profile/{numeric}-{name} slug |
detailUrls | array | Live https://www.homestars.com/profile/… URLs |
market | string | ca (only opened market) |
enrichDetails | boolean | Follow /profile/ for phones (default on) |
maxResults | integer | Cap Dataset rows (free plan ≤ 200; worker hard cap 200) |
maxPages | integer | ?page=N pages (worker hard cap 50) |
workerBaseUrl | string | Optional HTTPS override. Production source of truth is Actor env |
Do not send proxyUrl, cookies, Get in touch payloads, or guessed /search URLs.
Full output schema is on the Dataset tab. Key-value store: INPUT_ECHO, RUN_SUMMARY, ERROR_SUMMARY.
Connect to your tools
| Platform | How to connect |
|---|---|
| Make.com | Search "Apify" → "Run Actor" → Actor ID lentic_clockss/homestars-scraper |
| n8n | Add Apify node → "Run Actor" → same Actor ID |
| Zapier | Apify integration → "Run Actor" |
| LangChain | ApifyActorsTool("lentic_clockss/homestars-scraper") |
| Python / Node.js | Apify SDK or direct HTTPS call |
API call example
curl "https://api.apify.com/v2/acts/lentic_clockss~homestars-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchType":"city-list","city":"edmonton","maxResults":10,"enrichDetails":true}'
Results come back in JSON via the Apify Dataset API:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Related Actors
All public Actors from lentic_clockss. Click a name to open the Store detail page.
Local services & lead gen
- Angi Scraper
- Care.com Scraper
- HomeStars Scraper
- Google Maps Scraper
- Phone Number Intelligence
- Email Risk Validator
Developer / Open source / AI
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zoopla UK Scraper
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Properati LATAM Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
- Watsons Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
→ Browse the full profile: apify.com/lentic_clockss
Changelog
- 0.1.3 — Store README / SEO rewrite; pay-per-event pricing (Actor Start $0.005, result $3.00/1,000 with volume tiers); platform usage included.
- 0.1.2 —
all-tradesharvest; skip/all-citieson every city-list; listingTier / workArea fields. - 0.1.1 — Thin Actor + Cloud Run worker for
www.homestars.comcity, trade, and public profile phones.