Checkatrade UK Tradespeople & Trades Contacts Scraper avatar

Checkatrade UK Tradespeople & Trades Contacts Scraper

Pricing

from $25.50 / 1,000 results

Go to Apify Store
Checkatrade UK Tradespeople & Trades Contacts Scraper

Checkatrade UK Tradespeople & Trades Contacts Scraper

Extract UK tradespeople from Checkatrade by trade and location: company name, trade category, area covered, phone, address, rating, review count, verified status, member since and profile URL. Export to JSON, CSV or Excel.

Pricing

from $25.50 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

Share

Checkatrade UK Tradespeople & Trades Contacts Scraper

Checkatrade UK Tradespeople & Trades Contacts Scraper

Here is one real result, with every field the actor returns (gallery and reviews arrays trimmed for length; the values shown are real):

{
"imageUrl": "https://lh3.googleusercontent.com/srGkOVS0Be8_aY_bMQqENufIMJiiIHQFPEoznWXeykSKVNAKfmAHzlvckfBFbxVVF-2PxCYghPDmG-rQF-3Nb6pKtOXzEOxGXYWJKRadVDqpBQZSdtO_psrMpXZvW00",
"bannerImageUrl": "https://lh3.googleusercontent.com/UDhmlmHBwYrgf9mAsPEoimf1JF8HPlot4Uehm5a1sNwopgIQquGJ-Q8upnkHEoyZN8z9EHYWNGd226mDA3FFqnethnxCadxc4ZVYRIUQHD1qUuV_7Uqm1XpojiJVyQ",
"companyName": "Down To Earth Electrical Contractors",
"primaryTrade": "Electrician",
"trades": ["Electrician", "Electric Cookers", "Smoke Alarms", "Energy Efficient Lighting", "Storage Heating"],
"profileUrl": "https://www.checkatrade.com/trades/downtoearthelectricalcontractorsltd",
"companyId": 193668,
"phone": "+447447183798",
"phoneLabel": "07447 183798",
"phoneNumbers": ["+447447183798"],
"addressLocality": "London",
"addressRegion": null,
"areaCovered": "Operates in your area",
"rating": 9.93,
"ratingBestPossible": 10,
"reviewCount": 608,
"recentReviewCount": 83,
"verifiedStatus": "Guaranteed",
"badges": ["guaranteed", "FRIENDLY"],
"serviceOfferings": ["Domestic Work", "Commercial Work", "Free Estimates", "24 Hour Call-out", "Cards Accepted"],
"servicesOffered": [],
"galleryImageUrls": ["https://lh3.googleusercontent.com/UJF3T4I_uT7SAs09G0qKXB2dE0TmD0kqJfr0fDxNQGJu330gkZdIH5WcB5Mz6FoyTjkwufHmtQtYqaNd0YVa3GW4X0wiDgIE9sJrTR3-w9eDVQUKWX0FU4VcOTisPg", "... 22 more portfolio image URLs ..."],
"reviewsSample": [
{
"title": "Go to for any electrical services",
"body": "As always very professional and efficient service. Fitted 2 new wall sconces! Would 100% recommend to a friend and use again",
"score": 10,
"scorePercent": 100,
"reviewedDate": "August 2026",
"location": "SW15",
"verified": false,
"tradeResponse": null,
"breakdowns": [{"label": "Timekeeping", "value": 10}, {"label": "Workmanship", "value": 10}]
}
],
"distanceFromSearch": null,
"memberSince": "October 2012",
"memberSinceText": "Approved member since October 2012",
"description": "We pride ourselves on providing our clients with First Class efficient and friendly service. As a result we have many satisfied customers. Free advice and estimates.",
"isSponsored": true,
"aiProfileSummary": "Down To Earth Electrical Contractors is a highly-rated electrician service based in London, specializing in installations and maintenance of electric cookers, smoke alarms, energy-efficient lighting, and storage heating. With a strong reputation backed by 608 reviews and a rating of 9.93, they offer free advice and estimates to clients in their operating area.",
"aiLeadScore": 95,
"aiLeadTier": "hot",
"aiLeadRationale": "High rating, substantial review volume, verified status, and reachable via phone.",
"aiReviewDigest": {
"summary": "Overall, the sentiment towards the tradesperson is overwhelmingly positive, with customers consistently praising their professionalism, efficiency, and technical expertise.",
"pros": ["Professional and efficient service", "Good technical expertise and attention to detail", "Friendly and approachable staff", "Clear communication and helpful advice", "Reasonably priced work"],
"cons": []
},
"searchTrade": "Electrician",
"searchLocation": "London",
"source": "Checkatrade",
"observedAt": "2026-08-14T07:17:27.275Z",
"error": null
}

