How to Find Local Business Emails on Instagram (By City or Hashtag)

by HarvestMyData

instagramlocal businessemail scrapinghashtag scrapinglocation scrapinglead generation

Most guides about finding business emails point you to Google Maps or LinkedIn. Makes sense — those are obvious places to look. But they have a blind spot: tons of local businesses are active on Instagram and nowhere else. The yoga studio that only posts reels. The food truck with 8,000 followers but no website. The freelance photographer who gets all their clients through DMs.

These businesses have public contact emails on their Instagram profiles. You just need a way to find them in bulk.

The idea: scrape by location, not by account

Normal Instagram scraping works like this: pick a big account, pull their followers, check each one for an email. That's great for niche audiences, but terrible for local targeting. A fitness influencer in Miami has followers from everywhere — maybe 3% are actually in Miami.

Location-based scraping flips it around. Instead of starting with an account, you start with a place. Instagram location pages collect every post tagged at a specific spot. Scrape the users who posted there, and you get people who physically were in that location. For businesses, it's even better — restaurants, gyms, salons, and shops tag their own location in almost every post.

Hashtag scraping works the same way but wider. Scrape #dentistmiami and every result is a Miami dentist (or someone posting about one). Way more targeted than pulling random followers.

What this actually looks like

We ran some numbers to see how location and hashtag scraping compare in practice.

Location test: Javits Center, NYC vs. Times Square

Javits is a convention center — business events, trade shows, B2B crowd. Times Square is tourists taking selfies. We scraped 200 recent posts from each location and enriched the users.

Javits CenterTimes Square
Unique users151178
Emails found72 (48%)64 (36%)
Phone numbers2922

The business-heavy location had a 48% email hit rate. The tourist spot, 36%. Both are solid, but the quality of the Javits emails was noticeably different — marketing managers, event companies, SaaS vendors. The Times Square emails were mostly travel bloggers and content creators.

The takeaway: where you scrape matters as much as how much you scrape.

Hashtag test: niche vs. broad

We also tested targeted hashtags against general city ones. #miamirealtor and #chicagophotographer? Almost entirely business accounts — people advertising services. You're not going to find many teenagers posting under #dallascontractor. Email rates: 40-50%.

Broad hashtags like #miami or #chicago are a different story. Mix of residents, tourists, businesses. Email rates drop to 20-30%, but you get way more volume. Millions of posts vs. maybe 10,000 for a niche tag. Depends what you're after.

Step-by-step: building a local email list

Here's the actual workflow, whether you're doing it for your own business or for a client.

1. Pick your city and figure out who you want to reach

"Local businesses" is too broad. Get specific: dentists in Austin, wedding photographers in Chicago, coffee shops in Portland. The more specific you are, the better your hashtags and locations will be.

2. Find the right hashtags

Search Instagram for hashtags that combine your niche + city. Some patterns that work:

  • #[profession][city] — #plumberdallas, #dentisthouston
  • #[city][profession] — #austinrealtor, #seattlephotographer
  • #[city]smallbusiness — #nashvillesmallbusiness
  • #[city]local — #portlandlocal
  • #shoplocal[city] — #shoplocalaustin

Check the post count before committing. Anything with 1,000+ posts is worth scraping. Under 500 and you'll run out of unique users fast.

3. Or find location IDs

Location scraping targets a specific physical place. Think: the popular coworking space where every startup in town posts from, the farmers market, the business district, the conference venue.

Instagram assigns every tagged location a numeric ID. You need that ID to scrape it. The easiest way to find it: search for the location on Instagram, open a post tagged there, and the location ID is in the URL.

4. Scrape and enrich

Whether you go with hashtags or locations, the process is the same:

  1. Pull posts from the hashtag or location
  2. Extract the unique users who made those posts
  3. Enrich each user profile to get their public email, phone, bio, follower count, and account category
  4. Export to CSV or Excel

With HarvestMyData, you enter the hashtag or location and a post count. The tool handles the rest and gives you a spreadsheet. For 2,000 posts, you're looking at maybe 10-15 minutes.

5. Filter your results

The spreadsheet will include everyone who posted — not just businesses. Filter by:

  • Account type: business and creator accounts are more likely to be actual businesses
  • Category: Instagram labels accounts (Restaurant, Photographer, Health/Beauty, etc.)
  • Follower count: under 500 followers is usually a personal account, 500-50K is the sweet spot for local businesses
  • Bio keywords: search for "book," "DM for pricing," "appointments," or the city name

After filtering, you'll have a clean list of local businesses with verified contact emails.

Instagram vs. Google Maps for local emails

Everyone's first instinct is Google Maps. Fair enough — search "plumber dallas," get a list of businesses with phone numbers and emails. It works. But Maps has a blind spot that gets bigger every year.

Think about how many businesses run primarily through Instagram now. Personal trainers, photographers, makeup artists, food trucks, pop-up shops, freelance designers. Half of them don't have a Google Business listing. Some don't even have a website. They exist on Instagram and that's it. Maps literally cannot find these people.

There's also an email quality difference. Maps gives you [email protected] — the email that goes to a shared inbox nobody checks. Instagram business profiles usually have the owner's actual email or the marketing manager's direct address. When you're sending cold outreach, that matters.

Maps does give you more structured data though — addresses, hours, reviews, phone numbers. Instagram gives you follower count, what they post about, whether they're actually active. Different information for different purposes.

Honestly, the smart move is to use both. Maps for the established businesses with storefronts. Instagram for everything else. In our experience, there's surprisingly little overlap between the two lists.

Hashtags to start with

Not sure where to start? Here are hashtag patterns we've seen work well, sorted roughly by email hit rate.

Real estate is the easiest win — #dallasrealtor, #austinrealestate, #miamihomes. Realtors are basically required to have an Instagram with contact info. We've seen 50%+ email rates on these consistently.

Fitness is similar. #chicagopersonaltrainer, #nycgym, #lafitness (careful with that last one — might pull the chain gym). Trainers live on Instagram and almost always have a booking email set up.

Beauty — hairstylists, nail techs, makeup artists. These businesses depend on appointment bookings, so their profiles are loaded with contact info. #seattlehairstylist, #austinnails, that sort of thing.

Photography is reliable too. #denverphotographer, #nycweddingphotographer. Nearly all business accounts, high email rates.

Food and home services are more of a mixed bag. Restaurant hashtags pull food bloggers alongside actual restaurants, so you'll want to filter by account type. Contractor and landscaping hashtags have lower volume but the leads are solid.

Swap in your target city and start with one niche. See what comes back, then branch out.

OK, you have emails. Now don't be annoying.

Quick rant because this matters: don't blast these people with a template that starts with "Dear business owner." They'll mark you as spam before they finish reading the subject line.

You know which city they're in. You know what they do. You probably know what they posted last week. Use that. "Hey, saw your studio on Instagram — we work with yoga studios in Austin on [thing]. Worth a quick chat?" is going to get 10x the reply rate of anything generic.

The entire reason you scraped by location and hashtag is because it gives you context about who these people are. If you throw that away and mass-blast them anyway, you might as well have bought a list from some sketchy data broker. Don't be that person.

Try it

HarvestMyData supports hashtag and location scraping with email enrichment. Start with a free trial — scrape up to 5,000 posts from any hashtag or location and see the email hit rates for yourself. You'll get a full spreadsheet with emails, phone numbers, and profile data.

Start free trial →

We built HarvestMyData to handle all of this for you.

No proxies, no code, no account needed.

Try it now