Thumbtack Pro Scraper
Pricing
from $10.00 / 1,000 results
Thumbtack Pro Scraper
Scrape service providers from Thumbtack across categories like plumbers, cleaners, electricians, photographers, and more. Extract ratings, reviews, pricing, hires, response times, business details, categories, and profile data with city, state, and ZIP-based scraping modes.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrapes service provider listings from Thumbtack — handymen, plumbers, electricians, cleaners, photographers, and ~25 other service categories — across the US.
What you get per pro
~20 fields including:
- Identity: business name, profile URL, avatar image, "Top Pro" badge
- Reviews: rating, review count, qualifier ("Exceptional", "Excellent", "Great"), one featured review
- Hire signals: total hires, average response time, urgency pills ("In high demand", "Great value")
- Pricing: hourly rate, price range
- Business info: full description, founding year, employee count, city, state
- Categorization: every category and ZIP this pro surfaced under
Iteration modes
Thumbtack only returns 10 pros per page in the initial HTML. To get more, the actor offers four modes:
| Mode | Loops over | Requests | Typical pro count |
|---|---|---|---|
| single | nothing | 1 | ~10 |
| related | related categories | ~27 | 30–80 |
| zips | ZIP codes | ~15 | 40–100 |
| wide | categories × ZIPs | 50–400 | 100–400 |
Area control
Three ways to scope the search (pick one):
- state + city (
"tx","austin") — hits Thumbtack's canonical city URL - zipCode (
"78701") — overrides Thumbtack's IP geolocation - zips (
["10001", "10011", "10025"]) — required formode=zipsormode=wide
If none provided, Thumbtack falls back to the actor's IP geolocation.
Important: anti-bot
Thumbtack runs Akamai Bot Manager. From a datacenter IP (default Apify IP pool), you'll hit HTTP 202 challenges within a few minutes of scraping.
Strongly recommended: enable Apify Proxy with the RESIDENTIAL group. The input schema defaults to this. Without residential, expect rate limiting after ~10-30 requests.
Example inputs
Just look up handyman pros in Austin
{"categorySlug": "handyman","mode": "single","state": "tx","city": "austin"}
Get every handyman-adjacent pro in Las Vegas
{"categorySlug": "handyman","mode": "related","state": "nv","city": "las-vegas","maxCategories": 15,"sleepBetween": 4}
Spread across NYC with a custom related-category list
{"categorySlug": "house-cleaning","mode": "wide","zips": ["10001", "10011", "10025", "11201", "11215"],"relatedCategories": ["deep-house-cleaning-services", "carpet-cleaning"],"sleepBetween": 5}
Output
Results land in the default dataset. Each pro is one item. Use the Overview view in Apify Console for a quick table, or Full record to see every field. g