# Garrett Planning Leads Scraper - Financial Advisors USA (`giovannibiancia/actor-garret-planning`) Actor

Extract fee-only hourly-based financial advisors from the official Garrett
Planning Network directory. Get full profiles including bio, specialties,
fee structure, credentials (CFP®, CDFA®, CPA/PFS), LinkedIn, website, and
verification status. The most detailed hourly advisor dataset available.

- **URL**: https://apify.com/giovannibiancia/actor-garret-planning.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 $30.00 / 1,000 single 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/actors/running/actors-in-store.md#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

## Garrett Planning Network Scraper

Scrape financial planner and financial advisor profiles from the [Garrett Planning Network](https://directory.garrettplanningnetwork.com/) directory. Extract contact details, company info, specialties, certifications, and more from fee-only financial planners across the United States.

### What data can you extract?

This scraper collects structured data from each financial planner profile on the Garrett Planning Network directory:

| Field                       | Description                                                                        |
| --------------------------- | ---------------------------------------------------------------------------------- |
| **Name & Credentials**      | Full name, first/last name, professional credentials (CFP, CFA, CDFA, ChFC, etc.)  |
| **Company**                 | Company name, logo, website                                                        |
| **Contact**                 | Phone number, profile URL                                                          |
| **Location**                | City, state, postal code, country                                                  |
| **Social Profiles**         | LinkedIn, Facebook, Instagram, Twitter, YouTube                                    |
| **About**                   | Full biography and professional description                                        |
| **Specialties**             | List of services offered (retirement planning, investment planning, divorce, etc.) |
| **Professional Background** | Fee structure, registrations, associations, Form ADV                               |
| **Verification**            | Whether the planner is a verified member                                           |

### How to use

#### Search by keyword

Use the **Search Query** field to filter financial planners by keyword — search for names, specialties, or any term (e.g. "retirement", "CFP", "divorce planning").

#### Search by location

The Garrett Planning Network website uses Google Places Autocomplete for location searches. To filter by location:

1. Go to [directory.garrettplanningnetwork.com](https://directory.garrettplanningnetwork.com/)
2. Use the location search box on the website and select a location from the autocomplete
3. Copy the full URL from your browser's address bar
4. Paste it into the **Search URL (Location Filter)** field

Example URL for Hyattsville, MD:

```
https://directory.garrettplanningnetwork.com/search_results?q=&location_value=2031%20University%20Boulevard%20East%2C%20Hyattsville%2C%20MD&city=Hyattsville&county_sn=Prince%20George%27s%20County&adm_lvl_1_sn=MD&country_sn=US&location_type=street_address&fsearch=radius&lat=38.9820143&lng=-76.9783279&faddress=2031%20University%20Blvd%20E%2C%20Hyattsville%2C%20MD%2020783%2C%20USA&place_id=ChIJUZNWT2jGt4kRVYoZQ-NP8eI
```

#### Scrape all

Leave both fields empty to scrape the entire directory.

### Input parameters

| Parameter      | Type    | Description                                                                            | Default   |
| -------------- | ------- | -------------------------------------------------------------------------------------- | --------- |
| `search_query` | string  | Keyword to filter results (e.g. "retirement planning")                                 | *(empty)* |
| `start_url`    | string  | Full search URL from the website — use this for location-based searches (see above)    | *(empty)* |
| `max_results`  | integer | Maximum number of results to extract (0 = unlimited)                                   | `100`     |
| `include_detail` | boolean | Visit each profile page for full data extraction                                     | `true`    |
| `delay_seconds` | number | Delay between requests in seconds                                                      | `0.5`     |

### Output example

```json
{
  "url": "https://directory.garrettplanningnetwork.com/new-york/rochester/member/kitty-bressington-cfp-cdfa",
  "name": "Kitty Bressington, CFP® CDFA®",
  "first_name": "Kitty",
  "last_name": "Bressington",
  "credentials": ["CFP", "CDFA"],
  "position": "Founder",
  "company": {
    "name": "Linden Financial Consultants, LLC",
    "logo": "https://directory.garrettplanningnetwork.com/logos/profile/linden-financial-consultants-llc-logo-pittsford-ny-206.jpg",
    "website": "http://www.lindenfinancialconsultants.com/"
  },
  "social_profiles": {
    "linkedin": "https://www.linkedin.com/pub/kitty-bressington/72/2b1/878"
  },
  "location": {
    "city": "Rochester",
    "state": "NY",
    "postal_code": "14618",
    "country": "United States of America"
  },
  "profile_image": "https://directory.garrettplanningnetwork.com/pictures/profile/kitty-bressington-cfp-pittsford-ny-965.jpg",
  "verified": true,
  "about": "Kitty Bressington is the founder and president of Linden Financial Consultants, LLC...",
  "professional_background": {
    "fee_structure": ["All of our work is on an hourly basis..."]
  },
  "specialties": [
    { "name": "Retirement Planning", "url": "/member/retirement-planning" },
    { "name": "Investment Planning", "url": "/member/investment-planning" },
    { "name": "Divorce", "url": "/member/divorce" }
  ],
  "services_count": 13
}
```

### Use cases

- **Lead generation** — Build targeted lists of fee-only financial advisors by location and specialty.
- **Market research** — Analyze the distribution of financial planners, their services, and fee structures across the US.
- **Competitor analysis** — Compare financial planning firms by credentials, specialties, and geographic coverage.
- **Directory enrichment** — Enrich your CRM or database with verified financial planner contact data and professional backgrounds.
- **Content research** — Study advisor bios and specialties to understand market trends in financial planning.

# Actor input Schema

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

Keyword to filter results (e.g. 'retirement planning', 'CFP'). Leave empty to get all results.

## `start_url` (type: `string`):

Full search URL from the Garrett Planning Network website. Use this for location-based searches: go to the website, use the location autocomplete, copy the resulting URL and paste it here. Overrides Search Query if provided.

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

Numero massimo di risultati da estrarre (0 = illimitato)

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

Se true, visita ogni profilo per estrarre dati completi (specialties, about, ecc.)

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

Pausa tra le richieste HTTP per evitare rate limiting

## Actor input object example

```json
{
  "max_results": 100,
  "include_detail": true,
  "delay_seconds": 0.5
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("giovannibiancia/actor-garret-planning").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("giovannibiancia/actor-garret-planning").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 '{}' |
apify call giovannibiancia/actor-garret-planning --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,giovannibiancia/actor-garret-planning"
        }
    }
}

```

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/t7hRujgjOJm0I9IB1/builds/HL24nK5mD39iDC7BH/openapi.json
