Instagram Profile Hunter automatically maps website domains to their corresponding Instagram business profiles at scale. It turns raw URL lists into structured social data that your sales, marketing, and research teams can plug directly into their workflows. Use this Instagram profile hunter to unlock hidden social channels, enrich your CRM, and make smarter outreach and competitive decisions.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Instagram Profile Hunter: Bulk Website to Instagram Mapper you've just found your team — Let’s Chat. 👆👆
This project takes lists of website URLs, extracts and normalizes the domains, and then discovers related Instagram business profiles. The output is a clean, structured dataset that links each domain to its Instagram presence (where available), including profile metadata and discovery status.
By automating what is normally a slow, manual process, it helps:
- Sales teams enrich leads with Instagram handles and profile URLs.
- Marketers track competitors and industry players on Instagram.
- Researchers map market segments and social presence at scale.
- Automates the discovery of Instagram business profiles from large lists of website URLs.
- Normalizes messy input URLs into clean domains before processing.
- Provides structured, machine-friendly output suitable for CRMs, dashboards, and analytics pipelines.
- Supports batch processing of hundreds or thousands of domains in one run.
- Offers configuration options for timeouts, retries, and proxy usage to keep the process robust.
| Feature | Description |
|---|---|
| Bulk URL processing | Process hundreds or thousands of website URLs in a single job for scalable social profile discovery. |
| Automatic domain extraction | Cleans and normalizes raw URLs into domains before attempting Instagram profile lookup. |
| Instagram profile discovery | Finds associated Instagram business profiles using multiple discovery strategies and link patterns. |
| Structured, export-ready output | Returns standardized JSON records ready for import into CRMs, BI tools, or data warehouses. |
| Discovery status flags | Marks each domain with status codes such as found, not_found, or error for easy filtering. |
| Proxy and rate-limit control | Supports proxies and throttling to keep lookups reliable and reduce blocking risk. |
| Error handling and retries | Automatically retries transient failures and clearly records error messages per domain. |
| Configurable batch behavior | Lets you control concurrency, batch sizes, and timeouts based on your infrastructure. |
| Field Name | Field Description |
|---|---|
| inputUrl | Original URL as provided in the input list. |
| domain | Normalized domain extracted from the input URL. |
| instagramHandle | Instagram username/handle associated with the domain, if discovered. |
| instagramProfileUrl | Full URL to the discovered Instagram profile. |
| isBusinessAccount | Boolean flag indicating whether the profile appears to be a business account. |
| displayName | Public display name of the Instagram profile. |
| profileBio | Short bio or description text from the profile. |
| followersCount | Number of followers at the time of discovery (if available). |
| followingCount | Number of accounts followed by the profile (if available). |
| postsCount | Approximate number of posts on the profile (if available). |
| country | Detected or inferred country/region related to the profile (if available). |
| discoveryStatus | Status label such as found, not_found, or multiple_matches. |
| errorMessage | Error or diagnostic message for failed lookups. |
| lastCheckedAt | Timestamp for when the domain was last processed. |
| runId | Identifier of the particular execution run for traceability. |
[
{
"inputUrl": "https://www.example-startup.com/landing?ref=ads",
"domain": "example-startup.com",
"instagramHandle": "examplestartup",
"instagramProfileUrl": "https://www.instagram.com/examplestartup/",
"isBusinessAccount": true,
"displayName": "Example Startup",
"profileBio": "Helping small businesses grow with modern tools.",
"followersCount": 18420,
"followingCount": 312,
"postsCount": 148,
"country": "US",
"discoveryStatus": "found",
"errorMessage": null,
"lastCheckedAt": "2025-01-15T10:22:31.000Z",
"runId": "run_2025_01_15_1"
},
{
"inputUrl": "https://www.hidden-b2b.io/",
"domain": "hidden-b2b.io",
"instagramHandle": null,
"instagramProfileUrl": null,
"isBusinessAccount": null,
"displayName": null,
"profileBio": null,
"followersCount": null,
"followingCount": null,
"postsCount": null,
"country": null,
"discoveryStatus": "not_found",
"errorMessage": "No Instagram link detected on site.",
"lastCheckedAt": "2025-01-15T10:23:04.000Z",
"runId": "run_2025_01_15_1"
}
]
instagram-profile-hunter-bulk-website-to-instagram-mapper-scraper/
├── src/
│ ├── main.js
│ ├── config/
│ │ ├── defaults.json
│ │ └── schema.json
│ ├── core/
│ │ ├── url-normalizer.js
│ │ ├── domain-extractor.js
│ │ ├── instagram-discovery.js
│ │ ├── result-aggregator.js
│ │ └── rate-limiter.js
│ ├── services/
│ │ ├── http-client.js
│ │ ├── proxy-manager.js
│ │ └── logger.js
│ ├── utils/
│ │ ├── validation.js
│ │ ├── retry-helpers.js
│ │ └── time-utils.js
│ └── cli/
│ └── index.js
├── data/
│ ├── input.sample.urls.txt
│ └── sample-output.json
├── tests/
│ ├── url-normalizer.test.js
│ ├── domain-extractor.test.js
│ ├── instagram-discovery.test.js
│ └── integration-run.test.js
├── docs/
│ ├── configuration.md
│ ├── troubleshooting.md
│ └── usage-examples.md
├── package.json
├── package-lock.json
├── .gitignore
├── .editorconfig
└── README.md
- Sales development reps (SDRs) use it to bulk-enrich prospect domains with Instagram profiles, so they can run highly personalized, multi-channel outreach campaigns.
- Growth marketers use it to map competitor and industry websites to Instagram, so they can benchmark content strategies and engagement performance.
- Market research teams use it to build datasets of companies and their Instagram presence, so they can analyze trends, segments, and regional patterns.
- Agency account managers use it to audit client and competitor social footprints, so they can uncover missed channels and growth opportunities.
- Startup scouts and investors use it to evaluate early-stage companies’ social proof, so they can spot fast-growing brands by their Instagram traction.
Q: How large of a URL list can this handle in one run? A: The scraper is designed to process thousands of URLs per run. On a typical modern server, it comfortably handles 1,000–5,000 domains in a single batch. For very large datasets, you can split inputs into multiple runs to keep monitoring and resource usage manageable.
Q: What kind of Instagram accounts does it discover?
A: It focuses on business-oriented profiles that are linked from company or brand websites. If a site links to a personal profile, it can still be captured, but the isBusinessAccount field helps you distinguish commercial profiles from individual ones.
Q: What happens if a website doesn’t include an Instagram link?
A: If no clear Instagram link is detected for a domain, the record is marked with discoveryStatus: "not_found" and includes a short errorMessage. This makes it easy to filter out missing profiles or route them to a separate, manual research workflow.
Q: Can I use this with proxies? A: Yes. The configuration supports routing traffic through HTTP/HTTPS proxies. This helps reduce the chance of encountering blocks when processing very large domain lists or running frequent lookups.
Primary Metric: On a 4 vCPU / 8 GB RAM environment, the Instagram Profile Hunter processes around 1,000 domains in approximately 4–6 minutes, including URL normalization and profile discovery.
Reliability Metric: In test runs on mixed B2B and DTC domain lists, the tool maintained a 90–95% successful lookup rate for sites that visibly link to Instagram, with automatic retries reducing transient network errors.
Efficiency Metric: With moderate concurrency settings, average CPU utilization stays under 60%, and memory usage remains stable, allowing the scraper to run alongside other workloads without contention.
Quality Metric: For domains that expose a single, clear Instagram link, the mapping accuracy is effectively 100%, and data completeness for key fields (handle, profile URL, follower counts where available) consistently exceeds 95% across benchmark datasets.
