10,000 leads in 10 minutes

What is a lead?

Ok, let’s start with the basics. Leads represent the first stage of the sales process.  In its simplest form a lead is any “person or entity that has an interest and authority to purchase your product or service”. Or in other words: someone you can sell to.

Sounds good. So, what information do you need about that person or entity for it to be an actionable lead? A good rule of thumb is to look for the information that you would find on a business card, i.e. their name, associated company and contact details.

Where do leads come from?

The most traditional way to get leads is by buying databases of telephone numbers, email addresses or mailing addresses. As you can imagine, these lists are immense, which gives you a high quantity of leads, but the quality is notoriously very poor.

Alternatively, you can attend trade shows and other industry events and collect business cards the old fashioned way. Or you can stalk people on social media and try to get in touch with them that way through channels like Facebook, LinkedIn and Twitter. Leads generated in this way usually have great quality, but come with a high time-cost which limits the quantity that you will be able to generate.

But wait, there’s another way!

I want to share with you a new approach to lead-generation that will deliver both quantity and quality – it is based on web data. This approach was developed by some of our earliest users, and it is both ingenious and simple:

  1. Find a website where your ideal user can be found
  2. Build an API to that website (using import.io naturally) and extract as much data about each lead as you can
  3. Pull that data into a spreadsheet

That’s it. Three simple steps and it takes about 10 minutes, after which you will have thousands of quality leads to work with.

Contact those leads

Use the data you collected to create a conversational, extremely personalized message to send to each lead. Seriously. Make it freaking personal. I CANNOT emphasize this enough. Something like this should give you an idea of how to begin:

Hi [first name], I was browsing [website name] and I came across your profile. I noticed that you mentioned [profile keyword], and I thought you would be interested in what we do….

Then start sending out your messages. Be creative about the channels that you use – email isn’t the only way to contact people – try other channels like Twitter, text message, et cetera.

It’s fine to automate your messages, but don’t send out too many at once – you want to avoid appearing spammy. And remember that you are starting a conversation with a real person and you need to be able to respond and engage as people start replying to you.  If you send out 1,000 messages and you get 1,000 responses you will be swamped.  10 messages a day is a good start and go from there.

It really works!

At import.io, we actually followed these exact steps to bring in new users. We’ve created a platform that allows anyone to turn a website into data without the need to write any code. A key group who benefit from our platform are developers, they can save a lot of time and effort using Import.io instead of writing code to get web data.

There are lots of developers on oDesk, so we built an Extractor to all 13,000 who mention “scraping” as one of the services that they provide.  We pulled this list of users into a spreadsheet. Then, we created a personalized message template inviting them to apply for a real job on oDesk that requires the use of import.io. The message also quickly outlined the benefits of using our platform over traditional methods and included a link to our website.

Quick tip: use Google URL Builder to send out your link so that you can track how well each different campaign is doing.  You can also shorten the link using the Google URL Shortener.  If you are using Google Apps for Business you can use your own domain name, which makes it look less spammy.

Next, we built a connector to oDesk, this time to the messaging system.  The API logs into oDesk, navigates to an individual user’s profile and sends them the personalized message. Every time a user follows the link to our site, we can follow them all the way through to account creation on our platform in our own analytics.

Using this method we have begun experimenting with getting 1,000s of quality leads to our site.

Props to Matt Ellsworth from Storefront who pioneered a lot of these methods for lead generation. If you want more information on how to use his methods for your business, you can take his Udemy course.


This is very cool and mind boggling at the same time, almost overwhelming when you consider all of the applications that can be utilized.

So my "brass tack" question is how can I apply this in the real world?

Let’s say for example I want to target business owners in the state of Vermont or New Hampshire. How could I find specific websites that would contain information that would include the name and email?

Am I being to granular with this approach or is data scraping best used in more broader terms?

Thanks again for the article!

Hi Peter. Let’s go deep on your question. Can you give me a bit more information? What kind of business owners are you looking to target? Surely it is not just anyone in Vermont or New Hampshire. What line of business are you in. Let’s explore this together and we can drive out some ideas.

Yes, please answer the question Peter posed as it perfectly reflects how sales teams can use data in a B2B situation.

This is amazing truly…. But yes, Please how would I get business owners of my choice? or what is the best ways to use this to generate leads?

This is more a question of art than science. Where are your targets? See my response to Peter below.

"What kind of business owners are you looking to target? Surely it is not just anyone in Vermont or New Hampshire. What line of business are you in."

If you can provide more information about your business we can get some ideas flowing and turn this comment thread into a conversation about lead sourcing.

Hello Andrew,

Great post ! I have a question:

I see that you made a connector to the messaging system but how did the messaging system know which person to send the message to ?

I know how to do an extractor and connector but automating the messaging is a whole new ball game for me. Did it involve writing some code ? I’m having trouble understanding that concept.

In my mind I understand that the extractor will be in a whole different dataset, I’m assuming both the extractor and connector are working together but how.

URLs can be recorded as inputs for connectors. When recording the query for a connector, if you change the URL in the browser, that is recorded as an action. You can then set that URL change as an input. The finished API is then fed a URL for a user profile page, the connector logs in, navigates to that user’s profile page and sends them a custom message.

Below is a link to a screenshot of a connector’s recorded query that does precisely that. It navigates to an oDesk profile page (in this case mine) and sends me a message. The first step represents the URL change following log in.


Hello Andrew, thanks for responding. I posted a comment but I’m not sure it was accepted.

Just so we’re on the same page once the API/connector is turned on then all 10,000 leads will be sent a message on autopilot one by one ? Correct ?

I hope this isn’t too much to ask but I was wondering if you could do a step by step tutorial and post it to Youtube to accompany this blog post/slides. I’m a visual learner and being able to play and pause while I do it would be great.

I found a target audience on Reddit and I’d like to implement this technique.

Also I started using suggest data and its great ! Seamless use which is great for a user such as myself.


Andrew, I am new to ImportIo and just finished Chris Ellsworths class. I found your talk and love the way you are using the product.

Have you had the opportunity to build the step by step guide to creating an automated messaging connector?


Hello Andrew,

Thank you for sharing this. I have been experimenting with data extraction for leads for since January, and I recently have run into some problems.

When using the ‘Crawler’ in import.io to extract leads from a specific site, I am getting a ‘Suspicious Activity Detected’ notification from the site. This is through the software from Distil networks which prevents web scraping.

I understand the reason for this protection and I’m sure you and the team at import.io are aware of this issue. Is there any solution to this problem, and is it a long term issue legally for people that want to web scrape for leads?

Michael D. Pagan

Hi Michael,
We can’t do anything specifically to stop you getting the suspicious activity warning. The only thing we can recommend is that you slow down or optimize your Crawler to make it less noticeable on their site. I would start by increasing the pause between pages and decreasing the number of simultaneous pages in the settings before you run it. You can learn more here: http://support.import.io/knowledgebase/articles/247574-advanced-crawler-options.

If you continue running into issues email us on support@import.io and we’ll work with you on your individual Crawler to make it as efficient as possible.

Comments are closed.