SEC Investment Adviser Public Disclosure Scraper
Pricing
Pay per event
SEC Investment Adviser Public Disclosure Scraper
Extract SEC IAPD adviser firm profiles, Form ADV dates, registration statuses, addresses, disclosure flags, and profile URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract SEC IAPD investment adviser firm records from the public SEC Investment Adviser Public Disclosure database.
The actor searches adviserinfo.sec.gov, fetches public firm profile JSON, and saves normalized adviser firm records with SEC numbers, registration status, Form ADV filing dates, office addresses, disclosure flags, notice filings, and source profile URLs.
What does SEC Investment Adviser Public Disclosure Scraper do?
SEC Investment Adviser Public Disclosure Scraper turns public IAPD adviser search results into a clean Apify dataset.
It can:
- ๐ Search adviser firms by keyword or firm name
- ๐งพ Fetch direct adviser profiles by SEC IAPD firm / CRD-style ID
- ๐๏ธ Extract registration status and jurisdiction rows
- ๐ Capture Form ADV filing dates and compilation metadata
- ๐ Normalize office address data
- ๐ฉ Preserve disclosure flags and profile URLs
- ๐ฆ Export results as JSON, CSV, Excel, XML, RSS, or via API
Who is it for?
This scraper is built for teams that work with registered investment adviser data.
- Compliance analysts checking RIA status and disclosure signals
- Due-diligence teams screening financial advisers and wealth managers
- Wealth-tech vendors enriching adviser firm databases
- KYC and vendor-risk teams validating public registration information
- Market-mapping teams building lists of advisory firms by keyword or region
- Data providers monitoring SEC IAPD and Form ADV metadata
Why use it?
SEC IAPD is public, but exporting repeatable, normalized search results is inconvenient. This actor gives you an automation-ready dataset instead of manual browser checks.
Benefits:
- Repeatable searches with the same input
- Structured output with stable field names
- Direct links back to source profiles
- Detail enrichment from the same public JSON used by the IAPD site
- Works without a login, browser session, or private credentials
- Suitable for scheduled monitoring workflows
Data source
The actor uses the public SEC IAPD web application and its public JSON endpoints:
- Website:
https://adviserinfo.sec.gov/ - Search endpoint family:
https://api.adviserinfo.sec.gov/search/firm - Profile endpoint family:
https://api.adviserinfo.sec.gov/search/firm/{firmId}
The actor does not bypass authentication because no authentication is required for the public firm records it extracts.
How much does it cost to extract SEC IAPD adviser firms?
This actor uses pay-per-event pricing.
You pay a small start fee for each run and a per-record fee for each adviser firm saved to the dataset. The exact price is visible on the Apify actor page before you run it.
Cost depends mainly on:
- Number of adviser firms requested in
maxItems - Whether detail enrichment is enabled
- How many search terms you provide
- SEC response speed during the run
Use a small maxItems value for your first run, then scale up once the output matches your workflow.
Input overview
You can provide broad searches, direct firm IDs, or both.
| Field | Type | Description |
|---|---|---|
searchQueries | array | Firm-name or keyword searches such as BlackRock, capital, or wealth management. |
firmName | string | Convenience single firm-name search. |
crdNumbers | array | Exact SEC IAPD firm/source IDs to fetch directly. |
secNumbers | array | SEC adviser numbers searched as terms. |
state | string | Optional two-letter US state filter, e.g. NY or CA. |
maxItems | integer | Maximum adviser firm records to save. |
includeDetails | boolean | Fetch profile details for registration, ADV, and jurisdiction fields. |
requestDelayMs | integer | Polite delay between detail requests. |
Example input
{"searchQueries": ["capital", "wealth management"],"firmName": "BlackRock","crdNumbers": ["106614"],"state": "NY","maxItems": 50,"includeDetails": true,"requestDelayMs": 100}
Output overview
Each dataset item represents one SEC IAPD adviser firm record.
| Field | Description |
|---|---|
firmId | SEC IAPD firm/source ID used in profile URLs. |
firmName | Registered adviser firm name. |
otherNames | Alternate names listed by IAPD. |
iaScope | IAPD investment adviser scope/status text. |
isIAFirm | IAPD IA firm flag. |
secNumber | SEC adviser number without prefix. |
secNumberType | SEC number prefix, for example 801 or 802. |
fullSecNumber | Combined SEC adviser number. |
advFilingDate | Latest Form ADV filing date shown in profile data. |
disclosureFlag | Search-level disclosure flag when available. |
branchesCount | Branch count from search results when available. |
officeAddress | Main office address object. |
registrationStatuses | SEC/state registration status rows. |
noticeFilings | Notice filing rows by jurisdiction. |
exemptReportingAdvisers | ERA status rows where present. |
orgScopeStatusFlags | Scope flags from the profile JSON. |
brochuresCount | Number of Part 2 brochure detail rows. |
compilationData | Form ADV compilation metadata rows. |
profileUrl | Public SEC IAPD profile URL. |
sourceQuery | Search term or direct ID that produced the record. |
scrapedAt | ISO timestamp for the extraction. |
Example output
{"firmId": 106614,"firmName": "BLACKROCK ADVISORS, LLC","otherNames": ["BLACKROCK", "BLACKROCK ADVISORS, LLC"],"iaScope": "ACTIVE","isIAFirm": "Y","secNumber": "47710","secNumberType": "801","fullSecNumber": "801-47710","advFilingDate": "05/15/2026","officeAddress": {"street1": "50 HUDSON YARDS","city": "NEW YORK","state": "NY","country": "United States","postalCode": "10001"},"profileUrl": "https://adviserinfo.sec.gov/firm/summary/106614","sourceQuery": "BlackRock","scrapedAt": "2026-06-27T00:00:00.000Z"}
How to scrape SEC IAPD adviser firms
- Open the actor on Apify.
- Enter one or more firm names or search keywords.
- Optionally add direct IAPD firm IDs in
crdNumbers. - Set
maxItemsto the number of firms you want. - Keep
includeDetailsenabled for compliance workflows. - Run the actor.
- Download the dataset or connect it to your API pipeline.
Search tips
- Use broad business terms such as
capital,wealth management, oradvisorsfor larger lists. - Use exact firm names for targeted due diligence.
- Use direct firm IDs when you already have known IAPD profile IDs.
- Use state filters for region-specific market mapping.
- Keep
requestDelayMsat the default unless you need faster runs.
Direct firm ID mode
If you know a profile URL like:
https://adviserinfo.sec.gov/firm/summary/106614
then 106614 is the firm ID. Add it to crdNumbers and the actor will fetch that profile directly.
This is useful when you maintain an internal list of adviser IDs and want refreshed public profile fields.
Detail enrichment
When includeDetails is enabled, the actor fetches the profile JSON for every saved firm.
Detail enrichment adds:
- Form ADV filing date
- Registration status rows
- Notice filings
- Exempt reporting adviser status
- Organization scope flags
- Compilation metadata
- Brochure counts when available
Disable it only when you need faster search-level exports.
Integrations
Use this actor in workflows such as:
- Daily RIA monitoring into Google Sheets
- Compliance enrichment in Snowflake or BigQuery
- CRM enrichment for adviser firm accounts
- Vendor onboarding checks
- KYC screening pipelines
- Due-diligence research notebooks
- Webhook alerts when scheduled runs finish
Apify integrations can send results to Make, Zapier, Slack, Google Drive, S3, or your own API.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/sec-investment-adviser-public-disclosure-scraper').call({searchQueries: ['capital'],maxItems: 25,includeDetails: true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/sec-investment-adviser-public-disclosure-scraper').call(run_input={'searchQueries': ['wealth management'],'maxItems': 25,'includeDetails': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~sec-investment-adviser-public-disclosure-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchQueries":["capital"],"maxItems":25,"includeDetails":true}'
MCP usage
You can use this actor through Apify MCP in Claude Desktop or Claude Code.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/sec-investment-adviser-public-disclosure-scraper
Claude Code setup:
$claude mcp add apify-sec-iapd "https://mcp.apify.com/?tools=automation-lab/sec-investment-adviser-public-disclosure-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-sec-iapd": {"url": "https://mcp.apify.com/?tools=automation-lab/sec-investment-adviser-public-disclosure-scraper"}}}
Example prompts:
- "Run the SEC IAPD scraper for BlackRock and summarize adviser registration statuses."
- "Find 25 investment adviser firms matching wealth management in CA."
- "Fetch SEC IAPD profile fields for firm ID 106614."
Data quality notes
The actor returns public data exactly as exposed by SEC IAPD profile JSON. Some fields may be empty for exempt reporting advisers, foreign firms, or firms without a given section.
Always use profileUrl for source verification when making compliance decisions.
FAQ
Why did I get zero results?
Try a broader searchQueries value, remove the state filter, or verify that a direct firm ID exists on the public IAPD website.
Why are some arrays empty?
Not every adviser firm has notice filings, exempt reporting adviser rows, brochure rows, or all registration sections. Empty arrays mean the public profile JSON did not include rows for that section.
Why does the run take longer with details enabled?
Detail mode sends one profile request per saved firm. Increase requestDelayMs for politeness or disable details for quick search-level exports.
Legality
This actor extracts public information from SEC IAPD. You are responsible for using the data lawfully and respecting applicable compliance, privacy, and securities-industry rules. Do not use the actor to make decisions that require professional review without validating source records.
Related scrapers
Explore related automation-lab actors on Apify:
- https://apify.com/automation-lab/sec-edgar-scraper
- https://apify.com/automation-lab/sec-filings-scraper
- https://apify.com/automation-lab/finra-brokercheck-scraper
- https://apify.com/automation-lab/company-registry-scraper
Changelog
0.1
- Initial release candidate with SEC IAPD firm search, direct firm IDs, profile detail enrichment, and normalized adviser firm output.