Skip to content

Checkatrade Scraper

Try for free

Scrape Checkatrade UK tradespeople by trade and postcode, town or URL: name, phone, website, rating, reviews, owner, VAT, company type, insurance, services, coverage area, member since, optional reviews.

🛠️ Checkatrade Scraper

Extract UK tradespeople from Checkatrade by trade and location (postcode, postcode district or town), from Checkatrade search URLs, or from trade profile URLs. Each trade comes with phone number, website, rating, review counts, owner, company type, VAT number, insurance, member-since date, coverage area, services, work types and, optionally, its newest reviews. No login, no browser, fast and cheap.

✨ Why use Checkatrade Scraper?

  • 📞 Ready-to-call leads: phone number for every trade that lists one, plus website and contact name from the profile.
  • ⚡ Fast: 20 trades with full profile details in seconds, straight from Checkatrade's own data feeds.
  • 🗺️ Any trade, anywhere in the UK: trade names (Plumber, Roofer, Boiler Repair) or category IDs, in as many postcodes, districts or towns as you like.
  • 🧾 Vetting data: owner, company type, VAT registration and number, public liability insurance and insurer, member since.
  • ⭐ Reviews on demand: as many of the newest reviews per trade as you ask for, with workmanship, reliability and communication scores, at no extra charge.
  • 💸 Pay per trade: no monthly rental; trades skipped by your filters are not charged.

🎯 Use cases

  • 🎯 Lead generation: build call lists of plumbers, electricians, builders or roofers in your target areas.
  • 🤝 B2B sales: find trades who need software, insurance, vans, tools or marketing.
  • 📊 Market research: compare ratings, review volumes and coverage across towns and trades.
  • 🕵️ Competitor monitoring: track local competitors' ratings and reviews over time.
  • 🧾 Supplier vetting: check insurance, VAT and company type before you hire.

🚀 How to use

  1. Enter one or more trades (for example Plumber) and one or more locations (for example E6 1AE, GL1 or Gloucester). Or paste Checkatrade search or profile URLs.
  2. Set Max trades (and, for many locations, Max trades per search).
  3. Optionally turn on Only trades with a phone number or set Reviews per trade.
  4. Click Start.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldDescription
categoriesTrade names or Checkatrade category IDs, for example Plumber, Electrician, 20
locationsUK postcodes (E6 1AE), districts (GL1) or towns (Gloucester)
startUrlsSearch URLs (/Search/Plumber/in/E61AE) or profiles (/trades/example)
maxItemsMaximum trades in total (default 20, 0 = no limit)
maxItemsPerSearchOptional cap per trade and location
requirePhoneSkip trades without a phone number
includeProfileDetailsLoad each profile for website, owner, VAT, insurance, coverage (default on)
maxReviewsPerTradeNewest reviews to add per trade (default 0)
{
  "categories": ["Plumber", "Roofer"],
  "locations": ["E6 1AE", "Gloucester"],
  "maxItems": 100,
  "maxItemsPerSearch": 25,
  "maxReviewsPerTrade": 5
}

📤 Output

FieldDescription
name, profileUrl, companyId, uniqueNameTrade name and Checkatrade profile
phone, phoneDisplay, otherPhones, website, email, contactNameContact details as shown on the profile
location, region, coverageAreaWhere the trade is based and works
rating, reviewCount, recentReviewCount, ratingBreakdownScore out of 10, review totals and per-criterion scores
primaryTrade, trades, services, workTypes, accreditationsWhat they do (for example Domestic Work, Free Estimates)
owner, companyType, vatRegistered, vatNumber, publicLiabilityInsurance, insuredBy, memberSince, fullyVetted, guaranteedVetting information
summary, description, logoUrl, photos, latestReviewExcerpt, reviewsProfile text, media and reviews
searchCategory, searchLocation, searchPostcode, scrapedAtWhich search found the trade, and when

Example (one trade, shortened, fictional data):

{
  "companyId": 1234567,
  "name": "Example Bathrooms Ltd",
  "profileUrl": "https://www.checkatrade.com/trades/examplebathrooms",
  "phone": "+447700900123",
  "phoneDisplay": "07700 900123",
  "website": "https://www.example-bathrooms.co.uk/",
  "contactName": "Mr John Example",
  "location": "London",
  "region": "Newham",
  "coverageArea": "Newham",
  "rating": 9.92,
  "reviewCount": 30,
  "recentReviewCount": 16,
  "ratingBreakdown": {"workmanship": 9.94, "reliability": 9.88},
  "primaryTrade": "Bathrooms",
  "services": ["Bathroom Fitter", "Wet Rooms", "Tiler"],
  "workTypes": ["Domestic Work", "Commercial Work", "Free Estimates"],
  "owner": "Mr John Example",
  "companyType": "Ltd Company",
  "vatRegistered": true,
  "vatNumber": "123456789",
  "publicLiabilityInsurance": "Current: Verified 07/02/2026",
  "memberSince": "March 2026",
  "guaranteed": true,
  "reviews": [
    {"title": "Amazing new bathroom", "text": "Did an amazing job, would highly recommend.", "rating": 9.33, "workmanship": 9, "reliability": 9, "communication": 10, "date": "2026-09-24T17:00:08Z", "service": "Bathroom Fitter", "reviewerPostcode": "SE15"}
  ],
  "searchCategory": "Plumber",
  "searchLocation": "E6 1AE",
  "searchPostcode": "E6 1AE",
  "scrapedAt": "2026-10-16T02:00:00Z"
}

💰 Pricing

You pay $3.30 per 1,000 trades ($0.0033 per trade), plus a small amount of platform usage (compute and datacenter proxy traffic, usually a few cents per 1,000 trades). Reviews are included in the trade row at no extra charge. Example: 1,000 trades with profile details cost about $3.30 in events plus a few cents of usage. Trades skipped by the phone filter and failed results are never charged.

❓ FAQ

Is it legal to scrape Checkatrade? The scraper reads only public information that anyone can see without an account. Make sure your use of the data (for example cold calling) follows UK GDPR, PECR and the other rules that apply to you.

Do I need a Checkatrade account or a proxy? No account. The default datacenter proxy works; if it gets blocked, the scraper switches to UK residential exits by itself.

How many results can I get? As many as Checkatrade lists for each trade and location (for example about 115 plumbers for E6 1AE). Add more locations for wider coverage; duplicates are removed.

Why is a field empty? Not every trade fills in every detail. Website, email and accreditations only appear when the trade has added them. With profile details off, rows contain the search data only.

Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel.

I used another Checkatrade scraper. Is the input compatible? The old location, category (ID), max_pages and require_phone_number fields work as they are.

⚠️ Limits

  • UK only, as Checkatrade itself.
  • Towns and postcode districts are searched from one representative postcode (the trades that cover that point).
  • Ratings are out of 10, as on Checkatrade.
  • The order of results follows Checkatrade's own ranking, which can include sponsored listings.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.