# NAPFA Financial Advisors Scraper US (`giovannibiancia/actor-napfa`) Actor

Extract 4,000+ fee-only fiduciary financial advisors from the official NAPFA directory. Get name, firm, address, phone, website, specialties, credentials, and compensation model. Filter by state, city, and expertise. Built for B2B lead generation and fintech prospecting.

- **URL**: https://apify.com/giovannibiancia/actor-napfa.md
- **Developed by:** [Giovanni Bianciardi](https://apify.com/giovannibiancia) (community)
- **Categories:** Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 napfa financial advisors

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## NAPFA Fee-Only Financial Advisors Scraper

Extract structured data on **4,000+ fee-only fiduciary financial advisors**
from the official [NAPFA (National Association of Personal Financial Advisors)](https://www.napfa.org/find-an-advisor)
public directory — the gold standard for locating vetted, commission-free
financial planners in the United States.

---

### Before you run this scraper

<p align="center">
  <a href="https://bananalitycs.com/datasets?utm_actor=napfa" target="_blank">
    <img src="https://bananalitycs.com/banana_thinking.png" width="180"/>
  </a>
</p>

<p align="center">
  Some datasets like this one are already available <strong>ready-to-use</strong> on
  <a href="https://bananalitycs.com/datasets?utm_actor=napfa"><strong>bananalitycs.com</strong></a> — download instantly or request custom delivery.
</p>

<p align="center">
  <a href="https://bananalitycs.com/datasets?utm_actor=napfa" target="_blank">
    <img src="https://img.shields.io/badge/🗂️%20Browse%20Datasets-bananalitycs.com-4CAF50?style=for-the-badge"/>
  </a>
  &nbsp;
  <a href="https://bananalitycs.com/done-for-you?utm_actor=napfa" target="_blank">
    <img src="https://img.shields.io/badge/🤝%20Done%20For%20You-Custom%20Delivery-6C63FF?style=for-the-badge"/>
  </a>
</p>

### What is NAPFA?

NAPFA is the leading professional association for fee-only financial advisors
in the US. Every advisor listed is a **fiduciary** — legally required to act
in the client's best interest — and **fee-only** — compensated exclusively by
clients, with zero commissions or product incentives.

This makes the NAPFA directory one of the highest-quality sources of verified
financial professional data available publicly.

---

### Who uses this actor?

- **Fintech & wealthtech SaaS** — prospect into RIA firms and fee-only
  advisory practices for software sales
- **B2B sales teams** — build targeted outreach lists of high-trust financial
  professionals
- **Recruiting agencies** — identify CFP® holders with fiduciary credentials
  by region
- **Market researchers** — analyze the fee-only advisor landscape by state,
  specialty, or firm size
- **Compliance tools** — verify advisor credentials and compensation model
- **Insurance & investment platforms** — build referral networks with
  fiduciary advisors

---

### Input

| Parameter | Type | Description |
|-----------|------|-------------|
| `search_query` | string | City or location to search (e.g. `new york`, `chicago`) |
| `client_markets_served` | array | Filter by client markets (e.g. Entrepreneurs, High Net Worth, Millennials) |
| `fee_structure` | array | Filter by fee type (AUM, Hourly, Fixed Fee) |
| `technical_areas` | array | Filter by areas of focus (Tax Planning, Estate Planning, etc.) |
| `max_results` | integer | Maximum number of advisors to scrape (0 = unlimited, default: 100) |
| `include_detail` | boolean | Visit each advisor's profile page for full details (default: true) |
| `delay_seconds` | number | Pause between requests in seconds (default: 1.0) |
| `proxy_configuration` | object | Proxy settings (default: Apify Proxy) |

#### Example input

```json
{
  "search_query": "new york",
  "client_markets_served": ["High Net Worth Client Needs", "Corporate Executives"],
  "fee_structure": ["AUM"],
  "technical_areas": ["Tax Planning", "Retirement Planning & Distribution Rules"],
  "max_results": 50
}
````

***

### Output

Each result is a **single advisor** with the firm information embedded. One advisor = one record.

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Advisor full name |
| `credentials` | string | Professional designations (CFP®, CPA, EA, CFA, etc.) |
| `member_id` | integer | NAPFA member ID |
| `profile_url` | string | Direct link to the advisor's NAPFA profile |
| `photo` | string | URL of the advisor's profile photo |
| `role` | string | NAPFA role (e.g. "NAPFA-Registered Financial Advisor") |
| `focus_areas` | array | Client markets and technical areas of focus |
| `additional_info` | string | Advisor bio / additional description |
| `napfa_start_date` | string | Date the advisor joined NAPFA |
| `city` | string | Office city |
| `state` | string | US state abbreviation |
| `zipCode` | string | ZIP code |
| `phone` | string | Office phone number |
| `address` | string | Street address |
| `other_offices` | array | Additional office locations |
| `firm_name` | string | Advisory firm name |
| `firm_id` | integer | NAPFA firm ID |
| `firm_url` | string | Firm's NAPFA directory page |
| `firm_website` | string | Firm's external website URL |
| `firm_logo` | string | URL of the firm's logo |
| `firm_description` | string | Firm description |

#### Example output

```json
{
  "name": "Michael Schupak",
  "credentials": "CFP®, EA",
  "member_id": 32879,
  "address_id": 22266,
  "profile_url": "https://www.napfa.org/member/32879/22266",
  "photo": "https://members.napfa.org/Portals/0/assets/images/contact/2be6974f-4f35-44a6-8249-42fd9c046e16.jpg",
  "role": "NAPFA-Registered Financial Advisor",
  "focus_areas": [
    "Alternative or Private Investments",
    "AUM",
    "Corporate Executives",
    "High Net Worth Client Needs",
    "Investment Advice with Ongoing Management",
    "Millennials"
  ],
  "additional_info": "I'm Mike Schupak, Principal at Astra Wealth Partners. I have worked in personal and corporate finance for almost 20 years...",
  "napfa_start_date": "October 24, 2016",
  "city": "Jersey City",
  "state": "NJ",
  "zipCode": "07302",
  "phone": "(800) 805-8740",
  "address": "101 Hudson Street, Ste 2100",
  "other_offices": [
    {
      "city": "New York",
      "state": "NY",
      "zipCode": "10016",
      "phone": "(800) 805-8740",
      "address": "99 Madison Ave 5th Floor"
    }
  ],
  "firm_name": "Astra Wealth Partners, LLC",
  "firm_id": 39028,
  "firm_url": "https://www.napfa.org/firm/39028/22266",
  "firm_website": "https://www.napfa.org/api/public/redirect/firm/39028",
  "firm_logo": "https://members.napfa.org/Portals/0/assets/images/contact/f2631e8d-ea4b-4b61-9d6c-9403c622609f.png",
  "firm_description": null
}
```

***

### Need the full dataset right now?

Skip the scraping. Download the **pre-built NAPFA dataset** — cleaned,
structured, and ready to import into your CRM or outbound tool.

[Download NAPFA Fee-Only Advisors Dataset](https://bananalitycs.com)

**Also available:**

- [CFP Board — 71k Certified Financial Planners](https://bananalitycs.com)
- [CPA Leads USA — 50k Certified Public Accountants](https://bananalitycs.com)
- [US Financial Professionals Bundle — CPA + CFP + NAPFA](https://bananalitycs.com)

# Actor input Schema

## `search_query` (type: `string`):

City or location to search for advisors (e.g. 'new york', 'chicago')

## `client_markets_served` (type: `array`):

Filter by client markets served

## `fee_structure` (type: `array`):

Filter by fee structure type

## `technical_areas` (type: `array`):

Filter by technical areas of focus

## `max_results` (type: `integer`):

Maximum number of advisors to scrape (0 = unlimited)

## `include_detail` (type: `boolean`):

Visit each firm and advisor profile page to get full details (bio, focus areas, credentials, NAPFA start date). If disabled, only basic listing data is returned.

## `delay_seconds` (type: `number`):

Pause between requests in seconds to avoid overloading the server

## `proxy_configuration` (type: `object`):

Proxy configuration for the scraper

## Actor input object example

```json
{
  "search_query": "new york",
  "client_markets_served": [],
  "fee_structure": [],
  "technical_areas": [],
  "max_results": 100,
  "include_detail": true,
  "delay_seconds": 1,
  "proxy_configuration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "search_query": "new york",
    "client_markets_served": [],
    "fee_structure": [],
    "technical_areas": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("giovannibiancia/actor-napfa").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 = {
    "search_query": "new york",
    "client_markets_served": [],
    "fee_structure": [],
    "technical_areas": [],
}

# Run the Actor and wait for it to finish
run = client.actor("giovannibiancia/actor-napfa").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "search_query": "new york",
  "client_markets_served": [],
  "fee_structure": [],
  "technical_areas": []
}' |
apify call giovannibiancia/actor-napfa --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=giovannibiancia/actor-napfa",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NAPFA Financial Advisors Scraper US",
        "description": "Extract 4,000+ fee-only fiduciary financial advisors from the official NAPFA directory. Get name, firm, address, phone, website, specialties, credentials, and compensation model. Filter by state, city, and expertise. Built for B2B lead generation and fintech prospecting.",
        "version": "0.0",
        "x-build-id": "QKDxRSzdsH6zRRfQd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/giovannibiancia~actor-napfa/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-giovannibiancia-actor-napfa",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/giovannibiancia~actor-napfa/runs": {
            "post": {
                "operationId": "runs-sync-giovannibiancia-actor-napfa",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/giovannibiancia~actor-napfa/run-sync": {
            "post": {
                "operationId": "run-sync-giovannibiancia-actor-napfa",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "search_query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "City or location to search for advisors (e.g. 'new york', 'chicago')"
                    },
                    "client_markets_served": {
                        "title": "Client Markets Served",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by client markets served",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Entrepreneurs",
                                "Corporate Executives",
                                "Business Owners",
                                "Silent Generation",
                                "Unmarried Couples",
                                "Special Needs Planning",
                                "Professional Athletes or Entertainers",
                                "Novice Investors",
                                "LGBTQ+",
                                "Federal Employees",
                                "Divorce Planning",
                                "Millennials",
                                "Middle Income Client Needs",
                                "Medical Professionals",
                                "Women's Financial Planning Issues",
                                "Generation X",
                                "High Net Worth Client Needs",
                                "Baby Boomers"
                            ]
                        }
                    },
                    "fee_structure": {
                        "title": "Fee Structure",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by fee structure type",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Fixed Fee (Subscription, Retainer, etc.)",
                                "AUM",
                                "Hourly"
                            ]
                        }
                    },
                    "technical_areas": {
                        "title": "Technical Areas of Focus",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter by technical areas of focus",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Annuities",
                                "ExPat and Cross Border Issues",
                                "Insurance Related Issues",
                                "Real Estate Investments",
                                "Alternative or Private Investments",
                                "Socially Responsible Investments",
                                "Financial Psychology / Coaching",
                                "Investment Advice without Ongoing Management",
                                "Cash Flow / Budgets / Credit Issues",
                                "Charitable Giving",
                                "Retirement Plan Investment Advice",
                                "Estate & Generational Planning Issues",
                                "College / Education Planning",
                                "Tax Planning",
                                "Retirement Planning & Distribution Rules",
                                "Investment Advice with Ongoing Management"
                            ]
                        }
                    },
                    "max_results": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of advisors to scrape (0 = unlimited)",
                        "default": 100
                    },
                    "include_detail": {
                        "title": "Include Detail Pages",
                        "type": "boolean",
                        "description": "Visit each firm and advisor profile page to get full details (bio, focus areas, credentials, NAPFA start date). If disabled, only basic listing data is returned.",
                        "default": true
                    },
                    "delay_seconds": {
                        "title": "Delay Between Requests",
                        "minimum": 0,
                        "type": "number",
                        "description": "Pause between requests in seconds to avoid overloading the server",
                        "default": 1
                    },
                    "proxy_configuration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy configuration for the scraper",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
