# Banking Contact Scraper (`scrapido/banking-contact-scraper`) Actor

🏛️ Banking Contact Scraper collects banking and financial institution listings from Google Maps. 📍 Name, address, ZIP, phone, website and place ID, enriched with emails and socials. 💼 Perfect for fintech sales & B2B finance marketing.

- **URL**: https://apify.com/scrapido/banking-contact-scraper.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Banking Contact Scraper

**Banking Contact Scraper** is a practical Apify actor for bank contact extraction and financial institution scraping. It helps marketers, data analysts, and researchers build clean lead generation lists from publicly available sources, saving hours of manual research. Use it for business contact collection, email extraction, phone number extraction, and bank branch information at scale — without the repetitive work.

### What is Banking Contact Scraper? 🔍

Banking Contact Scraper is an automated web scraping tool designed to collect public contact details for banks and financial institutions. It captures business names, websites, phone numbers, addresses, social media links, and email-related fields from publicly accessible data, making it useful for contact data harvesting, B2B data extraction, and customer acquisition workflows.

This Banking Contact Scraper is built for teams that need reliable institutional data mining without manual spreadsheet work. Whether you’re building a bank directory scraper, enriching a sales prospect list, or researching branches across multiple locations, it helps you gather structured results quickly and consistently. It’s a strong fit for marketers, sales teams, analysts, and researchers who need scalable contact enrichment.

### What Data Does Banking Contact Scraper Collect? 📊

This actor collects structured bank and financial institution contact data from public web sources. You can use it to gather core business details, contact enrichment fields, and supporting metadata for outreach or research. The dataset includes location details, email-related output, phone data, and scraping status so you can review results with confidence.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Contact | `phone`, `email_found`, `scraped_phones` | Public phone details and the extracted email value |
| Identity | `name`, `place_id` | Business name and unique place identifier |
| Location | `full_address`, `city`, `state`, `zip`, `country_code`, `lat`, `long` | Address and location details for each result |
| Website | `website` | Public website link associated with the business |
| Social | `scraped_social_media` | Public social media links found during scraping |
| Engagement | `avg_rating`, `total_reviews` | Rating and review signals from public listings |
| Activity | `pages_scraped`, `emails_found`, `scrape_status` | Scraping progress and outcome fields |

### What Do Results from Banking Contact Scraper Look Like? 👀

Each result is saved as a structured JSON record in your Apify dataset. Here’s a realistic example of the output you can expect from Banking Contact Scraper:

```json
{
  "name": "First National Bank",
  "website": "https://www.firstnationalbank.com",
  "phone": "+1 212-555-0148",
  "full_address": "120 Broadway New York NY 10005 US",
  "city": "New York",
  "state": "NY",
  "zip": "10005",
  "country_code": "US",
  "email_found": "contact@firstnationalbank.com",
  "scraped_phones": ["+1 212-555-0148", "+1 212-555-0199"],
  "scraped_social_media": ["https://www.linkedin.com/company/first-national-bank", "https://www.facebook.com/firstnationalbank"],
  "emails_found": 1,
  "pages_scraped": 6,
  "avg_rating": 4.3,
  "total_reviews": 187,
  "lat": "40.7072",
  "long": "-74.0103",
  "place_id": "ChIJyWEHuEmuEmsRm9hTkapTCrk",
  "scrape_status": "success"
}
```

Export formats: JSON by default and CSV via Apify Console.

#### Core Features: Banking Contact Scraper ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-Driven Targeting** | Use your search term to find relevant banks and financial institutions |
| ✅ **Location Filtering** | Focus on one or more cities for targeted bank contact extraction |
| ✅ **Email Extraction** | Finds publicly available email addresses from business websites |
| ✅ **Phone Number Extraction** | Collects public phone details for outreach and verification |
| ✅ **Social Media Capture** | Saves public social links for contact enrichment and research |
| ✅ **Result Limits** | Stop the run once your target number of businesses is reached |
| ✅ **Per-Location Control** | Choose whether limits apply per location or across all locations |
| ✅ **Proxy Support** | Built-in proxy support for reliable scraping at scale |
| ✅ **Structured Dataset Output** | Clean, labeled results ready for lead generation and analysis |
| ✅ **Real-Time Saving** | Results are stored as the run progresses, reducing data loss risk |