The most complete Checkatrade tradespeople scraper available. It returns every field a trade profile exposes, including phone numbers, rating, review counts, service offerings, portfolio photos and a sample of recent reviews, plus optional AI summaries, lead scores and review digests, and an optional contact-email enrichment add-on, so you get clean UK trade leads without extra parsing.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Checkatrade for each trade you list across each location you list, opens every matching trade profile, and writes one normalized record per business to the run's dataset. Each record carries the company name, primary trade and full trade list, profile URL and company ID, phone numbers, town and region, the Checkatrade score and review counts, trust badges, service offerings, portfolio photo URLs, a sample of recent reviews with score breakdowns, membership date, and business description. Missing source values are returned as null.

Optional AI add-ons (paid Apify plans only) add a plain-English profile summary, a 0 to 100 B2B lead score with tier and rationale, and a digest of the sampled reviews. An optional contact-enrichment add-on tries to find a public business email and contact name for results that have none.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 3 London electricians with AI summary, lead score and review digest enabled.

{
"searchQueries": ["Electrician"],
"locations": ["London"],
"maxTrades": 3,
"withAiProfileSummary": true,
"withAiLeadScore": true,
"withAiReviewDigest": true
}

Provide at least one trade and one location. Every trade is searched across every location. AI and contact add-ons are optional and off by default.

Input reference

FieldTypeRequiredDefaultDescription
searchQueriesstring[]yes["Electrician"]Trade categories to search, for example Electrician, Plumber, Builder, Roofer, Plasterer.
locationsstring[]yes["London"]UK towns, cities, regions or postcodes, for example London, Manchester, Birmingham, SW1.
maxTradesintegerno10Maximum number of tradespeople to collect across the whole run.
enrichContactsbooleannofalsePaid add-on. For each result without an email, attempt to find a public business email and contact name. Billed per attempt, plus extra only when an email is found.
enrichContactsMaxintegerno50Cap how many results the add-on tries to enrich. Free Apify accounts are capped at 3.
withAiProfileSummarybooleannofalsePaid add-on. Generate a concise plain-English business summary. Requires a paid Apify plan. Billed only when a summary is produced.
withAiLeadScorebooleannofalsePaid add-on. Score each trade as a B2B lead (0 to 100, hot/warm/cold). Requires a paid Apify plan. Billed only when a score is produced.
withAiReviewDigestbooleannofalsePaid add-on. Digest the sampled reviews (sentiment, pros, cons). Requires a paid plan and reviews present. Billed only when a digest is produced.

Output reference

One dataset item per trade business. Types: string, integer, number, boolean, string[], object[], object, or null when the source value is absent.

FieldTypeDescription
imageUrlstringCompany logo image URL.
bannerImageUrlstringProfile hero / banner image URL.
companyNamestringTrade business / company name.
primaryTradestringMain trade category, for example Electrician.
tradesstring[]All trade categories / services the business offers.
profileUrlstringCheckatrade profile page URL.
companyIdintegerCheckatrade company identifier.
phonestringContact phone number in international format.
phoneLabelstringPhone number as displayed on the profile.
phoneNumbersstring[]All listed phone numbers for the business.
addressLocalitystringTown / city of the business.
addressRegionstringCounty / region of the business, or null.
areaCoveredstringArea the business operates in.
ratingnumberCheckatrade score, out of 10.
ratingBestPossibleintegerMaximum possible rating (10).
reviewCountintegerTotal number of reviews.
recentReviewCountintegerNumber of recent reviews.
verifiedStatusstringVerification / guarantee badge text.
badgesstring[]Quality / trust badges.
serviceOfferingsstring[]Business attributes such as payment methods, free estimates, 24 hour call-out.
servicesOfferedstring[]Named services the trade performs.
galleryImageUrlsstring[]Portfolio / proof-of-work photo URLs from the profile.
reviewsSampleobject[]Sample of recent reviews (title, body, score, date, location, verified, breakdowns).
distanceFromSearchstringDistance from the searched location, or null.
memberSincestringApproved member since (month and year).
memberSinceTextstringFull membership text as shown.
descriptionstringBusiness summary / description.
isSponsoredbooleantrue when the listing is sponsored.
aiProfileSummarystringAI-generated business summary (paid add-on), else null.
aiLeadScoreintegerAI lead score 0 to 100 (paid add-on), else null.
aiLeadTierstringAI lead tier hot, warm, or cold (paid add-on), else null.
aiLeadRationalestringAI lead-score rationale (paid add-on), else null.
aiReviewDigestobjectAI digest of customer reviews (summary, pros, cons) (paid add-on), else null.
enrichedEmailstringPublic business email found by the enrichment add-on, or null.
enrichedContactNamestringContact person name found by the enrichment add-on, or null.
enrichedJobTitlestringContact job title found by the enrichment add-on, or null.
enrichedEmailStatusstringStatus of the email lookup, or null.
enrichedSourcestringWhere the enriched contact was found, or null.
enrichedConfidencenumberConfidence of the enriched contact, or null.
searchTradestringTrade query that produced this record.
searchLocationstringLocation query that produced this record.
sourcestringData source name (Checkatrade).
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"searchQueries":["Electrician"],"locations":["London"],"maxTrades":3,"withAiProfileSummary":true,"withAiLeadScore":true,"withAiReviewDigest":true}). The galleryImageUrls and reviewsSample arrays are trimmed for length; the values shown are real:

{
"companyName": "Down To Earth Electrical Contractors",
"primaryTrade": "Electrician",
"trades": ["Electrician", "Electric Cookers", "Smoke Alarms", "Energy Efficient Lighting", "Storage Heating"],
"profileUrl": "https://www.checkatrade.com/trades/downtoearthelectricalcontractorsltd",
"companyId": 193668,
"phone": "+447447183798",
"phoneLabel": "07447 183798",
"phoneNumbers": ["+447447183798"],
"addressLocality": "London",
"addressRegion": null,
"areaCovered": "Operates in your area",
"rating": 9.93,
"ratingBestPossible": 10,
"reviewCount": 608,
"recentReviewCount": 83,
"verifiedStatus": "Guaranteed",
"badges": ["guaranteed", "FRIENDLY"],
"serviceOfferings": ["Domestic Work", "Commercial Work", "Free Estimates", "24 Hour Call-out", "Cards Accepted"],
"memberSince": "October 2012",
"description": "We pride ourselves on providing our clients with First Class efficient and friendly service. As a result we have many satisfied customers. Free advice and estimates.",
"isSponsored": true,
"aiProfileSummary": "Down To Earth Electrical Contractors is a highly-rated electrician service based in London, specializing in installations and maintenance of electric cookers, smoke alarms, energy-efficient lighting, and storage heating.",
"aiLeadScore": 95,
"aiLeadTier": "hot",
"aiLeadRationale": "High rating, substantial review volume, verified status, and reachable via phone.",
"searchTrade": "Electrician",
"searchLocation": "London",
"source": "Checkatrade",
"observedAt": "2026-08-14T07:17:27.275Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~checkatrade-uk-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["Plumber"],"locations":["Manchester"],"maxTrades":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~checkatrade-uk-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["Roofer","Builder"],"locations":["Birmingham","Leeds"],"maxTrades":100}'

Apify CLI:

apify call scrapers_lat/checkatrade-uk-scraper \
--input '{"searchQueries":["Electrician"],"locations":["London"],"maxTrades":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per trade record returned (result event). See the pricing tab for the current per-result price.
  • Paid add-ons. AI summary, lead score, review digest and contact enrichment are optional. Each is billed per record only when it returns usable output, and the AI add-ons require a paid Apify plan.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run, and the contact enrichment add-on is capped at 3 on free accounts. Upgrade for higher maxTrades.

FAQ and troubleshooting

A run returned 0 records. Why? No trade matched that combination of query and location, or the search page was empty. Broaden the location or use a more common trade term. Zero-result runs are not charged.

Do I need a paid plan? No for the core scrape. Yes for the AI add-ons (withAiProfileSummary, withAiLeadScore, withAiReviewDigest), which are disabled for free accounts.

Why are the AI fields null? The matching add-on was off, or you are on a free account, or the AI did not produce usable output for that record. AI fields are never invented.

Why is enrichedEmail null? The contact enrichment add-on was off, or no public business email was found. Missing values are returned as null.

Can I search several trades and towns at once? Yes. List multiple trades in searchQueries and multiple places in locations. Every trade is searched across every location.

Is this an official Checkatrade tool? No. This actor is independent and has no affiliation with Checkatrade. It reads only data that is publicly available on trade profiles. Use it in accordance with the site terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Checkatrade. Accesses only publicly available profile data. Use in accordance with the site terms of service.