Checkatrade Scraper [$3/1k💰] | Reviews | UK Trades Leads
Pricing
from $2.97 / 1,000 results
Checkatrade Scraper [$3/1k💰] | Reviews | UK Trades Leads
Scrape Checkatrade, the UK's vetted tradespeople directory: company name, trade, location, rating out of 10, review count, phone and latest review text. Build UK trades lead lists, run review intelligence and research the home-services market — a real Checkatrade API alternative.
Pricing
from $2.97 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Features
Share
Checkatrade Scraper - UK Tradespeople, Ratings and Review Data
The Checkatrade Scraper turns Checkatrade trade and location searches into structured UK tradesperson records. Collect company names, profile URLs, trades, service locations, ratings out of 10, review counts, phone numbers and the latest published review - one clean dataset row per search result.
Use it to build UK home-services lead lists, monitor reputation by trade and region, compare local supply or feed a CRM with public business contact data. Start with a trade and location, or paste a Checkatrade search URL you already use. The Actor is a practical alternative when you need repeatable Checkatrade data without copying results by hand.
Main Use Cases for Checkatrade Tradesperson Data
- UK trades lead generation - collect plumbers, electricians, builders and other vetted trades by city, county or postcode.
- Reputation monitoring - compare
ratingandtotalReviewsacross companies, trades and service areas. - Review intelligence - capture the latest review text, author and review rating exposed in search results.
- Local market research - measure how many listed tradespeople serve a location and how their ratings compare.
- CRM and outreach preparation - export company names, profiles and public phone numbers for a sales or partnerships team.
- Home-services directories - feed a consumer-facing directory with current Checkatrade listings.
- AI agent workflows - provide an LLM with compact, typed UK tradesperson records for comparison and shortlisting.
How It Works

