Every sale starts with a lead.

You need to constantly update your pool of leads to find your ideal customer.

As a result, lead generation is one of the most important parts of any sales process.

But building lists with quality leads is often not easy. In fact, some companies make it their entire job to generate leads and sell them to you for a profit. After all, who has the time to build these massive lists while also running sales calls and following up with potential buyers?

However, there are ways to optimize the process and bypass the middle man. Our favorite being web scraping.

You can use a web scraper to scrape leads online for free and without having to write any code. This can give you access to all the contact information on a website in a handy spreadsheet on your computer.

Lead Generation with Web Scraping

Lead information exists all over the internet, from directory sites to social media platforms. The better you are at collecting and using this information, the more successful your sales efforts will be.

Additionally, with web scraping, you get to dictate where your leads are coming from. This has a direct impact on lead quality and, as you know, better leads result in more sales.

In contrast, you are less likely to know the origin of a list of leads purchased from someone else.

Where to start - Finding a target website

You can usually find information about potential customers online by visiting industry-specific websites, social media platforms or business directories.

Make sure to collect the bio, contact info and social media links for each sales lead and any other data that will help you get to know your prospect better.

Make sure to ask yourself these questions:

  • Are there any patterns in the type of customers that are buying from me already? Where are they coming from?
  • Where do my potential customers hang out and work online?
  • Are there any customers that are doing what you want them to do with your product or service but somewhere else?
  • Do any directories, social media platforms or forums list my ideal customers?

To get your creative juices going, let’s review a few common places to scrape for high-quality leads.

Yellow Pages

Yellow Pages might be one of the largest business directories on the web, especially in North America. If you’re looking for leads in the service industry, this is the best place to start collecting names, addresses, phone numbers, and emails.

In fact, the information on Yellow Pages is so valuable, that we have put together a complete guide on scraping data from Yellow Pages specifically.


Yelp is another darling of the business directory world, boasting over 90 monthly million visitors through their app and mobile site.

Although most people directly associated Yelp with restaurants and bars only, the site actually has listings for all kinds of businesses including doctors, dentists, HVAC repair, electricians, movers and more.

The best thing about Yelp is its community of reviewers and how you can use their reviews in your favor. Along with the business contact info, you could also scrape their review scores to prioritize businesses that are loved by their customers and are therefore more likely to stay in business for a long time. After all, the only thing better than a sale is a repeat sale, and another, and another.

There are many more business listings you could be looking at for web scraping. Here’s a list with the top 57 Business Directories in the US.


Let’s go with a different example. Maybe you want to target big influencers in a specific industry and introduce them to your product.

You can use a tool such as FollowerWonk to pull a list of every single Twitter influencer for a specific topic. For example, below we’ve pulled a list for the top SEO influencer on Twitter. This could be incredibly valuable if you’re selling a tool or service in the SEO industry.

Finding a Web Scraper

Now it’s time to find the web scraper that’s going to be able to pull all the information on these websites into a handy spreadsheet.

We’ve written an extensive guide on what makes the best web scraper and what features you should look out for.

However, we obviously recommend ParseHub, Not only is it a free and powerful web scraper, but we also provide awesome customer support to make sure that your scrape jobs are completed without a hitch.

Make sure to download ParseHub to complete the web scraping example below.

Scraping a Business Directory

Alright, now it’s time to get scraping.

For this example, we will scrape business listings for doctors in Toronto from YellowPages. So our very first step is to get the specific URL for this results page.

Next, you will have to download and open ParseHub to start your web scraping project.

Web Scraping with ParseHub

Let’s start by setting up your project and selecting the data you’d want to extract from the target page.

  1. Open ParseHub and click on “New Project”
  2. Paste in the URL we’ve chosen, ParseHub will then load the page in its own browser
  3. Click on the first business name on the page, it will turn green, indicating that it has been selected.
  4. The rest of the business names will turn yellow, click on the second one to select all the business titles on the page. They will now all be highlighted in green.
  1. You can go on the left sidebar and rename the selection to business.
  2. Parsehub will now extract both the business name and listing URL for every business on the page. So let’s now ask it to extract the address, category, and phone number for each listing.
  3. Click on the PLUS(+) sign next to the business selection and select Relative Select.
  4. Using Relative Select, click on the first business name on the page and then on the business address for the business. You might have to use the zoom out command (Ctrl+1 / Cmd+1) while hovering over the address to make sure ParseHub selects the entire address.
  5. We will then repeat this step and use Relative Select to scrape the business category as well.

Dealing with a Dynamic Element

You might have noticed that in this case, Yellow Pages hides the phone number for a business behind a clickable button. Luckily, ParseHub can easily deal with these dynamic web elements.

  1. First, use Relative Select again to select the Phone button on the page. Rename this selection to phone_button.
  2. By default, ParseHub will pull the info related to the button. We will expand the selection on the left sidebar and remove these default extractions.
  3. Use the PLUS(+) sign next to the phone_button selection and select the click command. ParseHub will ask you if this is a “Next” button. Click “No” and choose to keep working on the same template. The phone button should now be expanded on the page to display the business phone number.
  4. Then go back to the business selection and use another Relative Select command to extract the phone number from the page.

Now you are ready to run your scrape job using the Get Data button. ParseHub will then collect the info you’ve requested into a CSV/Excel spreadsheet.

Thousands of Leads in Minutes

Using this method across several business directories can yield incredible results. Since ParseHub is incredibly fast, you could scrape thousands of high-quality leads in mere minutes.

Don’t let this guide be the end of your thought process. There are many other websites you could pull valuable information from.

What site will be next in your scraping list?

[This post was originally written on June 16, 2015 and updated on August 14, 2019]