Checkatrade Tradespeople Scraper avatar

Checkatrade Tradespeople Scraper

Pricing

from $5.00 / 1,000 tradesperson listings

Go to Apify Store
Checkatrade Tradespeople Scraper

Checkatrade Tradespeople Scraper

Find public UK Checkatrade tradespeople by directory URL or postcode. Return names, ratings, review counts, services, profile URLs, and publicly visible contact details for local-market research and AI-agent workflows.

Pricing

from $5.00 / 1,000 tradesperson listings

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Share

Scrape public Checkatrade directory pages and return structured UK tradesperson listings for local-market research, supplier prospecting, contractor discovery, and AI-agent workflows.

What it returns

FieldMeaning
businessNamePublic tradesperson or company name
profileUrlPublic Checkatrade profile URL
rating, reviewCountRating and review count shown on the listing
servicesServices and skills shown on the card
phonePhone number only when publicly revealed on the profile
addressPublic locality/service-area text when available
descriptionPublic profile description when available
sourceUrl, scrapedAtProvenance and extraction timestamp

Input

startUrls accepts public Checkatrade directory or near-me URLs. The default is a public plumbers near-me page. Use the page for the trade you need, for example a public electrician or roofer near-me page, or pass a direct directory URL discovered from Checkatrade.

postcode is optional. When a page exposes a postcode/location input, the actor fills it before collecting cards. maxResults defaults to 25 and is capped at 100. Set scrapeProfiles to false for a faster listing-only run; leave it enabled to visit public profile pages for phone, address, and description fields. proxyCountry defaults to GB in the UI and can be blank to use the default Apify proxy pool.

Example input:

{
"startUrls": [{"url": "https://www.checkatrade.com/blog/plumbers-near-me/"}],
"postcode": "SW1A 1AA",
"maxResults": 25,
"scrapeProfiles": true,
"proxyCountry": "GB"
}

Output example

{
"businessName": "Example Plumbing & Heating",
"profileUrl": "https://www.checkatrade.com/trades/example",
"rating": 10,
"reviewCount": 178,
"services": ["Plumber", "General Plumbing"],
"phone": null,
"address": "London",
"description": null,
"sourceUrl": "https://www.checkatrade.com/blog/plumbers-near-me/",
"scrapedAt": "2026-07-16T12:00:00.000Z"
}

Reliability and scope

This actor uses a rendered Playwright browser because Checkatrade may return a Cloudflare challenge to plain HTTP clients. It throttles navigation, uses the Apify proxy pool, deduplicates profile URLs, and writes a diagnostic dataset item when a page fails or is blocked. Empty valid results are successful; a block is not silently represented as an empty directory.

Only publicly visible information is collected. The actor does not log in, bypass access controls, submit quotes, reveal phone numbers hidden behind a user interaction, or collect private customer data. Follow Checkatrade's terms, robots guidance, and applicable UK privacy and data-protection law before using the output for outreach.

Pricing

Pay-per-event billing is configured at $0.005 per returned listing, plus a $0.00005 actor-start event. Blocked or failed profile requests are recorded diagnostically and are not treated as successful listings.

AI-agent use

Use this actor when an agent needs a bounded list of public Checkatrade tradespeople for a UK trade/location. It is not a quote-booking, review-writing, customer-lead form submission, or private member-directory tool. Results are stable JSON records suitable for CRM enrichment and downstream filtering.

Use cases

  • Build public prospect lists and qualify organizations or professionals before responsible outreach.
  • Supply structured public data to AI, RAG, enrichment, or evaluation workflows.
  • Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
  • Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
  • Feed schema-shaped records into a database, spreadsheet, BI tool, or AI workflow with the source URL retained for verification.

Run Checkatrade Tradespeople Scraper with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/checkatrade-tradespeople-scraper').call({
"startUrls": [
{
"url": "https://www.checkatrade.com/blog/plumbers-near-me/"
}
],
"postcode": "",
"maxResults": 25,
"scrapeProfiles": true,
"proxyCountry": "GB"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.

Support

When reporting a problem, include the Actor run ID, a redacted input, the expected result, and a small public example URL when applicable. Do not post API tokens, cookies, credentials, or personal data in an issue.

Frequently asked questions

Can I schedule Checkatrade Tradespeople Scraper?

Yes. Use an Apify schedule to run the same saved input at a chosen interval, then connect a webhook or integration to process the dataset when the run finishes.

How should I test a new input?

Begin with the prefilled example or a small limit. Confirm that the output fields, source coverage, runtime, and live charges match your workflow before increasing the scope.

How do I export the results?

Open the run's default dataset in Apify Console and export JSON, CSV, Excel, XML, or RSS. Applications can retrieve the same records through the Apify API client or REST dataset endpoint.

Can an AI agent call this Actor?

Yes. Add muhammadafzal/checkatrade-tradespeople-scraper through the hosted Apify MCP server or call it through the API. The Actor's input and dataset schemas help agents construct valid requests and interpret returned records.