The Actor builds a Checkatrade search URL for every trade and location pair, or uses the search URLs you provide. It fetches the public search pages over plain HTTP with Chrome TLS impersonation and reads the structured ItemList data embedded in each page. A React Server Components fallback is used when the schema.org payload is unavailable.
Checkatrade search pages normally show 12 results per page. The first page discovers the remaining pages, and each page is processed with a configurable concurrency limit and a short delay between requests. The Actor respects maxItems while pushing rows, so the result count can be approximate when several pages finish at the same time, but it does not run far beyond your target.
Each row describes one company found in the search results. It includes the company name, stable Checkatrade slug, profile URL, requested trade, requested search location, locality, country code, rating, review count, phone number and the latest review fields where Checkatrade publishes them. The Actor does not open every company profile, so fields such as a website, owner name or full list of services are not part of this output.
Checkatrade sits behind Cloudflare. Datacenter requests are frequently challenged, and the most reliable setup is an Apify residential proxy with GB exits. The Actor supports configurable retries and session rotation for that reason. It does not require a Checkatrade account, cookie or browser session.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
startUrls | string[] | No | [] | Direct Checkatrade search URLs. When supplied, they replace the generated trade and location searches. |
trades | string[] | No | ["Plumber"] | Trades to search, for example Plumber, Electrician or Builder. Each trade is combined with every location. |
locations | string[] | No | ["Greater-London"] | UK postcodes, counties or location names, for example IG11 8BB, Kent or Greater-London. |
maxItems | integer | No | 100 | Maximum tradespeople to return. Set 0 for no item cap. |
maxConcurrency | integer | No | 4 | Number of search pages fetched in parallel. Lower it if Checkatrade starts blocking. |
maxRequestRetries | integer | No | 15 | Retries for a challenged page. Each retry can rotate to a fresh proxy session. |
pageDelayMs | integer | No | 1000 | Delay before each search-page request, in milliseconds. |
proxyConfiguration | object | No | disabled | Apify proxy configuration. A GB residential group is recommended for production runs. |
If startUrls is empty, the Actor generates https://www.checkatrade.com/Search/{trade}/in/{location} URLs from trades and locations. You can pass several trades and locations in one run; the Actor creates the Cartesian product. Keep the retry budget generous because a single blocked page can otherwise reduce the result count.
Output
The dataset contains 13 fields on the normal structured-data path. The fallback parser can emit fewer fields when a page exposes only React Server Components data.
| Field group | Fields | What you get |
|---|---|---|
| Company | companyName, uniqueName, profileUrl | Trading name, Checkatrade slug and canonical profile URL. |
| Search context | trade, searchLocation | The trade and location that produced the row. |
| Location | locality, addressCountry | Locality from the listing and the country code, normally GB. |
| Reputation | rating, totalReviews | Checkatrade rating out of 10 and the published review count. |
| Contact | phone | Public phone number when the listing exposes one. |
| Latest review | reviewBody, reviewAuthor, reviewRating | The most recent review snippet and its author and rating when available. |
The output is flat JSON with one row per tradesperson. Phone numbers and review text are optional because not every listing publishes them. The Actor preserves nulls instead of inventing values. Ratings are not converted to a five-star scale: they stay in Checkatrade's out-of-10 format.
Pricing
The Actor uses pay-per-event pricing. A small start event is charged for each run, and every tradesperson row written to the dataset is billed as a result.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Actor start, per run | $0.0005 | $0.0005 | $0.0005 | $0.0005 | $0.0005 | $0.0005 |
| Tradesperson result | $0.003 | $0.00299 | $0.00298 | $0.00297 | $0.00297 | $0.00297 |
That is approximately $3.00 per 1,000 tradespeople on the FREE tier and slightly less on higher plans. Failed or empty requests are not billed as results. Set maxItems deliberately because every returned row counts as a result.
Example Input
{"trades": ["Plumber", "Electrician"],"locations": ["Greater-London", "Kent"],"maxItems": 100,"maxConcurrency": 4,"pageDelayMs": 1000}
Example Output
{"companyName": "FastFix Ltd","uniqueName": "fastfix","profileUrl": "https://www.checkatrade.com/trades/fastfix","trade": "Plumber","searchLocation": "Greater-London","locality": "London","addressCountry": "GB","rating": 9.52,"totalReviews": 176,"phone": "+447727668354","reviewBody": "Arrived on time and fixed the leak quickly.","reviewAuthor": "A Checkatrade customer","reviewRating": 10}
Integrations and Automation
Run the Actor from the Apify API, the Apify MCP server, Zapier, Make, n8n or an Apify schedule. Send new rows to Google Sheets, Airtable, a CRM or a database through webhooks, or export the dataset as JSON, CSV, Excel, XML or HTML.
Useful patterns include a weekly rating monitor for selected trades, a monthly lead list by region, a dashboard comparing review counts and a change alert when a company's rating moves. Because companyName, uniqueName and profileUrl are stable, you can compare datasets between runs without rebuilding your key logic. Keep the requested trade and searchLocation fields when you need to preserve which query produced each company.
Related Actors
- Angi Scraper - US home-services listings, ratings and review data.
- Local Business Leads Scraper - extract emails, phones and addresses from business websites.
- Chamber of Commerce Scraper - B2B member leads from chamber directories.
FAQ
Does the Checkatrade Scraper open company profile pages?
No. It reads public search-result pages only. That keeps runs fast and predictable, but it also means fields that appear only on a profile page - such as a full description, owner name, website or complete service list - are not included.
What does the rating represent?
rating is the Checkatrade score shown in search results, normally on a 0-10 scale. It is not converted to 0-5. totalReviews is the review count published alongside that rating.
Why is the phone number missing?
Checkatrade does not expose a phone number for every listing, and some listings change their contact preferences. The field is nullable. The same applies to the latest review fields.
Does it work without a residential proxy?
It can, but Checkatrade uses Cloudflare and datacenter IPs are often challenged. For reliable production runs, enable Apify residential proxies with GB exits and keep maxRequestRetries high enough to rotate through blocked sessions.
How many results can one run return?
There is no hard-coded total cap. maxItems controls the target, and 0 means no item cap. Search pages contain about 12 results each, so very large runs depend on how many pages Checkatrade returns for your trade and location combination.
Can I use the data for cold outreach?
The Actor collects publicly displayed business listing data, including phone numbers and review-author names that may be personal data under UK GDPR. You are responsible for having a lawful basis, honoring marketing rules and respecting Checkatrade's terms. Do not treat the dataset as a consumer credit or background-check product.
For AI Agents and LLM Apps
The Actor returns clean JSON rows that are easy to filter, rank and cite. It is callable through the Apify API and the Apify MCP server.
Minimal input
{"trades": ["Plumber"],"locations": ["Greater-London"],"maxItems": 20}
Behavior an agent should know
- One item represents one company found in a Checkatrade search result.
ratingis out of 10; do not compare it directly with five-star review sources.uniqueNameis the stable identifier;profileUrlresolves to the public Checkatrade profile.phone,reviewBody,reviewAuthorandreviewRatingcan be null.maxItemsis a target rather than a strict global lock when pages run concurrently.- Large multi-trade, multi-location runs cost more because each returned company is billed.
Suggested tool description: "Collect UK tradesperson records from Checkatrade searches, including company, trade, location, rating, review count, phone and latest review data."
Legal and Compliance
This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Checkatrade. It accesses publicly available search-result pages for legitimate market research, directory building and business analysis. Checkatrade's terms, robots guidance and UK data-protection rules still apply.
Phone numbers and review-author names can identify individuals even when they appear in a business directory. If you use the data for outreach, keep an appropriate lawful basis, provide opt-out handling and follow UK GDPR, PECR and applicable marketing rules. Do not use this Actor to bypass access controls, to build consumer reports or to make automated decisions about individuals.
SEO Keywords
Checkatrade scraper, Checkatrade data, Checkatrade API alternative, UK tradespeople data, UK trades leads, Checkatrade ratings, Checkatrade reviews, plumber leads UK, electrician leads UK, builder leads, UK home services data, tradesperson directory, Checkatrade search scraper, local trade leads, Checkatrade phone numbers, Checkatrade review data, UK business directory scraper, home improvement leads, tradesperson ratings, Checkatrade dataset, UK local services, Checkatrade export