# SEC Investment Adviser Scraper | IAPD Firm Profiles (`parseforge/sec-investment-adviser-scraper`) Actor

Retrieve SEC and state-registered investment adviser firm data from the IAPD database: CRD numbers, assets under management, employees, disclosures, and addresses. Useful for compliance, wealth management lead generation, and competitor benchmarking across US advisory firms.

- **URL**: https://apify.com/parseforge/sec-investment-adviser-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏛️ SEC Investment Adviser (IAPD) Scraper

> 🚀 **Export SEC registered investment adviser records in seconds.** Pull individuals and firms from the official Investment Adviser Public Disclosure database with CRD IDs, SEC numbers, disclosure flags, and current employment. Download as CSV, Excel, JSON, or XML.

> 🕒 **Last updated:** 2026-05-25 · **📊 22 fields** per record · Up to 1,000,000 records · United States, every SEC-registered adviser

The **SEC IAPD Scraper** queries the official SEC `api.adviserinfo.sec.gov` search service used by the public Investment Adviser Public Disclosure portal. Every record includes the registrant's CRD/Source ID, SEC numbers (full and short), registration scope (Active vs Inactive), disclosure flag, and current employment details where applicable. No login, no CAPTCHA, no manual exports required.

The dataset covers every individual investment adviser representative and every adviser firm tracked by the SEC under IAPD, including legacy registrations and previously-registered persons.

**Coverage:** 10,000+ individuals and thousands of firms returned per query, fully searchable by name or keyword.

---

### Target Audience / Use Cases

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Compliance teams | Verify adviser registrations and check disclosure flags |
| Financial recruiters | Build prospect lists of advisers with experience filters |
| Wealth management firms | Due diligence on advisers and competing firms |
| Journalists & researchers | Investigate adviser firms and their regulatory history |
| Regtech and KYC vendors | Augment customer onboarding with adviser registration data |
| Academic researchers | Study industry composition and regulatory disclosures |

---

### 📋 What the SEC IAPD Scraper does

- Searches the SEC IAPD database by name, firm, or any keyword
- Returns both individual advisers and firm records
- Includes CRD/Source ID, SEC number, full SEC number (`801-xxxxx`)
- Surfaces disclosure flags and active/inactive scope
- Captures current employment details for individuals (firm, branch city/state/ZIP)
- Captures office address for firms
- Applies `maxItems` cap so free users get a 10-record preview without wasting quota
- Exports in any Apify-supported format: JSON, CSV, Excel, XML

> 💡 **Why it matters:** Manually browsing IAPD is one record at a time. This actor turns IAPD into an automated, scheduled pipeline.

---

### 🎬 Full Demo

_🚧 Coming soon_

---

### ⚙️ Input

<table>
<thead>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>query</td><td>string</td><td>No</td><td>goldman</td><td>Name or keyword to search.</td></tr>
<tr><td>maxItems</td><td>integer</td><td>No</td><td>10</td><td>Maximum records to return. Free users capped at 10.</td></tr>
<tr><td>searchType</td><td>select</td><td>No</td><td>Firm</td><td>Individuals (advisers) or Firms.</td></tr>
<tr><td>activeOnly</td><td>boolean</td><td>No</td><td>false</td><td>Only currently active registrations.</td></tr>
</tbody>
</table>

