1
0 Comments

How to scrape 798 agency emails in a weekend — the exact process

i get asked "how did you build the contact list" so heres the full method.

no paid tools. no APIs. just python and patience.

step 1: find agencies via google

search: "digital marketing agency {city} contact email"

do this for 50+ cities across multiple countries. english-speaking markets have the highest hit rate — AU, NZ, UK, US, CA agencies almost always list their email on the website.

step 2: visit the website

for each agency, check three pages:

  • homepage
  • /contact
  • /contact-us

most agencies put their email on one of these. some use contact forms only (skip those).

step 3: extract emails with regex

python pattern: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

but raw regex catches garbage. you need filters:

  • remove image filenames (.png, .jpg, .avif, .svg)
  • remove schema/metadata refs (schema.org, sentry, cloudflare)
  • remove noreply/info@ addresses (low response rate)
  • remove generic patterns (name@email.com, example@)

step 4: deduplicate and compile

store each citys results in a separate JSON batch file. 257 batch files total. then compile into one CSV with deduplication on email address.

step 5: verify

spot-check 50 random emails by visiting the website. i found about 93% accuracy rate. the 7% failures were agencies that changed their contact page after scraping.

the result

798 unique agency contacts. 54 countries. CSV with agency name, email, website URL, region.

took about 15 hours across 2 weekends.

if you want the finished dataset instead of doing all this: https://vemtrac-outreach.pages.dev/leads ($19)

or build your own — now you know exactly how.

on March 30, 2026