i scraped 798 marketing agency emails across 54 countries in two weekends. heres exactly how.
step 1: find agencies by city
google: "digital marketing agency [city] contact email"
do this for 50+ cities across AU, NZ, UK, US, CA, and everywhere else.
step 2: scrape the contact pages
python + requests + beautifulsoup. for each agency URL, check /, /contact, /contact-us. extract emails with regex: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
filter out junk: sentry, schema, cloudflare, googleapis, .png, .jpg, .avif
step 3: verify the emails
remove obvious invalids (bounces from cold sending). check MX records. keep only deliverable addresses.
step 4: structure the data
CSV format: agency name, email, website URL, city, country, region. clean duplicates.
the result
798 verified agency contacts across 54 countries. took about 30 hours of scripting and scraping over two weekends.
or just buy the CSV for $19
if you dont want to spend 30 hours scraping, the finished dataset is available:
free sample (50 agencies): https://vemtrac.gumroad.com/l/blole
full list (798 agencies, $19): https://vemtrac-outreach.pages.dev/leads
the free sample lets you verify the data quality before buying. 50 agencies across 44 countries.
have you scraped contact data at scale? what was your approach?