Instagram Phone Number Scraper By Business Category
Pricing
$19.99/month + usage
Instagram Phone Number Scraper By Business Category
Instagram Phone Number Scraper collects phone contact data to support audience research and outreach. Analyze niches, regions, or trends while identifying direct contact points efficiently.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
33
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share
Instagram Scraper — Local Phone Leads by Keyword and Dial Code
Instagram Phone Number Scraper By Business Category mines Google's own indexed search results for phone-shaped text that appears near your business keyword and target dial code on instagram.com pages, narrows results toward a city or region, and scores them with a business-intent text heuristic. It never visits Instagram directly — every field comes from Google's own SERP snippet. It's built for local sales teams, lead-generation agencies, and researchers who need country- and location-targeted business phone leads without manually searching Google page by page.
What is Instagram Phone Number Scraper By Business Category?
Instagram Phone Number Scraper By Business Category is an Apify Actor that builds a Google dork per keyword (site:instagram.com "<dial code>" "<keyword>") and extracts phone-shaped strings from the resulting search snippets. It never fetches an Instagram profile page directly — coverage depends entirely on what Google has indexed. Key capabilities:
- Search by business keyword, niche, or Instagram username — one Google dork per keyword
- Normalize and filter matched phone numbers to a selected country's dial code
- Optionally narrow results toward a city, region, or neighborhood via location keywords
- Optionally require business-sounding wording in the snippet as a text-based relevance filter
- Routes through Apify's Google SERP proxy group automatically for reliable search access
What data can I extract with Instagram Phone Number Scraper By Business Category?
| Field | Example Value | Use Case |
|---|---|---|
phone_number | "+441611234567" | The core lead — a phone number matched near your keyword |
dial_code / country | "+44" / "United Kingdom (+44)" | Confirm which country's numbers were targeted |
keyword | "nail salon" | Identify which business keyword surfaced this lead |
title / description | "Bella Nails (@bellanailsmcr) • Instagram photos" / "Book now! 0161 123 4567..." | The Google result title and snippet text the match came from |
url | "https://www.instagram.com/bellanailsmcr/" | The Instagram page the match was found on |
locationKeywords / matchedLocationKeywords | ["Manchester"] / ["Manchester"] | Confirm the location narrowing applied and which term actually matched |
requireBusinessIntent / businessIntentMatched | true / true | Confirm whether the business-wording filter was on and whether this row passed it |
matchedBusinessTerms | ["book now", "salon"] | See exactly which business-sounding words triggered the match |
searchQuery | "site:instagram.com \"+44\" \"nail salon\" (\"Manchester\")" | The exact Google dork used, for full transparency |
scrapedAt | "2026-07-26T14:02:11Z" | Record when this lead was collected |
Location narrowing and the business-intent heuristic
locationKeywords adds a ("loc1" OR "loc2" OR ...) clause to the underlying Google dork, so a hit must also mention at least one named place in Google's indexed text — leave it empty to search without location narrowing. requireBusinessIntent is explicitly a text heuristic, not a real Instagram business-account check: when on, a row is only kept if its Google snippet (title + description) contains at least one business-sounding word (e.g. "shop," "salon," "book now," "order," "official," "clinic," "boutique"). It estimates business intent purely from indexed wording — it does not query Instagram's actual account-type flag, so a personal account that happens to use business-sounding language could still pass, and a genuine business whose snippet doesn't contain a matched term could be filtered out.
Coverage depends on Google's index, not Instagram directly
This Actor never fetches an Instagram profile or post page — every field is extracted from Google's own search-results snippet text. That means coverage is bounded by what Google has indexed for site:instagram.com, not by Instagram's own internal search or your keyword's true prevalence on the platform.
Why not build this yourself?
Instagram's Graph API has no endpoint for keyword-based, cross-profile phone-number discovery — that capability doesn't exist for third-party access in any form, whether business or personal accounts. Building an equivalent tool yourself means constructing correct Google dork syntax per keyword/dial-code/location combination, parsing Google's SERP HTML for phone-shaped strings reliably across changing result layouts, and routing requests through a search-specific proxy group to avoid blocks. All of that is already implemented in this Actor's source.
How to use data extracted from Instagram?
Local sales and outreach
Search for your target niche (businessKeywords) narrowed to your service area (locationKeywords) and target country (targetCountry) to get a phone list ready for a local outreach campaign, using businessIntentMatched to prioritize the leads most likely to be genuine local businesses.
Lead-generation agencies
Agencies running local lead generation for multiple clients can run one keyword/location combination per client and export phone_number/matchedBusinessTerms directly into that client's outreach CRM.
Market and local-business research
Compare lead volume and businessIntentMatched rates across multiple locationKeywords for the same business niche to see which areas have the densest concentration of a given business type on Instagram.
AI agents and automated pipelines
An agent can call this Actor as a lead-discovery tool inside a larger outreach pipeline — passing a target niche and location, then filtering the returned dataset on businessIntentMatched before feeding qualified leads into a CRM or dialer.
🔼 Input sample
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
businessKeywords | No | array | Business keywords, niches, or Instagram usernames to search for | ["nail salon", "personal trainer"] |
platform | No | string (enum) | Target platform; only "Instagram" is supported | "Instagram" |
locationKeywords | No | array | Places to narrow the Google dork toward | ["Manchester"] |
requireBusinessIntent | No | boolean | Text heuristic requiring business-sounding wording in the snippet | false (default) |
targetCountry | No | string (enum) | Country whose dial code normalizes/filters matched numbers | "United Kingdom (+44)" (default) |
maxResultsPerKeyword | No | integer (1-10,000) | Max phone matches collected per keyword | 20 (default) |
proxyConfiguration | No | object | Apify proxy; always routes through GOOGLE_SERP regardless of setting | {"useApifyProxy": true} |
{"businessKeywords": ["nail salon", "hair salon"],"locationKeywords": ["Manchester", "Salford"],"requireBusinessIntent": true,"targetCountry": "United Kingdom (+44)","maxResultsPerKeyword": 50}
Common pitfall: requireBusinessIntent filters on snippet wording, not Instagram's actual account type — a personal account using business-sounding language can still pass, and a real business whose Google snippet doesn't happen to contain a matched term can be filtered out.
🔽 Output sample
Output is typed, normalized JSON — one row per matched phone lead (exportable as JSON, CSV, or Excel from the dataset, or via API).
{"platform": "Instagram","keyword": "nail salon","title": "Bella Nails (@bellanailsmcr) • Instagram photos","description": "Book now! Walk-ins welcome. Call us on 0161 123 4567.","url": "https://www.instagram.com/bellanailsmcr/","phone_number": "+441611234567","country": "United Kingdom (+44)","dial_code": "+44","locationKeywords": ["Manchester"],"matchedLocationKeywords": ["Manchester"],"requireBusinessIntent": true,"businessIntentMatched": true,"matchedBusinessTerms": ["book now", "salon"],"searchQuery": "site:instagram.com \"+44\" \"nail salon\" (\"Manchester\")","scrapedAt": "2026-07-26T14:02:11Z"}
All 15 fields shown above are the Actor's real dataset columns — this is the full output shape, not a subset.
How do you filter and target specific leads?
businessKeywords is the core query axis — one Google dork is built per keyword, so narrower, more specific keywords (e.g. "nail salon" rather than "beauty") tend to produce more relevant matches. locationKeywords is the scope-precision control, biasing results toward a named city or region without guaranteeing every result is physically located there (it only requires the place name to appear in Google's indexed text). requireBusinessIntent is the closest thing to a quality threshold, filtering on business-sounding snippet wording — turn it off if you'd rather review all matches yourself. targetCountry and maxResultsPerKeyword are the volume/scope controls: the former sets which dial code numbers are normalized and filtered against, and the latter caps how many matches are collected before moving to the next keyword.
{ "businessKeywords": ["personal trainer"], "locationKeywords": ["London"], "requireBusinessIntent": true, "targetCountry": "United Kingdom (+44)" }
{ "businessKeywords": ["plumber", "electrician"], "targetCountry": "United States (+1)", "maxResultsPerKeyword": 100 }
{ "businessKeywords": ["marketing agency"], "locationKeywords": [], "requireBusinessIntent": false, "targetCountry": "Canada (+1)" }
▶️ Want to try other Instagram scrapers?
| Scraper Name | What it extracts |
|---|---|
| Instagram B2B Email Scraper & Phone Leads | Combined email and phone lead discovery for B2B outreach |
| Instagram Profile Phone Number Scraper: Format Validation & Deduplication | Bulk profile-based phone extraction with validation |
| Instagram Related Person Scraper With Profile Enrichment | Related/lookalike networks for a given account |
| Instagram Followers Count Scraper | Follower/following/post counts and bio data |
| LinkedIn B2B Email Scraper | Corporate email and phone leads sourced from LinkedIn |
| Alibaba Email Scraper & Trade Assurance Details | Supplier contact leads sourced from Alibaba |
How to extract Instagram data programmatically
Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON leads back. No Instagram login is required.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run_input = {"businessKeywords": ["nail salon"],"locationKeywords": ["Manchester"],"requireBusinessIntent": True,"targetCountry": "United Kingdom (+44)",}run = client.actor("<YOUR_USERNAME>/instagram-phone-number-scraper-by-business-category").call(run_input=run_input)for lead in client.dataset(run["defaultDatasetId"]).iterate_items():print(lead["phone_number"], lead["title"], lead["businessIntentMatched"])
Export to spreadsheets or CRM
Export the dataset directly as CSV or Excel, then map phone_number and title to your CRM's contact fields and matchedBusinessTerms/businessIntentMatched to a lead-quality column for prioritizing outreach.
Is it legal to scrape Instagram phone numbers?
Phone numbers and profile names are personal or business-contact data, so GDPR and CCPA obligations apply to how you store and use them — the same as any lead-generation dataset containing individual contact details. The numbers extracted here already appear in Google's own publicly indexed search results, but downstream storage and use for marketing purposes should follow applicable data-protection and anti-spam rules (e.g. GDPR lawful-basis requirements, CAN-SPAM/TCPA for outbound calls). Consult legal counsel for commercial applications involving bulk storage of personal contact data.
❓ FAQ
Does this actually check Instagram's business-account flag?
No — despite the name, requireBusinessIntent is a text heuristic over Google's snippet wording (business-sounding words like "shop," "book now," "salon"), not a query against Instagram's real account-type field. This is stated explicitly in the input description and documented here so the filter isn't mistaken for account-type verification.
Does this Actor visit Instagram directly?
No — it only queries Google's search results for site:instagram.com pages and extracts phone-shaped text from the snippet. Coverage depends entirely on what Google has indexed, not on live Instagram data.
How many results can I get per keyword?
maxResultsPerKeyword (1-10,000, default 20) caps this.
Can I search without narrowing to a location?
Yes — leave locationKeywords empty for the same coverage as an unnarrowed keyword search.
Does Instagram Phone Number Scraper By Business Category work with Claude, ChatGPT, and AI agent frameworks?
It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.
How does this compare to other Instagram phone-number scrapers?
No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is the combination of location narrowing and a business-intent text heuristic layered onto a Google-dork phone search.
Can I use this without an Instagram account?
Yes — this Actor never logs into or authenticates with Instagram at all; it only queries Google's public search index.
Why did a clearly business-sounding lead get filtered out?
requireBusinessIntent only checks the Google snippet's title and description text for matched terms — if Google's indexed snippet for that page doesn't happen to contain one of the business-sounding words, the row is dropped even if the account is a real business.
Conclusion
Instagram Phone Number Scraper By Business Category turns keyword-driven Google dorking into location-targeted, dial-code-filtered phone leads — with a transparent, honestly-labeled business-intent heuristic rather than a false claim of real account-type verification. It's built for local sales teams, agencies, and researchers who need country- and city-targeted leads without manually paging through Google results. Start a run with your business keywords, target country, and location terms to get phone leads back in one pass.