**Example 1 - Firm search for "Goldman":**
```json
{
    "query": "goldman",
    "maxItems": 50,
    "searchType": "Firm"
}
````

**Example 2 - Individual advisers named Smith, active only:**

```json
{
    "query": "smith",
    "maxItems": 200,
    "searchType": "Individual",
    "activeOnly": true
}
```

> ⚠️ **Good to Know:** The SEC IAPD search is keyword-based and returns the most-relevant matches first. Some legacy individuals have no current employment and `currentEmploymentFirm` will be `null`.

***

### 📊 Output

Each record contains:

| Field | Type | Description |
|---|---|---|
| 📛 `title` | string | Full display name (person or firm) |
| 🏷️ `type` | string | `Individual` or `Firm` |
| 🆔 `id` | string | Source ID (CRD-equivalent) used in the SEC profile URL |
| 🪪 `secNumber` | string | Short SEC number (firms) |
| 📑 `fullSecNumber` | string | Full SEC number e.g. `801-10970` |
| 🟢 `scope` | string | `Active` or `Inactive` |
| ⚠️ `hasDisclosures` | boolean | Whether disclosures are filed |
| 🏢 `currentEmploymentFirm` | string | Current firm (individuals) |
| 📍 `city` / `state` / `country` | string | Office location |
| 🔗 `sourceUrl` | string | SEC IAPD profile URL |
| 🕒 `scrapedAt` | string | ISO timestamp |
| ❌ `error` | string | Error message if any |

Sample (firm):

```json
{
    "title": "MARK A. GOLDMAN",
    "type": "Firm",
    "id": "117534",
    "otherNames": ["GOLDMAN, MARK A.", "MARK A. GOLDMAN", "GOLDPLAN"],
    "scope": "INACTIVE",
    "hasDisclosures": false,
    "branchesCount": 0,
    "city": "VASHON",
    "state": "WA",
    "country": "United States",
    "sourceUrl": "https://adviserinfo.sec.gov/firm/summary/117534"
}
```

***

### ✨ Why choose this Actor

- 🟢 No API key, no login, no CAPTCHA
- 🟢 Hits the same backend used by the official SEC portal
- 🟢 Both individuals and firms in a single actor
- 🟢 Outputs structured JSON, CSV, Excel, or XML directly
- 🟢 Free preview tier so you can try before paying

***

### 📈 How it compares to alternatives

| Option | Search by name | Bulk export | Firms + Individuals | No login |
|---|---|---|---|---|
| Official SEC IAPD portal | Yes | Manual, one at a time | Yes | Yes |
| Generic financial-data APIs | Sometimes | Paid, expensive | Often firms only | Requires keys |
| **ParseForge IAPD Scraper** | **Yes** | **Yes, JSON/CSV/Excel/XML** | **Yes, both** | **Yes** |

***

### 🚀 How to use

1. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. Open this actor on Apify Console
3. Enter a `query` and pick `Individual` or `Firm`
4. Run, then download CSV / Excel / JSON / XML
5. Schedule the run or wire it into Make / Zapier / Slack

***

### 💼 Business use cases

#### Compliance & KYC

Run an adviser's name through the actor as part of onboarding to confirm registration scope and disclosure flag.

#### Recruiting & sales

Build prospect lists from `currentEmploymentFirm`, then enrich with email and LinkedIn lookups.

#### Competitive intelligence

Pull every firm with a keyword to map the competitive landscape.

#### Academic & policy research

Aggregate disclosure rates across active firms by state for regulatory studies.

***

### 🔌 Automating SEC IAPD Scraper

The actor integrates with **Make**, **Zapier**, **n8n**, **Slack**, **Airbyte**, **GitHub Actions**, **Google Drive**, and any HTTP-aware tool through the Apify API.

***

### 🌟 Beyond business use cases

#### Research

Study how disclosure rates correlate with firm size or geography.

#### Personal

Verify an adviser before opening an account.

#### Non-profit

Investigate adviser concentrations in underserved markets.

#### Experimentation

Combine with FINRA BrokerCheck data to study dual-registration patterns.

***

### 🤖 Ask an AI assistant about this scraper

- ChatGPT
- Claude
- Perplexity
- Microsoft Copilot

***

### ❓ Frequently Asked Questions

**Q: Do I need a SEC account or developer key?**
No. The actor hits the same public search endpoint used by adviserinfo.sec.gov.

**Q: How fresh is the data?**
Real-time. Each run queries the live SEC search.

**Q: Can I get FINRA BrokerCheck data?**
Use our companion **FINRA BrokerCheck Scraper** for the broker side.

**Q: Are inactive registrations included?**
Yes by default. Set `activeOnly: true` to filter.

**Q: How many records can I pull?**
Free users: 10 per run. Paid users: up to 1,000,000.

**Q: Is the data legally usable?**
IAPD is a public US federal disclosure system. Data is published in the public interest.

**Q: Does the actor support firm CRD-only lookup?**
Yes, just enter the firm name as the query.

**Q: What if my query returns zero results?**
An error record is pushed so you can detect empty results in automation.

**Q: Can I get historical employment for individuals?**
Current employments are returned in `allCurrentEmployments`. Historical employments require visiting the SEC profile.

**Q: Output formats?**
JSON, CSV, Excel, XML via Apify's dataset exports.

***

### 🔌 Integrate with any app

Webhooks, REST API, Make scenarios, Zapier zaps, Slack channels, Airbyte connectors, Google Sheets, and more through the Apify platform.

***

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [FINRA BrokerCheck Scraper](https://apify.com/parseforge/finra-brokercheck-scraper) | Broker-dealer registration disclosures |
| [CDC WONDER Mortality Scraper](https://apify.com/parseforge/cdc-wonder-mortality-scraper) | US public-health mortality data |
| [ClinicalTrials.gov Scraper](https://apify.com/parseforge/clinicaltrials-scraper) | Registered clinical trials worldwide |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with the U.S. Securities and Exchange Commission. Only publicly available data from adviserinfo.sec.gov is collected.

# Actor input Schema

## `query` (type: `string`):

Name of a person, firm, or any keyword to search (e.g. 'Goldman', 'Smith').

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `searchType` (type: `string`):

Search individuals (advisers) or firms.

## `activeOnly` (type: `boolean`):

When enabled, only currently active advisers/firms are returned.

## Actor input object example

```json
{
  "query": "goldman",
  "maxItems": 10,
  "searchType": "Firm",
  "activeOnly": false
}
```

# Actor output Schema

## `results` (type: `string`):

Scraped SEC IAPD adviser and firm records

# 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 = {
    "query": "goldman",
    "maxItems": 10,
    "searchType": "Firm"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/sec-investment-adviser-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 = {
    "query": "goldman",
    "maxItems": 10,
    "searchType": "Firm",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/sec-investment-adviser-scraper").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 '{
  "query": "goldman",
  "maxItems": 10,
  "searchType": "Firm"
}' |
apify call parseforge/sec-investment-adviser-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/sec-investment-adviser-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC Investment Adviser Scraper | IAPD Firm Profiles",
        "description": "Retrieve SEC and state-registered investment adviser firm data from the IAPD database: CRD numbers, assets under management, employees, disclosures, and addresses. Useful for compliance, wealth management lead generation, and competitor benchmarking across US advisory firms.",
        "version": "0.1",
        "x-build-id": "tFScAgzzo5xrSVwsF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~sec-investment-adviser-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-sec-investment-adviser-scraper",
                "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/parseforge~sec-investment-adviser-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-sec-investment-adviser-scraper",
                "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/parseforge~sec-investment-adviser-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-sec-investment-adviser-scraper",
                "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": {
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Name of a person, firm, or any keyword to search (e.g. 'Goldman', 'Smith')."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "Individual",
                            "Firm"
                        ],
                        "type": "string",
                        "description": "Search individuals (advisers) or firms."
                    },
                    "activeOnly": {
                        "title": "Active Registrations Only",
                        "type": "boolean",
                        "description": "When enabled, only currently active advisers/firms are returned.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
