# SEC IAPD Investment Adviser Scraper (`parseforge/sec-iapd-scraper`) Actor

Searches the SEC IAPD database by firm name, individual name, or CRD number and returns registration status, disclosures, employment history, and exam details as flat rows.

- **URL**: https://apify.com/parseforge/sec-iapd-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 13 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 adviser/firm records

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)](https://apify.com/parseforge?fpr=vmoqkp)

### SEC IAPD Investment Adviser Scraper

**Scrape investment adviser and individual representative records from the SEC's IAPD database by firm name, individual name, or CRD number.** Every record returns registration status, disclosures, employment history, and exam details. No API key or login required. Export to CSV, JSON, Excel, or XML.

The SEC's Investment Adviser Public Disclosure website lets you look up one adviser at a time through a browser. This Actor searches the IAPD database programmatically, collecting full registration and disclosure records for firms and individuals in bulk. You get a structured dataset instead of manual lookups, ready for compliance checks, due diligence, or lead generation.

| Who uses it | What they scrape SEC IAPD for |
|---|---|
| Compliance officers | Audit registration status and disciplinary disclosures across a list of advisory firms. |
| Due diligence analysts | Verify an adviser's employment history, exams passed, and state registrations before onboarding. |
| Lead generation teams | Build a prospecting list of active RIAs filtered by registration scope and location. |
| Legal researchers | Gather disclosure documents and regulatory actions for litigation support. |

### What it does

This Actor searches the SEC IAPD database by adviser name or CRD number and returns each matching firm or individual record as a flat row.

- 🏢 **Firm or individual search:** query by firm name, individual name, or CRD number.
- 📋 **Registration scope filter:** limit results to active, inactive, or all registrations.
- 🔢 **Bulk collection:** set a maximum adviser count and pull hundreds or thousands of records in one run.
- 📄 **Flat row output:** each record arrives as one row with registration status, disclosures, employment history, and exam details.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with SEC IAPD data

**📋 Compliance audits.**

A compliance team searches a watchlist of firm names and collects current registration status and disclosure flags to flag high-risk advisers.

**🔍 Due diligence screening.**

An analyst runs a CRD number through the Actor and reviews the adviser's full employment history and exam qualifications before approving a vendor.

**📊 Lead list building.**

A sales team searches for active RIAs by name pattern and exports the results to build a prospecting spreadsheet.

**⚖️ Litigation research.**

A legal researcher pulls disclosure documents and regulatory actions for multiple firms to support a case.

### Why choose this scraper

|  | What you get |
|---|---|
| **No manual lookups** | Search and collect hundreds of IAPD records in one run instead of one at a time. |
| **Fixed schema** | Every record lands in the same flat structure, ready for analysis or a database. |
| **Registration filtering** | Pull only active RIAs, only inactive firms, or the full list. |
| **No API registration** | Reads the public IAPD site directly with no OAuth, app registration, or rate-limit headaches. |

### How it compares

No other Store actor targets SEC IAPD the same way, so the honest comparison is with the alternatives teams actually weigh.

| | SEC IAPD Investment Adviser Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When SEC IAPD changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor with a firm name, individual name, or CRD number, and narrow results by active registration scope so only matching advisers reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "query": "Goldman",
  "maxItems": 10
}
```

A larger pull:

```json
{
  "query": "Goldman",
  "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.01 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.00 |
| 1,000 results | $10.00 |
| 10,000 results | $100.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [SEC IAPD Investment Adviser Scraper](https://apify.com/parseforge/sec-iapd-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to SEC IAPD through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/sec-iapd-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check the spelling of your query. The IAPD search is exact on names. Try a shorter name fragment or use a CRD number if you have one. Also confirm your Active Scope Filter is not excluding the records you want.

**The Actor returns fewer records than I expected.**

The IAPD search may return only the top matches for broad queries. Try a more specific name or use a CRD number. Also check that your 'Maximum advisers' setting is high enough.

**Some fields are empty in my results.**

Not every adviser has data in every field. Disclosures, employment history, and exam details are only present when the adviser has reported them to the SEC.

**The run fails with a timeout.**

Large searches can take time. Increase the run timeout in your Actor settings, or reduce the 'Maximum advisers' count and run multiple smaller searches.

**I see a 'search returned no matches' error.**

The IAPD site found no adviser matching your query. Try a different spelling, a partial name, or switch between Firm and Individual search types.

### FAQ

| Question | Answer |
|---|---|
| What is the SEC IAPD database? | It is the Investment Adviser Public Disclosure website maintained by the U.S. Securities and Exchange Commission. It contains registration and disclosure records for SEC-registered and state-registered investment adviser firms and individuals. |
| Can I search by CRD number? | Yes. Enter the CRD number in the query field and the Actor will return the matching firm or individual record. |
| Does this Actor require an API key or login? | No. It reads the public IAPD website directly, so there is no API key, OAuth flow, or account registration needed. |
| What data does each record include? | Each row returns registration status, SEC and state disclosures, employment history, exam qualifications, and other details visible on the IAPD site. |
| Can I filter for only active advisers? | Yes. Set the Active Scope Filter to 'Active only' and the Actor will skip firms or individuals that are no longer registered. |
| How many records can I collect in one run? | You set the maximum with the 'Maximum advisers' field. The Actor can collect up to 1,000,000 records per run. |
| Does this work for state-registered advisers? | Yes. The IAPD database includes both SEC-registered and state-registered investment adviser firms and representatives. |
| What export formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform. |
| Can I search for an individual adviser instead of a firm? | Yes. Set the Search Type to 'Individual (IAR)' and enter the person's name or CRD number. |
| Is this Actor affiliated with the SEC? | No. This is an independent tool that reads publicly available data from the SEC's IAPD website. It is not endorsed by or affiliated with the SEC. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by U.S. Securities and Exchange Commission. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

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

Name or CRD number to search for. Examples: 'Goldman Sachs', 'Smith', '157465'.

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

Search firms (RIAs) or individuals (IARs).

## `scope` (type: `string`):

Filter by IA scope. Active = currently registered. All = include inactive/deregistered.

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

How many advisers to collect per run.

## Actor input object example

```json
{
  "query": "Goldman",
  "searchType": "firm",
  "scope": "all",
  "maxItems": 10
}
```

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

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/sec-iapd-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,
}

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/sec-iapd-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/U9LOMKE4H9xDZEYHB/builds/tXEof0iPCivJIx6db/openapi.json
