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 Cuisine 127 Front Street East, Toronto, M5B 1Y6 info@p•••.ca +1 416-507-9968 Crawled successfully
Pet Mama 644 Bloor Street West, Toronto — +1 416-516-6262 Skipped: robots.txt asked us not to crawl
Pet Mama 1500 Bathurst Street, York — +1 416-901-6262 No website listed
Pet Studio — — +1 416-699-3999 No website listed
Pet Uno 675 College Street, Toronto, M6G 1B9 — +1 647-727-0758 No website listed
Pet Valu 3003 Danforth Avenue, East York, Ontario, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 950 unit B9 Southdown Road, Mississauga — +1 416-693-0196 Crawled successfully
Pet Valu 3003 Danforth Ave, Toronto, ON, M4C 1M9 — +1 416-693-0196 Crawled successfully
Pet Valu 125 The Queensway — +1 416-693-0196 Crawled successfully
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
~/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.