Many b2b lead generation companies will offer to give you a list of leads of business that may be interested in your product or service.

Some companies will pay $300 to $1000 for around a list of potential leads. As this can be beneficial to help grow your business, it may be worth the investment.

But what if we told you there's a way to create a b2b email list for free? Instead of spending money on a list, you can spend some time creating your own b2b email list. Most businesses won’t list their personal business email on their website. But that doesn’t mean we can’t find them.

You’ll need to do 2 things:

  1. Create a list of businesses with phone number using a web scraper
  2. Finding personal work emails on the internet to contact using an email finder

As there are multiple web scrapers we recommend ParseHub, it's free to use and has a suite of features that we think you’ll find useful!

For an email finder, you can use, it’s free to use as well (you get up to 50 searches/ month)

So let’s show you how you can create a b2b email and phone number list for free! Once created you or your sales team can reach out to your target market to grow your sales.

Before we get started, here some considerations when you’re trying to find an email

  • How will you use this email list? Do you plan to blast this list with “spammy” messages to see who bites? Or are you planning to use this list to build legitimate connections with your potential customers? Furthermore, you could use this list to build target audiences for Google Ads or Facebook Ads.
  • We recommend checking your local laws regarding spamming and what you are allowed to do with the emails you’ve collected.

Now let’s show you how you can create a b2b email list for free!

Create b2b lead generation list with web scraping

Create a list of businesses with phone numbers using a web scraper

First, you’ll need to decide which online directory you want to scrape. For this example, we are going to scrape Clutch, you can view how to scrape other directories from the list below:

We will scrape SEO companies in Canada on Clutch. We will extract data like business name, website, phone number, location and rating.

First, make sure to download and install ParseHub for free.

Scraping Data

  1. Install and Open ParseHub, click on “New Project” and enter the URL you will be scraping. In this case, we are scraping the search results page for SEO companies in Canada. The page will now render inside of the app.
website rendering inside of the ParseHub

2. A select command will automatically be created, (if not, just click on the PLUS (+) next to the page to create one) Make your first selection by clicking on the first business name on the list. Once selected, it will turn green. ParseHub will now suggest the other elements you want to extract in yellow.

Selection command - extracting business name

3. Now click on the second business name that is in yellow. ParseHub is now extracting all business names on the list.

4. ParseHub is now extracting the name and the business listing link for each business on the page. Let’s extract more data. Start by clicking on the PLUS(+) sign next to your business selection and click on the “Relative Select” commands.

Relative Select Command

5. Now click on the name of the first business on the page and then on the location. An arrow will appear to show the association you’re creating. On the left sidebar, rename your selection to “location”.

Relating business to location

6.  Repeat steps 4-5 to select and extract more data from this page. We will repeat these steps and extract the business website, rating, and cost/ hour. Your project should look like this:

Web Scrape project for B2B lead list

Scraping info from each business listing

Now, you might want ParseHub to scrape business data that you cannot find on the search results page, in this case, their phone number. So, let’s setup ParseHub to click on each listing on the page and extract more data. If you already have all the data you want, skip to the next section

1.  First, click on the PLUS(+) sign next to your “business” selection and choose the “click” command.

Using the click command on ParseHub

2. A pop-up will appear asking you if this is a “next page” button. Click on “No” and name your template “business_template” The business page of the first business on the list will now open inside the app and a new select command will be automatically created.

3. While using the automatic select command, click on the business phone number. You can extract extra data like focus or when the company was founded, but we’re only interested in extracting the phone number. Expand the phone number selection and delete the tel:URL column.

Extracting Business phone number

Adding pagination

Right now ParseHub is only extracting business on the first page, but let's grab from multiple pages!

1.  First, use the browser tabs and the tabs on the left side of the app to go back to your main template and the search results page.

2.  Now click on the PLUS(+) sign next to your “page” selection and choose the select command.

3. Scroll all the way down to the bottom of the page and click on the “next” button. Rename your selection to “next_page”.

Selecting next button

4. Expand your next_page command and delete both commands that are being extracted

5. Now select the PLUS(+) command next to your “next_page” selection and choose the “click” command.

6. A pop-up will appear asking you if this a “next page” link. Click on “Yes” and enter the number of additional pages you’d like to scrape. In this case, we will scrape 4 more pages.

Running your scrape Project

To do this, click on the green “Get Data” button in the left sidebar. Here, you can test, run, or schedule your scrape.

In this case, we will run it right away. ParseHub is now off to scrape the data you have selected from

Once ParseHub is done extracting the data, you can download the file in CSV/ Excel file. This will be important as we are going to place the emails for each business on this sheet.

Using an email finder

Now that you have a list of businesses that may be interested in your product or service, let's find their email.

For this example, we will use

It’s pretty simple to use, so first grab the first business website on the list and enter the domain name.

Hunter will now search the web to find emails that are associated with the domain name! We covered the names for privacy reasons.

You can now copy and paste the emails into your spreadsheet or email them directly!

Do note, will not always be able to find personal business emails and will just find generic emails like info@

Closing thoughts

Now that you know how to create a b2b email and phone number list, you can take some time to create this list and either your or your outreach sales team can contact them through their phone number or email.

This list is a great way to generate a list of businesses that are in your target market. The great thing about directories is they have multiple cities so you can create a local or international list.

Once again, be sure to check with your local laws about any outreach emails.

Happy scrapping!

You may also be interested to learn how to scrape emails from any website

Download ParseHub for free