### Getting Started with Banking Contact Scraper 🚀

1. **Open Apify** — Sign in to your Apify account and open the actor.
2. **Set Your Search Term** — Enter a business type or niche such as `Bank` or `credit union`.
3. **Choose Locations** — Add one or more target locations such as `New York`.
4. **Set Your Limit** — Define how many businesses with emails you want the actor to find.
5. **Decide on Location Mode** — Choose whether to collect up to the limit per location or across all locations.
6. **Configure Proxy Settings** — Use proxy settings for more reliable web scraping, especially at larger volumes.
7. **Run the Actor** — Start the job and monitor the logs as results are collected.
8. **Export Your Data** — Open the dataset tab to review and export your structured contact list.

No coding is required. It’s a fast way to turn public web data into usable leads for sales prospecting, business contact collection, and institutional data mining.

### Ways to Use Banking Contact Scraper 💡

- 🎯 **Lead Generation** — Build targeted prospect lists from banks and financial institutions for outreach campaigns
- 📣 **Customer Acquisition** — Find relevant institutions for sales prospecting and partnership outreach
- 🔬 **Market Research** — Map bank branch information across cities and regions
- 📊 **CRM Enrichment** — Add public contact details to your existing database
- 🏦 **Financial Institution Scraping** — Collect structured data for industry analysis and benchmarking
- ⚙️ **Web Scraping Workflows** — Feed exported results into downstream analytics or automation pipelines

#### Input Parameters — Banking Contact Scraper

