Skip to main content gottem  — one API for every scraper.
Home Services
Verified

HomeAdvisor Scraper

Extract home improvement contractor listings, project cost guides, screened professional data, and homeowner reviews from HomeAdvisor. Built on spider-browser .

Get started Docs
target
homeadvisor.com
success rate
99.9%
latency
~4ms
Quick start

Extract data in minutes.

homeadvisor-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
  stealth: 2,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.homeadvisor.com/c.Roofing.Houston.TX.-12057.html");
await page.content(10000);

const data = await page.evaluate(`(() => {
  const pros = [];
  document.querySelectorAll(".pro-listing-card").forEach(el => {
    const name = el.querySelector(".pro-name")?.textContent?.trim();
    const rating = el.querySelector(".star-rating-value")?.textContent?.trim();
    const reviews = el.querySelector(".review-count")?.textContent?.trim();
    const screened = el.querySelector(".screened-badge") ? true : false;
    const phone = el.querySelector(".phone-number")?.textContent?.trim();
    if (name) pros.push({ name, rating, reviews, screened, phone });
  });
  return JSON.stringify({ total: pros.length, pros: pros.slice(0, 10) });
})()`);

console.log(JSON.parse(data));
await spider.close();
ready to run · spider-browser · TypeScript
Fetch API

One endpoint for homeadvisor.com.

Structured JSON from homeadvisor.com with a single POST. AI-resolved selectors, cached on the first call.

POST /fetch/homeadvisor.com/
Business nameRatingReview countScreened badgeService categoryCost range
cURL
curl -X POST https://api.spider.cloud/fetch/homeadvisor.com/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/homeadvisor.com/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/homeadvisor.com/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Fields you can pull.

Business nameRatingReview countScreened badgeService categoryCost rangePhone numberYears screened
Listings

Provider search

Extract contractor profiles, ratings, and availability from homeadvisor.com.

Geo

Local targeting

Access location-specific service providers with geo-targeted proxies.

Data

Review aggregation

Extract ratings, reviews, and pricing from home service marketplaces.

Related

More Home Services scrapers.

Start

Start scraping homeadvisor.com.

Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.