Thomson Local Business Scraper
Pricing
Pay per event
Thomson Local Business Scraper
Scrape public UK Thomson Local business listings for lead generation: names, phones, addresses, websites, ratings, and profile URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract public UK business leads from Thomson Local search results and business profile pages.
Use this Apify Actor to collect company names, categories, postal addresses, phone numbers, websites, profile URLs, ratings, review counts, badges, and short descriptions from Thomson Local.
What does Thomson Local Business Scraper do?
Thomson Local Business Scraper turns Thomson Local category and location searches into structured lead records.
It is designed for public business-directory data.
You can provide category/location pairs such as plumbers + London.
You can also provide Thomson Local search URLs directly.
The Actor follows pagination when a next-page link is available.
It can optionally open public business profile pages for enrichment.
Who is it for? Thomson Local Business Scraper users
Lead-generation agencies
Build prospect lists for local outreach campaigns.
Local SEO consultants
Find businesses in a target niche and city.
Sales teams
Collect phone and website fields for UK business prospecting.
Market researchers
Compare density of trades, services, and categories across UK locations.
Data teams
Create repeatable Thomson Local extracts for dashboards or CRM imports.
Why use this Actor?
- π Focused on a UK business directory source.
- π Supports category + location searches.
- βοΈ Extracts phone and address lead data where public.
- π Captures profile and website URLs for verification.
- β Includes ratings and review counts when available.
- π§Ύ Outputs clean JSON rows in an Apify dataset.
- βοΈ Offers optional profile-page enrichment.
Data extracted
| Field | Description |
|---|---|
businessName | Public business/listing name |
category | Thomson Local category or breadcrumb context |
address | Public postal address text |
locality | City/town when detected |
postalCode | UK postcode when detected |
phone | Public phone number when available |
website | Business website URL when available |
profileUrl | Thomson Local business profile URL |
searchUrl | Search page where the record was found |
rating | Rating text/value when visible |
reviewCount | Number of reviews when visible |
description | Listing/profile description snippet |
badges | Public badges such as quote/availability labels when visible |
source | Always thomsonlocal.com |
scrapedAt | ISO timestamp of extraction |
How much does it cost to scrape Thomson Local business leads?
The Actor uses pay-per-event pricing.
There is a small start event per run.
Each saved business lead is charged as an item event.
Exact tiered prices are shown on the Apify Store page after the Actor is configured for production.
Use a low maxItems value for your first run.
Input options
Category/location searches
Use searches to enter objects like:
[{ "category": "plumbers", "location": "London" },{ "category": "electricians", "location": "Manchester" }]
Start URLs
Use startUrls when you already have a Thomson Local URL.
[{ "url": "https://www.thomsonlocal.com/search/plumbers/london" }]
Maximum businesses
maxItems controls the total number of saved rows.
Maximum pages
maxPages controls how many search pages are followed for each search.
Include details
includeDetails visits public profile pages for enrichment when profile links are available. It is off by default for fast lead-list collection; enable it when you need richer profile-page data.
Use proxy
useProxy is enabled by default because Thomson Local rejects Apify cloud direct IPs. You can disable it for local/direct network tests.
Example input
{"searches": [{ "category": "plumbers", "location": "London" }],"maxItems": 25,"maxPages": 3,"includeDetails": false,"useProxy": true}
Example output
{"businessName": "Example Plumbing Ltd","category": "Plumbers","address": "1 High Street, London, SW1A 1AA","locality": "London","postalCode": "SW1A 1AA","phone": "020 0000 0000","website": "https://example.co.uk","profileUrl": "https://www.thomsonlocal.com/...","searchUrl": "https://www.thomsonlocal.com/search/plumbers/london","rating": "4.8","reviewCount": 12,"description": "Local plumbing services...","badges": ["Open now"],"source": "thomsonlocal.com","scrapedAt": "2026-06-19T00:00:00.000Z"}
How to scrape Thomson Local business leads
- Open the Actor on Apify.
- Add one or more category/location searches.
- Keep
maxItemssmall for your first test. - Run the Actor.
- Open the dataset.
- Export JSON, CSV, Excel, XML, RSS, or HTML.
- Import the leads into your CRM or spreadsheet.
Tips for better results
- Use specific categories such as
roofers,dentists, orrestaurants. - Use real UK towns, cities, or postcodes.
- Increase
maxPagesonly after a small test succeeds. - Enable profile enrichment when you need websites and descriptions.
- Disable profile enrichment for faster broad scans.
- Keep searches focused to avoid mixing unrelated services.
Integrations
Send results to Google Sheets with Apify integrations.
Push leads to Make or Zapier workflows.
Store the dataset in S3 or Google Drive.
Trigger follow-up enrichment Actors from the dataset.
Feed records into CRM imports for HubSpot, Pipedrive, or Salesforce.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/thomson-local-business-scraper').call({searches: [{ category: 'plumbers', location: 'London' }],maxItems: 25,includeDetails: false});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('automation-lab/thomson-local-business-scraper').call(run_input={'searches': [{'category': 'plumbers', 'location': 'London'}],'maxItems': 25,'includeDetails': False,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~thomson-local-business-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searches":[{"category":"plumbers","location":"London"}],"maxItems":25}'
MCP usage
Use this Actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.
MCP endpoint:
https://mcp.apify.com/?tools=automation-lab/thomson-local-business-scraper
Claude Code setup:
$claude mcp add apify-thomson-local https://mcp.apify.com/?tools=automation-lab/thomson-local-business-scraper
Claude Desktop JSON config:
{"mcpServers": {"apify-thomson-local": {"url": "https://mcp.apify.com/?tools=automation-lab/thomson-local-business-scraper"}}}
Example prompts showing MCP usage:
- "Scrape 25 Thomson Local plumbers in London."
- "Find electricians in Manchester from Thomson Local and return phone numbers."
- "Collect Thomson Local business profile URLs for dentists in Bristol."
- "Run automation-lab/thomson-local-business-scraper for builders in Leeds and summarize rows with websites."
Data quality notes
Thomson Local pages can vary by category and location.
Some listings may not publish a website.
Some listings may not publish ratings or reviews.
The Actor leaves missing fields as null rather than inventing values.
The searchUrl field helps audit where each record came from.
FAQ
Can I scrape by Thomson Local URL instead of category and location?
Yes. Add one or more Thomson Local search URLs to startUrls if you already have the exact directory pages you want to process.
Does the Actor visit business profile pages?
Yes, when includeDetails is enabled. Turn it off for faster lead-list collection when search-page fields are enough.
Troubleshooting
Why did I get no results?
Try a different category/location pair, reduce spelling ambiguity, or provide a Thomson Local search URL directly.
If requests are slow or blocked, keep useProxy enabled (the default) or try a different proxy country/group.
Why are some websites missing?
Not every Thomson Local listing exposes a website on the search page or public profile page.
Enable includeDetails to improve website coverage.
Why are there fewer rows than maxItems?
The source may have fewer visible listings for your search, or the Actor may stop after maxPages pages.
Increase maxPages if the source has more pages.
Legality and responsible use
This Actor extracts publicly available business-directory information.
You are responsible for ensuring that your use complies with applicable laws, platform terms, and privacy rules.
Do not use scraped contact data for spam.
Respect opt-out requests and local marketing regulations.
Related scrapers
- https://apify.com/automation-lab/yellowpages-scraper
- https://apify.com/automation-lab/gelbeseiten-scraper
- https://apify.com/automation-lab/das-telefonbuch-business-scraper
Limits
This Actor does not log in.
It does not bypass paywalls.
It only targets public Thomson Local pages.
It does not guarantee every listing has every field.
Changelog
0.1
Initial version for public Thomson Local business lead extraction.
Support
If you need help, open an issue on the Apify Actor page and include your run ID.
Development status
This Actor is part of the Automation Lab business-directory lead-generation cluster.
It is intended as a UK Thomson Local satellite source for agencies that already use other local-business scrapers.