How I built and used an Instagram email extractor (scraper) to help e-commerce & marketing agencies sell at scale to their target market.
Ecommerce Businesses Must Have an Instagram Data Extractor
Working in a B2B company, you have a whole specter of email scraping tools to choose from. Anyone with either a bit coding skills or some extra cash to spend can find a given person’s business email address. That’s because the formula for getting professional emails became too simple.
- Use skrapp.io to go all over LinkedIn and get company name + first and last name
- Create 20 combinations to guess the pattern of the email address everyone in the company use
- Check which variation is the valid one by using an SMTP server.
No step 4. It’s that simple.
Before I started working for a B2C company I was used to easily get contact info and running cold outreach campaigns. However, when I finally made the switch I realized that it’s really hard getting email addresses, phone numbers and other contact info from regular consumers we wanted to target.
As a newly hired growth engineer and cold email expert, I promised to boost sales by 3x in one month...boy was I wrong.
The target audience was amateur photographers and fitness instructors. As usual, I jumped on LinkedIn, sure that I’ll find something. However, very few people of our niche were active on LinkedIn. Also, those that I manage to find worked at small companies that didn’t have a LinkedIn profile.
I was screwed.
Obviously, I didn’t 3x sales that month (SPOILER: I 5x it by the end of the article)
After some digging, I found that our audience is concentrated on Instagram + small engagement in Facebook groups. So, I did what any desperate man would do. Sending direct messages on Instagram to thousands of people.
After a brief success, I received an email saying our corporate Instagram account is banned.
The only way to calm down my hot-tempered manager was convince him that I’ve found a way to reach those same Instagram users via email.
The Slowest Instagram Scraper Ever
(me visiting profiles 1 by 1)
While researching some of our targeted people I noticed that there’s an email button on most Instagram accounts.
1. It turns out that if you click the button you can actually access their email address.
2. And if there was no email button, I checked people’s bio section where I could also find emails.
Okay I was definitely onto something here!
So, I began manually visiting people on Instagram 1 by 1 and copy-pasting the data down in Excel for days. My weird behavior drew attention in the office and I had developers coming up to me asking if I wanted them to build me an Instagram email finder tool that would scrape that data.
But, of course I refused.
After a couple of days of hard manual labor, I had 334 accounts that were just enough for me to run a targeted cold email campaign.
Truth be told, some part of me wanted this to fail so I would never have to do this kind of work again. But, if this turns out a success I could be the star of the company!
The results? (drum roll…) 🥁🥁🥁
INCREDIBLE…25% clicked the link in my email! Out of those about 30% actually bought from us. This was amazing!
Obviously, I struck a chord here and my only concern was how could I scale? Since I couldn’t find any good Instagram scraper service online I had to develop my own Instagram email scraper from scratch.
That’s how I started a side project that would eventually turn into my own company, with more than 200 clients in the first year.
Developing an Instagram Email Extractor (Github & Python)
We’ve already developed an Instagram scraper tool that worked with mobile endpoints ie the unofficial Instagram API. To achieve any action you just need to simulate a device that will log in to the IG profile and take the same endpoints as you would with a normal phone.
To actually scrape emails from Instagram profiles, we found a way to parse the returned JSON file and look up the email. You might think it’s easy but we were stuck on this for months. We got incredible data, but we were getting blocked at every turn. There was no clear way of scaling.
Eventually, we managed to narrow this down to two problems:
Problem 1: Crawling with Instagram accounts. The crawling was extremely slow since Instagram’s API has a very strict API call limit.
Solution: Have 10 Instagram accounts working simultaneously, splitting the work.
Problem 2: Getting emails not only from bio or the email button on the profile but also from image descriptions, comments, links to a website that has the email of the person.
Our goal was to get everything we could find!
Solution: Have thousands of IG profiles and completely crawl the activity of any user. One tool I would suggest is Hunter.io that has an awesome API for finding emails from profiles with a website link included – so we used them too.
And that’s how you build an Instagram data scraper tool and scrape Instagram emails. For those of you who don’t have the time or the resources for this, get in touch with us and just buy email addresses from Instagram.
Extracting Emails Only From Targeted Instagram Users
I believe that anyone can learn how to scrape Instagram. But, of course, you must filter that data because otherwise is worthless. This is especially true when it comes to cold email.
There are very few industries that don’t have any type of targeted audience – meaning they sell to everyone.
But, most businesses have clearly defined target customers. And, they want to contact only those kinds of people and not anyone else. I’m not saying this only in terms of ROI, but also if you cannot personalize cold emails, you’ll instantly end up in spam.
That’s why the least you can do is narrow down your audience before you start scraping.
Targeted Instagram Email Scraping Makes It Worthwhile
If you sell at a certain location you want to email people only from that region. What we do is crawl all posts on a profile and check the location hashtags. The most recurring country/city tells us where that person is located.
We also use other tactics to geo-locate people, that I can’t share here 🙂
People use hashtags as a way of describing what’s in their posts. This is an awesome way to find your audience.
For example, if you sell beard oil you can find ANYONE with #beard in their posts and get their email.
What hashtags are your customers using to describe themselves, their surroundings, interests, activities?
I’m sure you already came up with something.
Scrape Instagram Followers (your followers or your competitors?)
The easiest way to tell where your customers are on Instagram is to look into your own followers. You can scrape your followers and get their email addresses.
However, the most popular practice among scraping Instagram is to go after the followers of your competitors.
Let’s use the beard example again. Why would anyone follow a beard care brand if he’s not growing a beard, right?
And, before you say that it cannot get more targeted than this:
AI-Powered Targeted Scraping
The most exciting way we collect email addresses from Instagram is based on image classification.
What this means is that we can analyze all images of any Instagram profile and understand what’s included in the images (without peeking in hashtags).
Let’s say a business wants to get emails only of people that are interested in outdoor activities. We can get those profiles even if there is no other information, other than images.
This kind of scraping is something that no other email data provider has achieved.
How To Extract Instagram Emails:
Building Instagram Scraper vs Buying Data From Us
I really don’t mind sharing how to “grab” email addresses from Instagram by yourself and share what we’re doing. I know how hard it is to replicate this without spending a lot of money and time.
So, to sum up:
If you’re a small startup with a developer:
If you’re a small startup with a developer, go for it and build this! You probably don’t need to get to an extracting scale of 5 million profiles per day like us. After all, I collected emails manually so you can do it too!
So if you want to build it, here’s my piece of advise:
- Use any python library from git.
- Define where do you want to extract from. Use the examples I mentioned like hashtags, location, followers of some influencer (person or a brand)
- The profiles you’ll use for crawling should be aged, with phone numbers that you can validate (or you’ll lose them right away). NEVER USE YOUR PERSONAL INSTAGRAM PROFILE!
- Always validate the emails! 15% of the emails you’ll get will be Spam traps, invalid, or catch-all emails. Otherwise, Google will notice that you send bulk messages to invalid email addresses and that’s when you’ll get buried in spam – forever.
Or, use email as the only channel for getting new customers
If you’re trying to expand your business; maybe you run ads on FB or Google and you have low ROI. Or maybe just want another growth channel that can scale fast, you can book a call with me and we can figure out whether or how we can help you with that.
That’s All Folks!
I hope you found this article helpful and learned lots of stuff about this new strategy that more and more businesses use.
If you’re interested in buying targeted email lists from Instagram feel free to schedule a meeting with me or some of my colleagues using this link.