```json
{
  "googleMapsSearchTerm": "Bank",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | string | Yes | `Bank` | The business type or niche to search for, such as bank or credit union. |
| `googleMapsLocation` | array | Yes | `["New York"]` | One or more target geographic locations to search in. |
| `maxBusinesses` | integer | No | `5` | Maximum number of businesses with emails to find, from 1 to 1000. |
| `scrapeMaxBusinessesPerLocation` | boolean | No | `false` | If enabled, the actor collects up to the maximum result count for each location separately. |
| `proxyConfiguration` | object | No | `{"proxy support":true}` | Proxy settings for scraping. Recommended for larger-scale runs. |

#### Output Parameters — Banking Contact Scraper

```json
{
  "name": "First National Bank",
  "website": "https://www.firstnationalbank.com",
  "phone": "+1 212-555-0148",
  "full_address": "120 Broadway New York NY 10005 US",
  "city": "New York",
  "state": "NY",
  "zip": "10005",
  "country_code": "US",
  "email_found": "contact@firstnationalbank.com",
  "scraped_phones": ["+1 212-555-0148", "+1 212-555-0199"],
  "scraped_social_media": ["https://www.linkedin.com/company/first-national-bank", "https://www.facebook.com/firstnationalbank"],
  "emails_found": 1,
  "pages_scraped": 6,
  "avg_rating": 4.3,
  "total_reviews": 187,
  "lat": "40.7072",
  "long": "-74.0103",
  "place_id": "ChIJyWEHuEmuEmsRm9hTkapTCrk",
  "scrape_status": "success"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | The business name of the bank or financial institution. |
| `website` | Website | link | The public website URL. |
| `phone` | Phone | text | The main phone number shown in the source data. |
| `full_address` | Address | text | The full public address. |
| `city` | City | text | The city value from the result. |
| `state` | State | text | The state value from the result. |
| `zip` | zip | text | The postal code. |
| `country_code` | country\_code | text | The country code for the location. |
| `email_found` | Email Found | text | The extracted email address found for the business. |
| `scraped_phones` | Phone Numbers | array | A list of phone numbers collected during scraping. |
| `scraped_social_media` | Social Media | array | A list of public social media links found during scraping. |
| `emails_found` | # Emails | number | The number of emails found for the business. |
| `pages_scraped` | Pages Scraped | number | The number of pages scraped for that business. |
| `avg_rating` | Rating | number | The public rating value. |
| `total_reviews` | Reviews | number | The total number of public reviews. |
| `lat` | lat | text | The latitude value. |
| `long` | long | text | The longitude value. |
| `place_id` | place\_id | text | The unique place identifier. |
| `scrape_status` | Status | text | The final scraping status for the record. |

### Why Choose Banking Contact Scraper? 🏆

Banking Contact Scraper is designed for fast, structured bank contact extraction with clean output and practical controls. It supports public web data collection, makes lead generation easier, and helps you avoid endless manual lookup work. With proxy support, live dataset saving, and a focused output structure, it’s a strong choice for business contact collection and contact enrichment workflows.

For questions or feedback, contact <scrapido.support@gmail.com>.

### How Many Results Can You Scrape? 📈

You can set the maximum number of businesses with emails between 1 and 1000. The actual result count depends on how many public institutions match your search term and location filters, and whether those results include accessible contact details. For large-scale contact data harvesting, proxy support helps improve reliability.

### Legal Guidelines for Scraping Banking Contact Data ⚖️

This actor collects only publicly available data from public web sources. It does not require logins or access private information. You are responsible for using the results in compliance with applicable laws, including privacy rules and marketing regulations, as well as the terms of the sites you research. For data removal requests, contact <scrapido.support@gmail.com>.

### FAQ — Banking Contact Scraper ❓

#### How does Banking Contact Scraper find contact data?

It uses your search term and location filters to find relevant banks and financial institutions, then collects publicly available contact information from those public sources.

#### What kinds of businesses can I scrape?

You can target banks and other financial institutions, such as credit unions, as long as they appear in the public data available to the actor.

#### Does Banking Contact Scraper extract emails and phone numbers?

Yes. The dataset includes `email_found`, `scraped_phones`, and `phone`, so you can review both email extraction and phone number extraction results.

#### Can I use it for lead generation?

Yes. It is useful for lead generation, sales prospecting, and business contact collection when you need organized public contact data.

#### How many locations can I add?

You can provide one or more locations in the input array. The actor will process each provided location.

#### Can I control output volume?

Yes. Use `maxBusinesses` to cap the number of businesses with emails and choose whether the cap applies per location or globally.

#### What if a business has no website?

Those results can still appear in the dataset, but they will have no extracted email value and are marked with a no website status.

#### How do I get help?

For support, questions, or feedback, email <scrapido.support@gmail.com>.

### Conclusion 🏁

Banking Contact Scraper is a simple, scalable way to collect public bank and financial institution contact data. Whether you’re building a bank directory scraper, enriching a CRM, or running a contact enrichment workflow, it helps you move from manual research to usable results faster.

### 🆘 Support & Feedback

Have a question or feature request for Banking Contact Scraper?

- 🐞 **Bug Reports:** Share issues with the actor’s behavior or output
- ✨ **Feature Requests:** Suggest improvements for lead generation, business contact collection, or financial institution scraping
- 📧 **Email:** <scrapido.support@gmail.com>

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'bank', 'credit union').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of emails to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

## `validateEmails` (type: `boolean`):

Run DNS/MX validation and confidence scoring on every email found, and include the results (confidence score, validation status, role-based/catch-all flags) in the output.

## `minRating` (type: `integer`):

Skip businesses rated below this (1-5 stars). Leave at 0 for no filter.

## `minReviews` (type: `integer`):

Skip businesses with fewer than this many Google reviews. Leave at 0 for no filter.

## `requireWebsite` (type: `boolean`):

Skip businesses with no website listed on Google Maps (they can't be crawled for contact info anyway).

## `leadMode` (type: `string`):

Business Contacts (default) returns the business's generic contact info (info@, main phone, socials). Decision-Maker Finder instead looks for a named person with a job title (e.g. "Jane Smith, Owner") on the business's team/about pages — a best-effort heuristic, not guaranteed on every site.

## `proxyConfiguration` (type: `object`):

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Bank",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "validateEmails": false,
  "minRating": 0,
  "minReviews": 0,
  "requireWebsite": false,
  "leadMode": "Business Contacts",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "googleMapsSearchTerm": "Bank",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/banking-contact-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "googleMapsSearchTerm": "Bank",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/banking-contact-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "Bank",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapido/banking-contact-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapido/banking-contact-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/TXvTU2m55gQRDty1R/builds/h9c6WocGnf3wGqmZw/openapi.json
