UK Business Directory Leads Scraper
Pricing
from $17.00 / 1,000 results
UK Business Directory Leads Scraper
Scrape UK business directory listings with company name, phone, website, full address (street, town, county, postcode), category, description, rating and reviews. Search by trade or service and location across the UK. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
UK Business Directory Leads Scraper
Here is one real result, with every field the actor returns (the description text is trimmed here for readability; the live record returns the full listing text):
{"name": "Mike Griffin Heating & Plumbing","phone": "07973288275","email": "griffingas@aol.com","website": "https://www.mike-griffin.co.uk","streetAddress": "153 Church Hill Road","town": "Barnet","postcode": "EN48PQ","category": "plumbers","location": "London","strapline": "Plumbing & Heating in Barnet, North London and Hertfordshire","description": "Mike Griffin Heating and Plumbing is a premium plumbing and heating company from North London with over 40 years experience [trimmed]","rating": 4.5,"reviewCount": 2,"listingUrl": "https://www.thomsonlocal.com/search/plumbers/london/mike-griffin-heating-plumbing/2862515/07973288275","providerId": "2862515","imageUrl": "https://images.thomsonlocal.com/advantage/85/thumb_56257235-a5ce-4b0d-b661-5d0d2a088c4d.PNG?v=1","source": "thomsonlocal","observedAt": "2026-08-10T14:33:03.837Z"}
The most complete UK business directory lead scraper available. It returns every field the listing exposes, captures direct contacts (phone, email, website) plus the full address and postcode, and lets you search any number of trades across any number of UK locations in a single run.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the UK business directory for every trade or service you list, across every location you list (each query is run against each location), and writes one normalized record per business to the run's dataset. It captures the business name, direct contacts (phone, email, website), the full street address with postcode, category, star rating and review count, and the listing image. Missing source values are returned as null. Businesses are de-duplicated across queries so the same listing is not billed twice.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 plumbers in London.
{"searchQueries": ["plumbers"],"locations": ["London"],"maxBusinesses": 10}
Add more trades and more locations to widen the run: every query is searched against every location. Leave locations empty to search the whole UK. Free Apify plans are capped at 10 businesses per run.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | no | ["plumbers"] | Trades, services, or business types to search for, for example plumbers, car repair, accountants. One run searches every query. |
locations | string[] | no | (whole UK) | UK towns, cities, or areas to search within, for example London, Manchester. Every query is run against every location. Leave empty to search the whole UK. |
maxBusinesses | integer | no | 50 | Maximum number of businesses to collect across the whole run. Free Apify plans are capped at 10 per run. |
Output reference
One dataset item per business. Types: string, number, integer, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
name | string | Business name. |
phone | string | Contact phone number. |
email | string | Contact email, or null when not listed. |
website | string | Business website URL, or null. |
streetAddress | string | Street address. |
town | string | Town or district. |
postcode | string | UK postcode. |
category | string | The search query this business matched, for example plumbers. |
location | string | The location this business was found under. |
strapline | string | Short tagline from the listing. |
description | string | Full listing description text. |
rating | number | Star rating (0 to 5), or null. |
reviewCount | integer | Number of reviews, or null. |
listingUrl | string | URL of the business's directory listing. |
providerId | string | Directory listing ID (unique per business). |
imageUrl | string | Listing image URL, or null. |
source | string | Always thomsonlocal. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null 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": ["plumbers"], "locations": ["London"], "maxBusinesses": 10}), with description trimmed for readability:
{"name": "Mike Griffin Heating & Plumbing","phone": "07973288275","email": "griffingas@aol.com","website": "https://www.mike-griffin.co.uk","streetAddress": "153 Church Hill Road","town": "Barnet","postcode": "EN48PQ","category": "plumbers","location": "London","strapline": "Plumbing & Heating in Barnet, North London and Hertfordshire","description": "Mike Griffin Heating and Plumbing is a premium plumbing and heating company from North London with over 40 years experience [trimmed]","rating": 4.5,"reviewCount": 2,"listingUrl": "https://www.thomsonlocal.com/search/plumbers/london/mike-griffin-heating-plumbing/2862515/07973288275","providerId": "2862515","imageUrl": "https://images.thomsonlocal.com/advantage/85/thumb_56257235-a5ce-4b0d-b661-5d0d2a088c4d.PNG?v=1","source": "thomsonlocal","observedAt": "2026-08-10T14:33:03.837Z"}
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~thomsonlocal-uk-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["plumbers","electricians"],"locations":["London","Manchester"],"maxBusinesses":50}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~thomsonlocal-uk-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["accountants"],"maxBusinesses":200}'
Apify CLI:
apify call scrapers_lat/thomsonlocal-uk-scraper \--input '{"searchQueries":["car repair"],"locations":["Birmingham"],"maxBusinesses":25}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 business record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxBusinesses.
FAQ and troubleshooting
A run returned 0 records. Why?
No listings matched the trade in that location. Try a broader query (for example plumbers instead of emergency plumber), or leave locations empty to search the whole UK. Zero-result runs are not charged.
Which businesses have an email?
Only businesses that publish a contact email in the directory. When none is listed, email is null, never invented.
Can I search multiple trades and cities at once?
Yes. Add several entries to searchQueries and locations; every query is run against every location in one run.
How do I get more than 10 results?
Free Apify plans are capped at 10 businesses per run. Upgrade your Apify plan and raise maxBusinesses.
Why is website null for some businesses?
The directory listing did not include a website. Missing source values are returned as null.
Is this an official directory tool? No. This actor is independent and has no affiliation with the directory. It reads only data that is publicly available. Use it in accordance with the source site's terms of service and applicable UK data protection law.
Related scrapers
- Checkatrade UK Scraper: UK trade businesses with contacts and ratings.
- Gumtree UK Scraper: UK classified listings.
- 11880 Germany Business Scraper: German business directory leads.
- Gelbeseiten Germany Scraper: German Yellow Pages business leads.
- Goldenpages Ireland Scraper: Irish business directory leads.
- Google Maps Business Leads Scraper: local business leads with contacts.
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 the source directory. Accesses only publicly available business listing data. Use in accordance with the source site's terms of service.
