Checkatrade Scraper avatar

Checkatrade Scraper

Pricing

from $8.00 / 1,000 tradesperson records

Go to Apify Store
Checkatrade Scraper

Checkatrade Scraper

Search and extract public Checkatrade tradesperson profiles with contact, service, rating, and review data.

Pricing

from $8.00 / 1,000 tradesperson records

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Extract public Checkatrade tradesperson profiles into a clean, deduplicated dataset for UK local-market research, lead-list building, and directory analysis. Give the actor a trade and a UK location such as Plumber and London, paste an existing Checkatrade search URL, or provide direct profile URLs. It returns one validated record per public profile rather than a mixture of search cards and partial pages.

Use this actor when you need public business names, Checkatrade profile URLs, public phone numbers and websites, ratings, review counts, service labels, service areas, and visible profile descriptions. It is designed for agencies, local-market researchers, CRM operations teams, and AI agents preparing a shortlist of UK trades businesses.

Do not use it for private contact information, email discovery, a complete historical review archive, booking availability, or sources outside Checkatrade. The actor never guesses missing fields and records null where a profile does not expose a value.

What you receive

Every dataset row represents one public Checkatrade profile and has a stable, flat shape:

FieldMeaning
businessNamePublic business or tradesperson name
profileUrlCanonical Checkatrade profile URL
phone, websitePublic contact fields when shown
rating, reviewCountPublic reputation indicators
services, areasServedPublic skills and coverage labels
locality, region, postalCodePublic location fields where supplied
reviewsUp to ten visible recent reviews when enabled
scrapedAtISO 8601 extraction timestamp

Records are validated before they are saved and billed. A profile without a stable business name or canonical Checkatrade profile URL is skipped instead of being turned into a thin, billable record.

Inputs

Search by trade and location

Use trade plus location for the simplest workflow:

{
"trade": "Electrician",
"location": "Manchester",
"maxResults": 50,
"minRating": 9,
"minReviews": 10,
"requirePhone": true
}

The actor converts that input to a Checkatrade search, discovers profile links, follows pagination where Checkatrade exposes it, and visits the discovered profiles. maxResults is a whole-run cap, so it is the primary control for both volume and billable result count.

Use a copied Checkatrade search URL

Use searchUrls for a search already configured in your browser. This is useful for Checkatrade category URLs or other site filters not represented by the simple trade/location inputs.

{
"searchUrls": ["https://www.checkatrade.com/Search/Plumber/in/London"],
"maxResults": 100
}

Enrich direct profile URLs

Use directUrls when your workflow already has Checkatrade profile links. This mode avoids listing-page discovery and is ideal for refreshing an existing dataset.

{
"directUrls": ["https://www.checkatrade.com/trades/exampleltd"],
"extractReviews": true
}

Only checkatrade.com URLs are accepted. Invalid or unsupported URLs are ignored, and a run with no valid search or profile input exits with the actionable INVALID_INPUT outcome rather than failing silently.

Filters and depth

Set requirePhone to keep only profiles that expose a public phone number. minRating uses Checkatrade's public 0–10 scale, and minReviews filters by total public review count. Turn on extractReviews when you need a compact sample of visible review content; it returns at most ten recent review objects per profile and is not a complete review-history export.

scrapeDetails is enabled by default. That keeps search results useful by enriching each discovered profile rather than returning brittle listing-card fragments. This actor does not enrich email addresses, scrape hidden data, or attempt to bypass an unavailable public profile.

Pricing

This actor uses Pay per event + Apify platform usage. Current event pricing is declared in the actor configuration and shown in the Apify Pricing tab.

EventPriceWhen it applies
Actor start$0.00005Once when a run begins
Tradesperson record$0.008Once per validated row persisted to the dataset

For example, a run that saves 25 profiles has $0.20005 in actor-event charges, plus Apify's underlying platform usage. No tradesperson event is charged for duplicates, filter misses, malformed records, or failed pages. Set maxResults to keep the maximum event component predictable; a 100-result run has an event-charge ceiling of about $0.80 plus usage.

Outcomes and recovery

Each run writes a compact OUTPUT record and a detailed RUN_SUMMARY record. They make the result machine-readable even when a run contains no dataset rows.

  • COMPLETE: all advertised work produced valid records.
  • PARTIAL: useful records were saved, but some pages or records were skipped.
  • VALID_EMPTY: the input was valid but no public profile met the requested filters.
  • INVALID_INPUT: amend the trade/location or provide valid Checkatrade URLs.
  • UPSTREAM_FAILED: Checkatrade could not be reached reliably and no usable record was produced.

If a run returns UPSTREAM_FAILED, retry later with a smaller maxResults, a direct profile URL, or a different Checkatrade search URL. The run summary includes safe request and validation counters; it does not contain proxy credentials or other secrets.

API and agent use

The actor is intended to be easy for an AI agent to route: use it for Checkatrade tradesperson profiles, not for Google Maps, Trustpilot, job listings, or general UK company enrichment. The recommended agent call is a narrow query such as “find up to 20 London electricians rated 9+ with public phone numbers.”

After a run, read the default dataset for rows and the default key-value store's OUTPUT record for the terminal outcome. Use RUN_SUMMARY when an automation needs counters, warning messages, or charged-event counts. When an output is truncated by maxResults, narrow the location or run a separate search for the next trade/location segment.

Responsible use

Only use public data for legitimate, lawful purposes. Respect applicable privacy, marketing, and data-protection requirements, including UK GDPR and PECR where relevant. Verify any information before contacting a business, and do not treat public directory data as consent to unsolicited communications.