Bright Data to Google Sheets, qualified IG leads
You find an Instagram account that might be a fit, then you fall into the same rabbit hole: check followers, scroll for engagement, confirm they’re verified, copy the URL somewhere, then repeat. And repeat. This is how influencer lists turn into half-finished spreadsheets and “we’ll get back to it next week.”
Growth marketers feel it when campaign timelines are tight. Agency owners feel it when a client wants “50 creators by Friday.” Founders doing their own outreach feel it too. This IG leads automation turns that messy research loop into a clean shortlist in Google Sheets.
You’ll set up an n8n workflow that scrapes Instagram profile stats via Bright Data, qualifies profiles against your rules, then saves only the “good ones” to a spreadsheet you can actually use.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Bright Data to Google Sheets, qualified IG leads
flowchart LR
subgraph sg0["Trigger - Start Manually Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Trigger - Start Manually", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Instagram Profile URL", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Bright Data - Scrape IG Prof..", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter - Qualified Profile?", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Save to Google Sheet", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Skip - Unqualified Profile", pos: "b", h: 48 }
n0 --> n1
n1 --> n2
n3 --> n4
n3 --> n5
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3 decision
class n4 database
Why This Matters: Qualifying Instagram Leads Without the Guesswork
Instagram research looks simple until you do it at volume. One profile is fine. Twenty profiles turns into constant tab switching, manual copying, and “wait, did I already check this one?” moments. Then you realize the worst part: you’re not just collecting accounts, you’re making judgment calls while tired. That’s how unqualified creators slip in, good fits get missed, and your outreach list becomes a mixed bag that wastes everyone’s time.
The friction compounds. Here’s where it usually breaks down.
- You spend about 5 minutes per profile just to pull basics like followers, verification, and engagement.
- Teams disagree on standards, so one person adds accounts another person would immediately reject.
- It’s easy to miss red flags (wrong account type, low engagement, fake-looking growth) when you’re rushing.
- Your spreadsheet fills with “maybe” entries, which means outreach slows down because no one trusts the list.
What You’ll Build: Bright Data → Filters → Google Sheets Shortlist
This workflow gives you a repeatable way to qualify Instagram accounts using the same rules every time. You paste an Instagram profile URL into n8n, then Bright Data scrapes the profile stats that normally take you several clicks to gather. Next, n8n checks your criteria (things like verified status, follower count, engagement rate, and account type) and makes a simple decision: keep it or discard it. When a profile qualifies, the workflow appends it straight into Google Sheets, so your lead database stays current without manual data entry. If it doesn’t qualify, it’s skipped cleanly, which keeps your spreadsheet focused on outreach-ready accounts.
The workflow starts with a manual run in n8n, triggered when you supply a profile link. Bright Data returns the profile data, then the validation step applies your filters. Finally, Google Sheets becomes the single place where only qualified leads live.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Let’s say you need a shortlist of 50 Instagram creators for a niche campaign. Manually, if you spend about 5 minutes per profile to check followers, verification, and engagement, that’s roughly 4 hours of research (and that’s before cleaning the sheet). With this workflow, you paste a URL and run it, and the “keep or skip” decision happens automatically. Even if you budget about 1 minute per profile to submit links, you’re closer to an hour total, with a spreadsheet that’s already filtered.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Bright Data for scraping Instagram profile data.
- Google Sheets to store your qualified leads list.
- Bright Data API access (get it from your Bright Data dashboard).
Skill level: Beginner. You will connect two accounts and adjust simple filter values.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
You start it by providing an Instagram profile URL. In this workflow, that happens via a manual run in n8n, so you can test quickly and stay in control while you refine your criteria.
Bright Data pulls the profile stats. Instead of you opening the app, checking counts, and copying values, the workflow retrieves the key fields you care about and hands them back as structured data.
Your qualification rules get applied in one pass. The “Validate Profile Criteria” step is where follower minimums, verification requirements, engagement thresholds, and account type checks decide if this is an outreach-worthy lead.
Qualified profiles are saved to Google Sheets. If the profile passes, it’s appended to your spreadsheet. If it fails, the workflow routes it to a “do nothing” path, so your sheet stays clean.
You can easily modify the qualification thresholds to match different campaigns or regions based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Execution Trigger
Set up the manual trigger to start the workflow and define the Instagram profile URL used in the scrape.
- Add the Manual Execution Start node as the trigger.
- Open Define Profile Link and create a string assignment named post URL with value
https://www.instagram.com/cristiano/. - Connect Manual Execution Start → Define Profile Link.
Step 2: Connect Bright Data
Configure Bright Data to scrape the Instagram profile using the URL set in the previous node.
- Add Bright Data Profile Scraper and connect Define Profile Link → Bright Data Profile Scraper.
- Set Resource to
webScrapper. - Set Urls to
=[{"url":"{{ $json["post URL"] }}"}]. - Select a dataset for dataset_id (e.g.,
[YOUR_ID]forInstagram - Profiles). - Credential Required: Connect your brightdataApi credentials.
Step 3: Set Up Profile Qualification Logic
Define the qualification rules that determine whether a profile is appended to your spreadsheet.
- Add Validate Profile Criteria and connect Bright Data Profile Scraper → Validate Profile Criteria.
- Set conditions with Combinator =
and: - Followers greater than
10000using Left Value={{ $json.followers }}. - Average engagement greater than
0.005using Left Value={{ $json.avg_engagement }}. - Is verified equals
trueusing Left Value={{ $json.is_verified }}. - Is professional account equals
trueusing Left Value={{ $json.is_professional_account }}.
Step 4: Configure Output and Bypass Paths
Append qualified profiles to Google Sheets and bypass unqualified entries.
- Connect the true output of Validate Profile Criteria to Append to Spreadsheet.
- Set Operation to
appendin Append to Spreadsheet. - Set Document to
[YOUR_ID](e.g.,Instagram potential Influencers list) and Sheet to[YOUR_ID](e.g.,Sheet1). - Map columns to expressions:
- Biography →
={{ $json.biography }}, Followers →={{ $json.followers }}, Total posts →={{ $json.posts_count }}, Account name →={{ $json.account }}, Average engagement →={{ $json.avg_engagement }}. - Credential Required: Connect your googleSheetsOAuth2Api credentials.
- Connect the false output of Validate Profile Criteria to Bypass Unqualified Entry.
Step 5: Test and Activate Your Workflow
Run a manual test to confirm the profile is evaluated and properly written to your sheet.
- Click Execute Workflow to run Manual Execution Start.
- Check Bright Data Profile Scraper output for fields like
followers,avg_engagement, andaccount. - If the profile qualifies, verify a new row appears in your Google Sheet from Append to Spreadsheet.
- If the profile fails criteria, confirm execution ends at Bypass Unqualified Entry.
- Once verified, toggle the workflow to Active for production use.
Troubleshooting Tips
- Bright Data credentials can expire or need specific permissions. If things break, check your Bright Data dashboard access and token status first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Quick Answers
About 30 minutes if Bright Data and Google Sheets are already connected.
No. You’ll paste in a profile URL, connect credentials, and set your filtering rules in plain fields.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Bright Data usage costs based on how many profiles you scrape.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you probably should. Most people start by changing the rules inside “Validate Profile Criteria” (follower minimums, engagement thresholds, verified-only, and account type). You can also expand “Define Profile Link” to accept multiple URLs at once, then feed them through in batches. Another common tweak is adding extra columns in the Google Sheets append step, like niche tags, campaign name, or “source” so you know where the lead came from.
Most of the time it’s an expired token or the wrong Bright Data zone/config attached to the scraper node. Regenerate your credentials in Bright Data, then update them in the “Bright Data Profile Scraper” node in n8n. If it works for a few runs and then fails, you may be hitting account limits or throttling, so slow down how often you run the workflow. Also double-check that the Instagram URL you paste is a full profile URL, not a post or reel link.
If you self-host n8n, there’s no hard execution cap (it mostly depends on your server and Bright Data limits). On n8n Cloud, the practical limit depends on your plan’s execution allowance. In day-to-day use, most teams run this in batches of 20–100 profiles, review the sheet, then continue.
Often, yes. This kind of workflow tends to need conditional filtering (“only save it if it matches all rules”), and n8n handles that logic cleanly without turning into an expensive multi-step zap. The other advantage is flexibility: you can keep the unqualified branch as a true “do nothing” path or expand it later to log rejects into a second tab. Zapier or Make can still be fine if you want a very simple flow and never plan to adjust criteria. If you’re unsure, Talk to an automation expert and you’ll get a straight recommendation.
Once this is running, your spreadsheet stops being a dumping ground and becomes a real outreach asset. Set the rules once, keep the shortlist fresh, and move on to the work that actually grows revenue.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.