How To: Scrape and Build a SMB Lead List

If your customer doesn’t have a big digital presence and is hard to find, how do you build a list of leads to target? Who are the business owners? What are their emails? Who are their employees? Do they have a website? A company phone number or direct numbers for the employees/owners? What social media accounts do they have? 


I want to market to (call/email/show display ads to/direct mail/drop voicemails on/text/door knock) on the {{your prospect personas}} at businesses that are {{your account personas}}. 


Get a list of ideal contacts that work at your ideal companies. To do this, you need to get a list of just ideal accounts. If you can find a list that also includes contacts, that’s great, but is not necessary. 

For accounts, our goal is to get websites. With a website we can get other valuable data points like company social profiles and contacts.

For prospects our goal is to get contact info like an email address, phone number, or social accounts. 

Option 1: Purchase 


Buy the data from a data provider. Right now, my favorite is (by far!!) apollo

When to use: 

When choosing speed and quality over cost and quality unless you’re selling to ‘companies’ that are less than 10 people like realtors or interior designers in your city. 


(1) Too expensive at scale for average contract values less than $2K, (2) typically overused and abused contacts, (3) typically smaller percentage of available market, and (4) imperfect contact data (90% best case scenario, 75% typical). 

Option 2: Scrape and Build


Any other situation, especially when selling to SMALLer companies. 


Annoying, slow and complicated. 

Step-by-step guide on how to Scrape and Build your lead list of SMBs. 

Step 1: Find Initial source that has a curated list of your companies 

  1. Pre-Curated Lists/Directories/Associations

Your account personas are (trade associations, non-profits, furniture manufacturers, group travel agents, etc.) probably already curated on a directory website. Search google for that…

  • “list of {{account persona}}” or 
  • “directory of {{account persona}}” or 
  • “association of {{account persona}}” 

  1. Specific search engine.

There is an obvious source like google maps, yelp, houzz, etc. that has already spent one hundred trillion dollars curating and cleaning the data for you. 

Identify your data source. 

Step 2 (a): Scrape that search result page or directory to acquire a list of company names (minimum) and profile links (ideal)

Tool: Choose a scraping method. 

Your options are: 

  • The easiest tool for scraping is simply You might have to make 10 free accounts. 
  • Have a difficult time with phantombuster
  • There are lots of good chrome extensions for simple scraping or complex stuff. 
  • Build your own or fork a github repo. 
  • OR...Pay someone on upwork. 

Example: (Directory) Travel Agents from the association 

We want a list of travel agents. 

We search for “travel agent association”. 

We find 

We click around until we find their directory. 

We click Find with no filters selected. 

We get a results page of legit travel agents in the US. 

We scrape them using

We have a list of profiles and names. 

We scrape those profiles. Address, email, phone, socials, website are all there. 

We got lucky. We’re done. 


You can find almost any legit professional on linkedin by searching for a name and company at the same time. If they don’t have a linkedin, they probably aren’t legit or aren’t going to respond well to your digital marketing efforts anyways. Notice the url structure for searches. The url structure is something like bla bla. 

  • WARNING: You pretty much need a sales navigator account. 

Google Maps: 

You can find most any business (name/address/phone number/website) by searching for a company and city or address at the same time. If they aren’t a result on google maps, they are probably nor a legit organization to conduct business with or they are a shell company for a trust funder or cartel. The url structure is something like 

Result: A list of accounts. 

  • If company name, website, socials, address, phone number, contacts, you’re done. Move to step bonus.
  • If company name and website, move to step 3. 
  • If just company name and address or location, move to step 2b.  

Step 2 (b): Take your company names and location and scrape google maps or Linkedin to get a website. 

This is the easiest tool: 

Phantombuster google maps scrape or Phantombuster Linkedin Sales Nav Search or Normal Linkedin Search Scrape. 

  • For both, you’ll need to build out the URLs you want to query. I just use google sheets or excel and combine all the cells with something like =””&{{cell that contains your search… in this case lets say... Interior+Design+Company+ABC+Austin+Texas}}. Upload those to your phantombuster scraper. 

Step 3: Take your company websites (minimum) and contacts (ideal) and get the contact data you want for the communication channel you want to market to them in (phone, email, address, fb page, insta, twitter, linkedin, etc.) 

Option 1: Scrape their website for social links, any email address (usually a general one like info@ or contact@, but sometimes personal) and phone numbers on the homepage only. Phantombuster works great

Option 2: Scrape all their website pages for all contacts and contact data that exist. ( bulk import works great.)

Option 3: Get all the contacts with the titles you want by uploading that list to a data provider (I know we’re past data providers, but it’s worth mentioning as an option. Apollo works great.)

Option 4: Scrape Linkedin for all the contacts that fit that claim to work at that company within the titles you want.. Do this by 

  • Building out a Linkedin URL search structure for all your companies by searching on linkedin, copy and pasting the url, and then inserting all your other company names using excel or google sheets (=””&A2&”moreurlstuff” where A2 has your company names with spaces turned to ‘%20’ and commas turned to “%2C”, etc.) and using that phantombuster sales nav search export. 

  • Get the company Linkedin URL and remove the linkedin company ID. Take that company ID and write it down. Search again for employees with the titles you want at that company. Notice the URL structure and where the company ID sits in the url structure. 

  • Build out “show me these employees at this company” search URLs for all your companies with their company ID. 

  • Scrape those as sales navigator searches. Use Phantombuster again. 


  • Boom. You have contacts, their First Name, Last Name, LinkedIn Url, Company, Company LinkedIn, and Company Website. You might even have some stuff like other social profiles and phone numbers.  

Option 5 (if you have contacts): Upload your First Name, Last Name, and Website to to get emails for your contacts. 

Step 4: Compile your data and clean. 

  • Compile your data. I use google sheets, make multiple tabs for each category of data, freeze the first rows, do a lot of =vlookup functions. 
  • Clean up your data. I do a lot of sort sheet by column, split text to columns, and find & replace functions. Split text to column works better on excel. Find & replace works better on sheets. 
  • Upload it to an email validator. I like using, then voilanorbert , then skrapp. This is because you’ll get different match rates and emails. Start with one, only keep verified emails or a confidence rating of 80 or above. Move on to the next validator. 

Bonus: Take an assessment of the types of contact data you have and think about what you might be able to do. 

Some of my favorite programmatic things to do are: 

  • Upload contacts to an email sequencing tool like mailshake, apollo, snov, reply, amplemarket,, streak, gmass… etc.. My favorite right now is probably mailshake. 
  • Linkedin connect requests and profile views. My favorite tool is phantombuster or dux-soup. 
  • Drop a voicemail on every phone number. My favorite tool is sly broadcast. 
  • It can also be helpful to browse phantombuster’s page to get some ideas of hacky things you could do.  

Tools (some referral links):

apollo for data

phantombuster for pre-built scrapes and hacky stuff for scraping for email finder and validation

Receive new guides + stuff on growth in your inbox.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
© 2020, JB Consulting. All rights reserved.