cd sandbox/gta-pet-businesses

GTA pet businesses

Read-only sample output from LeadBuilder.

~/leadbuilder/gta-pet-businesses/summary

This is a real sample output from LeadBuilder, a Python pipeline I built to research business contact details. For this run, I searched OpenStreetMap for pet businesses in the Greater Toronto Area, crawled their websites, and collected public contact information. The pipeline code is private. This page only shows the results, and visitors cannot start a crawl.

Niche: Pet businesses. Region: Greater Toronto Area. Run on September 30, 2026.

What the run produced

458 businesses discovered
215 qualified and shown here
With a phone number
214
With a website
184
Websites crawled
161
Skipped because robots.txt said no
7
With an email address
57
Part of a chain
102

Email check: each email's domain was checked to confirm it accepts mail. Individual mailboxes were not confirmed.

~/leadbuilder/gta-pet-businesses/records.csv

Browse the records

215 records match.

Business Address Email Phone Crawl result
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 2734 Lake Shore Boulevard West — +1 416-693-0196 Crawled successfully
Pet Valu 95 Laird Drive, East York — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 289-725-9319 Crawled successfully
Pet Valu 195 Lakeshore Road East — +1 905-274-8774 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 2257 Islington Avenue, Etobicoke, M9W 3W6 — +1 416-744-8259 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-604-2383 Crawled successfully
Pet Valu 1510 Dundas Street East — +1 416-693-0196 Crawled successfully
Pet Valu 339 College Street — +1 416-944-0314 Crawled successfully
Pet Valu 3987 Highway 7, Markham, L3R 5M6 — +1 416-693-0196 Crawled successfully
Pet Value 13305 Highway 27, Nobleton, Ontario — +1 905-859-1105 No website listed
PetAgree 1708 Queen Street West — +1 416-536-9064 No website listed
Peticure Paws 2233 Bostock Crescent, Mississauga p•••@g•••.com +1 905-403-9009 Skipped: social media link
PetPal Care 784 The Queensway, M8Z 1N3 info@p•••.ca +1 416-255-4627 Crawled successfully
PetSmart 1890 Major MacKenzie Drive West, Maple, Ontario, L6A 4R9 — +1 905-417-9095 Crawled successfully
PetSmart 158 North Queen Street — +1 416-620-5448 Crawled successfully
PetSmart 25 Industrial Street — +1 647-790-0511 Crawled successfully
PetSmart 1095 Maple Avenue, Milton, L9T 0A5 — +1 905-876-3695 Crawled successfully
PetSmart Richmond Hill, Ontario — +1 905-764-6116 No website listed
PetSmart 2501 Hyde Park Gate, L6H 6G6 — +1 905-829-9999 Crawled successfully
PetSmart 19601 N. 27th Avenue, Phoenix, AZ, 85027 — +1 888-839-9638 Crawled successfully
PetSmart 19601 N. 27th Avenue, Phoenix, AZ, 85027 — +1 888-839-9638 Crawled successfully
PetSmart 13239 Yonge Street, Richmond Hill, L4E 1B6 — +1 905-773-0959 Crawled successfully
Petview 322 Queen Street West, Toronto — +1 416-738-8439 Connection problem (ConnectionError)
~/leadbuilder/how-it-works.md

How it works

  1. Set up the project

    Choose the niche, the city or region, and a record limit in a settings file. The same pipeline can then be run for any type of business in any area.

  2. Discover businesses

    Search OpenStreetMap for businesses that match the niche and region, and save each one with its name, address, phone, website and map location.

  3. Crawl websites politely

    Visit each business website, check robots.txt first, and skip any site that asks not to be crawled. In this run, 7 sites were skipped for that reason.

  4. Extract contacts

    Read the crawled pages to find email addresses, phone numbers and social media profiles, and record the page where each one was found.

  5. Clean and remove duplicates

    Tidy up the data and merge records that are really the same business. Chain stores are marked so they can be told apart from independent shops.

  6. Check emails

    Check that each email's domain is set up to receive mail. Individual mailboxes are not confirmed, so the results are shown honestly as domain checks.

  7. Export

    Keep only the qualified records and save them as a CSV, with a source link for every piece of data.

  8. Showcase and test

    Write a README that explains how to set up and run the pipeline, add automated tests that check each step works, and prepare sample data. This page is built from that sample data.