SEC Investment Adviser Scraper — RIA Firm Leads & Form ADV
Pricing
$4.00 / 1,000 per adviser firm returneds
SEC Investment Adviser Scraper — RIA Firm Leads & Form ADV
One row per registered investment adviser FIRM, from the SEC's own Form ADV feed: firm name, CRD and SEC number, office address, phone, website, LinkedIn, regulatory AUM, employees, client counts, fees, custody and Item 11 disciplinary flags. 17,108 SEC-registered RIAs. No login.
Pricing
$4.00 / 1,000 per adviser firm returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Every registered investment adviser firm in the United States, from the regulator's own Form ADV feed. 17,108 SEC-registered RIAs (or 43,370 including state-registered firms), each with firm name, CRD and SEC number, main-office address, phone, website, LinkedIn, regulatory AUM, employees, client counts, fee structure, custody and Form ADV Item 11 disciplinary flags. $0.004 per firm — $4 per 1,000, the whole SEC list for about $68. No login, no API key, no account with the SEC.
One row per adviser firm, parsed from the nightly compilation feed that sits behind adviserinfo.sec.gov — the SEC's own Investment Adviser Public Disclosure system. Each row carries firmName, legalName, crdNumber, secNumber, iapdUrl, phone, fax, website, linkedinUrl, address, city, state, zip, aumTotal, aumDiscretionary, accountsTotal, totalEmployees, investmentAdviserReps, totalClients, clientsByType, compensationTypes, advisoryServices, hasCustody, custodyAssetsUsd, hasDisclosure, criminalDisclosure, regulatoryDisclosure, civilDisclosure, registrationDate and lastFilingDate — 78 fields in all.
Filter by regulator, state, AUM band, headcount, website, disciplinary status, registration date and last-filing date — or paste a list of CRD numbers and verify just those firms.
No login. No API key. No CAPTCHA solving. No per-firm page crawling — the whole industry arrives as one 7.25 MB file, and a full 17,108-firm run takes under a minute.
{"registrationType": "sec","maxItems": 100}
Click Try for free and hit Start — that is the input the Actor ships with, and it returns 100 SEC-registered adviser firms for about $0.40. Set maxItems to 0 for the whole list.
What is in the corpus — measured on the 2026-08-12 feed
Every number on this page was measured by running this Actor against the live IA_FIRM_SEC_Feed_08_12_2026 and IA_FIRM_STATE_Feed_08_12_2026 files. Nothing here is quoted from a marketing page.
| Set | Firms | What they are |
|---|---|---|
| SEC-registered advisers | 17,108 | The classic RIA list. Full Form ADV Part 1A: AUM, employees, clients, fees, custody, discipline. |
| State-registered advisers | 16,510 | Smaller, local advisers regulated by their state, not the SEC. |
| Both feeds, deduplicated by CRD | 43,370 | 2,173 firms appear in both feeds and are emitted once. |
| Exempt reporting advisers | 6,632 SEC + 5,293 state | Private-fund/VC managers. Excluded by default — see "Read this before you run it". |
Combined regulatory AUM across those 17,108 SEC-registered firms: $177.4 trillion ($177,415.8B, printed by the run itself).
Where the money sits — AUM bands
Measured on the 16,757 SEC-registered firms that report regulatory AUM (97.9% of 17,108):
| Regulatory AUM | Firms | Share |
|---|---|---|
| Under $25M | 638 | 3.8% |
| $25M – $100M | 760 | 4.5% |
| $100M – $250M | 4,250 | 25.4% |
| $250M – $1B | 5,720 | 34.1% |
| $1B – $10B | 4,023 | 24.0% |
| $10B – $100B | 1,105 | 6.6% |
| $100B or more | 261 | 1.6% |
270 of the "Under $25M" firms report exactly $0 — a real filing state (a newly-registered or wind-down firm), not a parsing miss.
Top 25 SEC-registered advisers by regulatory AUM
Straight out of a registrationType: "sec" run with no filters — this is what a sort on aumTotal gives you:
| # | Firm | CRD | State | Regulatory AUM | Employees |
|---|---|---|---|---|---|
| 1 | VANGUARD GROUP INC | 105958 | PA | $11.09tn | 1,702 |
| 2 | VANGUARD CAPITAL MANAGEMENT, LLC | 338002 | PA | $8.44tn | 235 |
| 3 | FIDELITY MANAGEMENT & RESEARCH COMPANY LLC | 108281 | MA | $5.69tn | 1,427 |
| 4 | BLACKROCK FUND ADVISORS | 105247 | CA | $4.28tn | 128 |
| 5 | CAPITAL RESEARCH AND MANAGEMENT COMPANY | 110885 | CA | $3.75tn | 1,417 |
| 6 | PACIFIC INVESTMENT MANAGEMENT COMPANY LLC | 104559 | CA | $3.67tn | 1,968 |
| 7 | J.P. MORGAN INVESTMENT MANAGEMENT INC. | 107038 | NY | $3.52tn | 3,194 |
| 8 | VANGUARD PORTFOLIO MANAGEMENT, LLC | 338003 | PA | $2.66tn | 105 |
| 9 | GOLDMAN SACHS ASSET MANAGEMENT, L.P. | 107738 | NY | $2.65tn | 2,059 |
| 10 | T. ROWE PRICE ASSOCIATES, INC. | 105496 | MD | $2.20tn | 3,760 |
| 11 | MORGAN STANLEY | 149777 | NY | $1.96tn | 29,481 |
| 12 | MERRILL LYNCH, PIERCE, FENNER & SMITH INCORPORATED | 7691 | NY | $1.78tn | 32,960 |
| 13 | GEODE CAPITAL MANAGEMENT, LLC | 115504 | MA | $1.74tn | 194 |
| 14 | CHARLES SCHWAB INVESTMENT MANAGEMENT, INC | 106753 | CA | $1.72tn | 946 |
| 15 | BLACKROCK FINANCIAL MANAGEMENT, INC | 107105 | NY | $1.60tn | 7,987 |
| 16 | WELLINGTON MANAGEMENT COMPANY LLP | 106595 | MA | $1.43tn | 1,868 |
| 17 | SSGA FUNDS MANAGEMENT, INC. | 111242 | MA | $1.42tn | 241 |
| 18 | STRATEGIC ADVISERS LLC | 104555 | MA | $1.37tn | 17,112 |
| 19 | NORTHERN TRUST INVESTMENTS, INCORPORATED | 105780 | IL | $1.25tn | 662 |
| 20 | CAPTRUST | 175112 | NC | $1.24tn | 1,841 |
| 21 | PGIM, INC. | 105676 | NJ | $1.13tn | 1,990 |
| 22 | BLACKROCK ADVISORS, LLC | 106614 | NY | $1.10tn | 146 |
| 23 | DIMENSIONAL FUND ADVISORS LP | 106482 | TX | $1.02tn | 1,168 |
| 24 | EDWARD JONES | 250 | MO | $1.01tn | 36,317 |
| 25 | MANAGED ACCOUNT ADVISORS LLC | 142558 | NJ | $0.99tn | 61 |
Segments you can cut with the inputs on this page
Across the 33,334 registered firms in a both run (exempt reporting advisers excluded):
- 19,224 report under $250M of regulatory AUM — of which 1,591 report exactly zero, so the real "small practice" list is 17,633
- 5,389 manage $1B or more
- 18,712 offer financial planning services (Item 5.G)
- 11,093 report custody of client cash or securities (Item 9.A)
- 3,282 carry at least one Item 11 disciplinary disclosure
- 15,886 publish a LinkedIn page
And inside the 17,108 SEC-registered firms specifically:
- 995 are one-person shops; 6,660 have five employees or fewer; 1,201 have 100 or more
- 2,019 (11.8%) carry a disciplinary disclosure: 157 criminal, 1,894 regulatory, 271 civil (a firm can carry more than one)
- 16,330 charge a percentage of AUM, 7,728 charge fixed fees, 6,129 charge performance fees, 4,935 charge hourly, 330 take commissions
- 2,580 are headquartered in New York, 1,870 in California, 1,081 in Florida, 1,076 in Texas — and 2,273 publish no US state at all (mostly non-US offices)
Read this before you run it
Five things that would otherwise turn into a refund request.
- "45,543 records" is not 45,543 registered advisers. The SEC feed holds 23,740 records, and 6,632 of them (27.9%) are exempt reporting advisers — private-fund and venture managers with SEC numbers starting
802-, who file only Items 1, 2, 3, 6, 7, 10 and 11 of Form ADV. Measured on those 6,632 records: 0.0% report regulatory AUM, 0.0% report an employee count, 0.0% report client counts, and only 49.0% carry a US address. That is whyincludeExemptReportingdefaults to false and the default run gives you the 17,108 firms that actually carry the fields you are paying for. - State-registered firms publish a street address on only 50.1% of records (SEC-registered: 91.9%). Phone is 100% on both. If you need mailing addresses,
registrationType: "sec"is the reliable set. The 8,254 state-registered firms with no main-office state are still matched by state, because a row with no office state falls back to the state securities regulator it is registered with — that is why a Texas state-registered run returns 2,827 rows rather than the 712 that publish a Texas office address. - This is a firm-level product. Form ADV Part 1A is filed by the firm. There are no individual adviser names and no personal e-mail addresses in this feed — see Honest limits for what to use instead.
- Values are as filed, not as of today. AUM and client counts come from the firm's most recent annual updating amendment.
lastFilingDatetells you exactly how stale that is, andfiledAfterlets you keep only fresh ones. - The bucket keeps roughly the last 8 days. The Actor discovers the current file at run time, so you always get this week's snapshot; there is no way to ask it for last quarter's.
The wedge: the Form ADV filing itself, not a contact list
There are two kinds of RIA product on this Store, and it is worth being blunt about which one you are looking at.
Person-level products sell you named advisers with e-mail addresses and LinkedIn profiles, assembled in a vendor's own database. If your job is "e-mail 5,000 advisers", buy one of those.
This Actor sells the regulatory filing. It is the only thing here that carries, for every firm, in one row:
| Field | Fill on 17,108 SEC-registered firms | Why a buyer pays for it |
|---|---|---|
aumTotal (Item 5.F.(2)(c)) | 97.9% | Segment the entire industry by AUM band; the single strongest RIA-buying signal there is |
totalEmployees, investmentAdviserReps (Item 5.A/5.B) | 100% | Headcount-based pricing and territory sizing |
totalClients + clientsByType (Item 5.D) | 97.4% | Retail vs institutional vs pooled-vehicle mix in 14 named client types |
compensationTypes (Item 5.E) | 100% | Fee-only, commission or performance-fee — decoded to plain English |
advisoryServices (Item 5.G) | 100% | The 12 advisory activities the firm actually reports doing |
hasCustody / custodyAssetsUsd (Item 9.A) | 50.0% / 53.4% | Custody status is the qualifying question for custodians and auditors |
hasDisclosure + the three flags (Item 11) | 11.8% flagged | Compliance screening and adviser due diligence |
registrationDate | 100% | New-registration triggers: 46 SEC-registered firms registered in the 7 days before this feed |
None of that exists on a contact list, and none of it exists on Google Maps or a firm's website. It exists because the SEC makes the firm file it, and it is refreshed nightly.
The honest flip side, up front: if you need a named human being's e-mail address, this Actor cannot give you one and no filter will make it appear. Use the sibling actors listed at the bottom of this page.
Quick start
- Open the Actor and click Try for free.
- Leave the input exactly as it is (
registrationType: "sec",maxItems: 100) — or pick states, an AUM band, or paste CRD numbers. - Click Start. The default run finishes in about 4 seconds.
- Open the Dataset tab, click Export, choose CSV, Excel, JSON or XML.
- Happy with the shape? Set Max results to
0and run it again for the whole 17,108-firm list (about $68).
No coding, no proxy setup, no SEC account.
Run it from code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("scrapersdelight/sec-adviser-scraper").call(run_input={"registrationType": "sec","states": ["NY", "CT", "NJ"],"minAum": 250_000_000,"maxAum": 5_000_000_000,"maxItems": 0,})for firm in client.dataset(run["defaultDatasetId"]).iterate_items():print(firm["firmName"], firm["aumTotal"], firm["phone"], firm["website"])
Node.js (npm i apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('scrapersdelight/sec-adviser-scraper').call({registrationType: 'both',withDisclosuresOnly: true,maxItems: 0,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'firms with an Item 11 disclosure');
cURL — run and get the rows back in one request (good for a handful of CRD lookups):
curl -X POST "https://api.apify.com/v2/acts/scrapersdelight~sec-adviser-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"registrationType":"both","crdNumbers":["105958","104559","110194"],"maxItems":0}'
What you get — one row per adviser firm
78 fields per row, grouped:
Identity — crdNumber (the regulator's unique firm id), secNumber (801-… registered, 802-… exempt reporting), firmName, legalName, iapdUrl (deep link to the firm's IAPD page).
Registration — registrationType (sec/state), firmType, isExemptReportingAdviser, registrationStatus, registrationDate, secRegion, umbrellaRegistration, noticeFiledStates[] (SEC feed), stateRegistrations[] with per-state status and date (state feed).
Contact — phone, fax, website, websites[], linkedinUrl, twitterUrl, facebookUrl, instagramUrl, youtubeUrl, otherSocialUrls[].
Address — address, address2, city, state, zip, country, plus the same six mailing* fields.
Entity — organizationType, organizedInState, organizedInCountry, fiscalYearEnd.
Size (Item 5.F) — aumTotal, aumDiscretionary, aumNonDiscretionary, aumNonUsClients, accountsTotal, accountsDiscretionary, accountsNonDiscretionary.
Headcount (Item 5.A/5.B) — totalEmployees, advisoryEmployees, brokerDealerReps, investmentAdviserReps, insuranceAgents, solicitors.
Clients (Item 5.C/5.D/5.H) — totalClients, clientsByType (14 named types), clientsWithoutRegulatoryAum, nonUsClientPercent, financialPlanningClientsRange.
Money and services (Item 5.E/5.G) — compensationTypes[], compensationOther, advisoryServices[], advisoryServicesOther.
Custody (Item 9) — hasCustody, custodyAssetsUsd, custodyClients, relatedPersonHasCustody.
Discipline (Item 11) — hasDisclosure, criminalDisclosure, regulatoryDisclosure, civilDisclosure, disclosureFlags[].
Provenance — hasWebsite, websiteReported, lastFilingDate, formVersion, sourceFeed, feedDate, scrapedAt.
Conventions, stated once: all dates are YYYY-MM-DD as filed with the regulator; scrapedAt is ISO-8601 UTC; all money fields are plain numbers in USD; null means the firm did not file that item, 0 means it filed a zero.
Field fill — measured on a full run of both feeds
Two tables, because the two feeds are genuinely different products. Plan against the one you are going to run.
| Field | SEC-registered (17,108) | State-registered (16,510) |
|---|---|---|
| Firm name, CRD number, IAPD link | 100% | 100% |
| Phone | 100% | 100% |
| Total employees | 100% | 99.8% |
| Fee structure (Item 5.E) | 100% | 100% |
| Advisory services (Item 5.G) | 100% | 100% |
| Registration date, last filing date | 100% | 100% |
| Regulatory AUM | 97.9% | 84.0% |
| Client count (Item 5.D) | 97.4% | 81.4% |
| Street address / city | 91.9% | 50.1% |
| ZIP | 91.4% | 50.0% |
| Website | 91.0% | 69.9% |
| SEC number | 100% | 11.1% |
| LinkedIn URL | 62.5% | 32.2% |
| Fax | 54.3% | 40.1% |
| Custody amount (Item 9.A) | 53.4% | 19.5% |
| Facebook / X / Instagram | 26.1% / 20.1% / 12.8% | 21.4% / 10.6% / 8.9% |
| Disciplinary flag (Item 11) | 11.8% flagged | 7.8% flagged |
The headline that could mislead you: this is a firm switchboard, not a direct dial. phone is 100% filled on both feeds because the SEC requires a main-office number — it is the number on the firm's Form ADV cover, not a named adviser's mobile.
Every run prints its own measured fill in the log, for exactly the rows it returned:
INFO Done: 17,108 adviser firms emitted from 23,740 scannedINFO Field fill in this result set — AUM 97.9% · website 91.0% · street address 91.9% · Item 11 disciplinary flag 11.8%INFO Combined regulatory AUM in this result set: $177,415.8B
Recipes
Named, copy-pasteable inputs for the jobs people actually run.
Recipe 1 — The whole SEC RIA list. 17,108 rows, about $68, under a minute.
{ "registrationType": "sec", "maxItems": 0 }
Recipe 2 — Mid-market wealth managers in the tri-state area. The classic wealthtech ICP: big enough to buy software, small enough to answer the phone.
{"registrationType": "sec","states": ["NY", "NJ", "CT"],"minAum": 250000000,"maxAum": 5000000000,"minEmployees": 5,"withWebsiteOnly": true,"maxItems": 0}
Recipe 3 — RIA M&A target list. Sub-$250M practices with a real website to research. maxAum alone leaves 19,224 firms across both feeds, of which 17,633 report AUM above zero; the headcount and website switches narrow it further.
{"registrationType": "both","maxAum": 250000000,"minEmployees": 2,"withWebsiteOnly": true,"maxItems": 0}
Recipe 4 — New registrations this month. 213 SEC-registered firms registered in the 30 days before the 2026-08-12 feed. Schedule it weekly and you have a trigger feed.
{ "registrationType": "both", "registeredAfter": "2026-07-14", "maxItems": 0 }
Recipe 5 — What changed since my last pull. 1,898 SEC-registered firms filed a Form ADV amendment in the 30 days before this feed.
{ "registrationType": "sec", "filedAfter": "2026-07-14", "maxItems": 0 }
Recipe 6 — Compliance screen. Every firm carrying an Item 11 disciplinary answer: 3,282 across both feeds.
{ "registrationType": "both", "withDisclosuresOnly": true, "maxItems": 0 }
Recipe 7 — Verify a list you already hold. Paste CRD numbers; the log tells you which ones were not found.
{"registrationType": "both","crdNumbers": ["105958", "104559", "110194", "132274"],"maxItems": 0}
Recipe 8 — Name search. 3,005 SEC-registered firms have "wealth" in their name; 56 have "fiduciary".
{ "registrationType": "sec", "firmNameQuery": "fiduciary", "maxItems": 0 }
Recipe 9 — Private-fund and VC managers. Adds the 6,632 exempt reporting advisers to the SEC list. Do not combine this with minAum or minEmployees: those filters require a reported number, and exempt reporting advisers report none, so any value would silently remove every one of them again.
{ "registrationType": "sec", "includeExemptReporting": true, "maxItems": 0 }
Sample row — a real SEC-registered firm
Pulled verbatim from a run against the 2026-08-12 feed, trimmed only of the mailing* fields (all null on this firm) and the empty client types.
{"crdNumber": "110194","secNumber": "801-55488","firmName": "WINCH FINANCIAL","legalName": "WINCH ADVISORY SERVICES, LLC","iapdUrl": "https://adviserinfo.sec.gov/firm/summary/110194","registrationType": "sec","firmType": "SEC Registered","isExemptReportingAdviser": false,"registrationStatus": "APPROVED","registrationDate": "1998-04-30","secRegion": "CHRO","umbrellaRegistration": false,"noticeFiledStates": ["CA", "LA", "MN", "NE", "WI", "TX", "FL"],"phone": "(920) 739-8577","fax": "(920) 954-5499","website": "http://www.winchfinancial.com","websites": ["http://www.winchfinancial.com"],"linkedinUrl": "https://www.linkedin.com/company/490256","facebookUrl": "https://www.facebook.com/WINCHFINANCIAL","instagramUrl": "https://www.instagram.com/WINCHFINANCIAL","twitterUrl": null,"address": "424 E. WISCONSIN AVENUE","city": "APPLETON","state": "WI","zip": "54911","country": "United States","organizationType": "Limited Liability Company","organizedInState": "WI","fiscalYearEnd": "DECEMBER","aumTotal": 580178144,"aumDiscretionary": 580178144,"aumNonDiscretionary": 0,"accountsTotal": 2323,"totalEmployees": 18,"advisoryEmployees": 17,"investmentAdviserReps": 7,"insuranceAgents": 3,"totalClients": 851,"clientsByType": { "individuals": 704, "highNetWorthIndividuals": 147 },"clientsWithoutRegulatoryAum": 1,"financialPlanningClientsRange": "More than 500","compensationTypes": ["A percentage of assets under management","Hourly charges","Fixed fees (other than subscription fees)"],"advisoryServices": ["Financial planning services","Portfolio management for individuals and/or small businesses","Portfolio management for businesses or institutional clients","Educational seminars/workshops"],"hasCustody": false,"custodyAssetsUsd": null,"hasDisclosure": false,"criminalDisclosure": false,"regulatoryDisclosure": false,"civilDisclosure": false,"disclosureFlags": [],"lastFilingDate": "2026-03-04","formVersion": "10/2021","sourceFeed": "IA_FIRM_SEC_Feed","feedDate": "2026-08-12","scrapedAt": "2026-08-13T02:01:19.870Z"}
And a state-registered firm, which is a different shape
Note stateRegistrations[] instead of noticeFiledStates[], and the per-state status — CONDREST on the Texas line is the regulator's own code for a conditional restriction.
{"crdNumber": "132274","secNumber": "801-69127","firmName": "TIMPE & TIMPE FINANCIAL ADVISORY SERVICES, L.L.C.","registrationType": "state","firmType": "State Registered","registrationStatus": "APPROVED","registrationDate": "2011-12-20","stateRegistrations": [{ "state": "FL", "status": "APPROVED", "date": "2021-03-29" },{ "state": "IL", "status": "APPROVED", "date": "2014-11-10" },{ "state": "IN", "status": "APPROVED", "date": "2012-01-03" },{ "state": "OH", "status": "APPROVED", "date": "2012-01-03" },{ "state": "TX", "status": "CONDREST", "date": "2011-12-20" }],"phone": "(317) 217-1660","website": "https://www.timpefas.com","linkedinUrl": "https://www.linkedin.com/IN/ARTTIMPE3/","address": "4801 NORTHWESTERN DRIVE","city": "ZIONSVILLE","state": "IN","zip": "46077","aumTotal": 61164051,"totalEmployees": 2,"totalClients": 133,"advisoryServices": ["Financial planning services","Portfolio management for individuals and/or small businesses"],"hasDisclosure": false,"lastFilingDate": "2026-04-07","sourceFeed": "IA_FIRM_STATE_Feed","feedDate": "2026-08-12"}
Fields people misread
aumTotalis regulatory AUM (Item 5.F.(2)(c)), the SEC's definition — not the marketing "assets under advisement" a firm puts on its website. It splits intoaumDiscretionary/aumNonDiscretionary.totalClientsis derived: the feed has no single "number of clients" field, so it is the sum of the 14 Item 5.D client-type counts.clientsByTypekeeps the breakdown.clientsWithoutRegulatoryAum(Item 5.C.(1)) is a different question — clients the firm advises but reports no AUM for, typically financial-planning-only clients.nullvs0:aumTotal: nullmeans the firm did not file Item 5.F at all (every exempt reporting adviser).aumTotal: 0means it filed a zero — 270 SEC-registered firms did.hasCustody(50.0% true on SEC-registered firms) is the Item 9.A yes/no;custodyAssetsUsdis filled on 53.4%, because the amount box is also completed by firms whose custody arises through a related person.disclosureFlagsholds the raw Item 11 question codes answered YES (e.g.Q11D2).criminalDisclosurerolls up 11.A/11.B,regulatoryDisclosure11.C–11.G,civilDisclosure11.H.websiteis the first non-social URL. Form ADV Item 1.I collects websites and social accounts in one list — 14,864 of the 23,740 SEC-feed records list more than one address — so LinkedIn/X/Facebook/Instagram/YouTube go to their own fields rather than polluting the website column.
Input
Every field ships with a default or a prefill, so a run with zero edits works. Fields appear here in the same order as the Console form.
| Field | Type | Default | What it does |
|---|---|---|---|
registrationType | select | "sec" | sec (17,108 firms, richest fields), state (16,510), or both (43,370 unique, deduplicated by CRD). both costs one extra 5.07 MB download; scanning every record in both feeds took 10.6 seconds end to end. |
includeExemptReporting | checkbox | false | Adds the 6,632 SEC + 5,293 state private-fund/VC managers that report no AUM, employees or clients. A firm requested by CRD is returned regardless. |
crdNumbers | stringList | [] | Paste CRD numbers to return only those firms — the verification path. Any format (104559, CRD #104559, 0104559). The log names every CRD it could not find. Only searches the feed you picked, so use both for lookups. |
firmNameQuery | textfield | "" | Case-insensitive substring on business or legal name. "wealth" → 3,005 SEC-registered firms, "fiduciary" → 56. |
states | multi-select | [] | Main-office states, 53 values with firm counts in the labels. Empty = nationwide. Address-less state-registered rows fall back to their state regulator, so a Texas state run returns 2,827 rows, not 712. |
minAum | number | (none) | Regulatory AUM floor in USD. 1000000000 leaves 5,389 firms across both feeds. Excludes every exempt reporting adviser, which report no AUM. |
maxAum | number | (none) | Regulatory AUM ceiling. 250000000 leaves 19,224 firms; 100000000 leaves 14,641. |
minEmployees | number | (none) | Item 5.A headcount floor. 6 removes about 39% of the SEC list (6,660 firms have ≤5 employees). |
withWebsiteOnly | checkbox | false | Keeps only firms with a real website (91.0% SEC / 69.9% state). Drops the 166 SEC-registered firms whose only web address is a social profile. |
withDisclosuresOnly | checkbox | false | Keeps only firms with ≥1 Item 11 disciplinary YES: 2,019 SEC-registered (11.8%), 1,292 state-registered (7.8%). |
registeredAfter | textfield | (none) | YYYY-MM-DD. New-registration trigger: 46 SEC-registered firms registered in the 7 days before the 2026-08-12 feed, 213 in 30 days, 477 in 90. A malformed date stops the run. |
filedAfter | textfield | (none) | YYYY-MM-DD. Last Form ADV filing on or after this date: 331 SEC-registered firms in 7 days, 1,898 in 30, 4,958 in 90. 17,026 filed within a year, so a 12-month window is not a filter. |
maxItems | number | 100 | Hard cap and hard cost cap: 100 = $0.40, 1,000 = $4, the whole SEC list ≈ $68. 0 = no cap. |
proxyConfiguration | proxy | (off) | Off on purpose — see the transport ladder below. Set it only if your account needs a fixed egress IP. |
Nothing is required. The prefilled input (registrationType: "sec", maxItems: 100) returns rows on its own in about 4 seconds.
Pricing
$0.004 per adviser firm returned — $4 per 1,000. Charged on the firm-scraped event. There is no monthly platform fee from this Actor and no charge for starting a run.
| Run | Firms | Cost |
|---|---|---|
| Default first click | 100 | $0.40 |
| One state, e.g. every SEC-registered firm in New York | 2,580 | $10.32 |
| Every firm carrying a disciplinary disclosure (both feeds) | 3,282 | $13.13 |
| The whole SEC-registered RIA list | 17,108 | ≈ $68 |
| Everything, both feeds, deduplicated | 43,370 | ≈ $173 |
What you are not charged for:
- Rows your filters removed. A
states: ["MT"]run reads all 23,740 SEC records and bills you for the 24 SEC-registered Montana firms it returns — $0.10. - The same firm twice. Records are deduplicated on CRD number before anything is pushed, so a
bothrun never bills you for the 2,173 firms that appear in both feeds. - Retries or downloads. The 7.25 MB feed download, the integrity checks and any re-download attempt are ours.
- Empty results. A run that matches nothing throws instead of quietly finishing, and throws before it pushes anything.
Rows are charged as they are pushed (Actor.pushData(items, 'firm-scraped')), so if you hit a budget cap you get whole rows and a stop, never a half-billed dataset. maxItems is your cost dial: it is the number of firms you can be charged for in that run.
Honest limits
- No individual advisers, and no e-mail addresses — for anyone. Form ADV Part 1A is a firm filing. The individual adviser records live in a separate IAPD feed that is not published in this bucket, and no part of this feed carries a personal e-mail address. If you need named people, use NAPFA Advisor Scraper (about 4,000 fee-only advisers with individual e-mail and phone) and join it to this one on the firm name.
- State-registered rows are half-addressed: 50.1% carry a street address, versus 91.9% for SEC-registered. If your workflow needs postal addresses, run
registrationType: "sec"and accept 17,108 firms instead of 33,334. - 2,273 SEC-registered firms publish no US state (
state: null) — mostly non-US head offices; 888 report a non-US country outright. Astatesfilter will never return them. Leavestatesempty if you want the full universe. websiteis 91.0% filled, and 11 of those 17,108 values still contain alinkedin.comstring — because the adviser typed a malformed URL into Form ADV (www.linkedin.company/…,wwwlinkedin.com, a tracking-gateway redirect). That is 0.06% of rows, it is the filer's typo rather than a parsing failure, and the value is passed through exactly as filed.- Exempt reporting advisers report nothing quantitative. 0.0% AUM, 0.0% employees, 0.0% clients across all 6,632 SEC records. They are excluded by default and no filter will fix them; they are in the feed for name, address, phone and Item 11 only.
- A disciplinary flag is an answer, not a story.
hasDisclosure: truemeans the firm answered YES to an Item 11 question. The narrative disclosure reporting pages (DRPs) behind that answer are not in this feed — open theiapdUrlto read them. Never publish "this firm has been disciplined" off the flag alone. - The data is as filed, and filings are annual. 17,026 of 17,108 SEC-registered firms filed something in the last year, but a firm's AUM is normally its most recent annual updating amendment, not today's number.
lastFilingDateis on every row so you can see for yourself. - Only the current week exists. The SEC's bucket keeps roughly the last 8 days (
IA_FIRM_SEC_Feed_08_03_2026already 403s), so there is no historical back-run. If you want history, schedule this Actor and keep your own snapshots. - US only. This is the US federal and state adviser registry. There is no UK, EU or Canadian equivalent in this feed.
- No login, no API key, no CAPTCHA solving service. The Actor reads one public government file. It does not authenticate to anything and there is nothing behind a login that it tries to reach.
How it works, and what was measured
- The compilation feed filename is dated (
IA_FIRM_SEC_Feed_MM_DD_YYYY.xml.gz) and the bucket keeps only about the last 8 days, so the Actor discovers the current file by HEAD-walking back from today rather than hardcoding a date. If it cannot find one in 12 days it stops with the list of URLs it tried. - It downloads the gzipped XML (7.25 MB compressed, 82.0 MB expanded for the SEC feed; 5.07 MB / 72.3 MB for the state feed) and proves the download is complete before parsing anything: gzip integrity, the closing
</IAPDFirmSECReport>root tag, and a record-count floor. A truncated regulator file is never emitted as a short-but-plausible dataset. - Each
<Firm>record is read straight off the decompressed buffer by byte offset — no DOM, no 160 MB string — and mapped from Form ADV attribute codes onto readable fields (Q5F2C→aumTotal,Q5G1→"Financial planning services"), deduplicated by CRD, filtered, and pushed in batches of 1,000.
Transport ladder — measured through Apify
| Rung | Result |
|---|---|
| Direct, no proxy | 15/15 HEAD (100%) + 2/2 full 7.25 MB GET, whole file in ~0.3 s |
| Apify Proxy, auto/datacenter | 14/15 (93%) — one 595 ECONNRESET; the full GET took 25 s |
| Apify Proxy, RESIDENTIAL | 14/15 (93%) — one Cloudflare 403 |
Cloudflare fronts the host but does not challenge a plain client. Proxying a public government bucket only adds a failure mode, so the proxy default is off — which is also the cheapest rung there is. The proxy input stays available for accounts that need a fixed egress IP.
Run time — measured 2026-08-12
| Run | Records scanned | Rows out | Wall clock |
|---|---|---|---|
Default (sec, maxItems: 100) | 160 | 100 | 3.0–4.0 s (three consecutive runs) |
| CRD lookup across both feeds | 45,543 | 4 | 10.6 s |
Whole SEC list (maxItems: 0) | 23,740 | 17,108 | 48 s in the reference run on the platform (58.6 s locally with every row written to disk) |
Memory is 2 GB by default, which is what the 82 MB expanded XML plus the parse needs.
Uniqueness and duplicates
Measured on complete feeds, not samples — every record in both files was keyed:
- Zero duplicate CRD numbers inside either feed. 23,740 SEC records → 23,740 unique keys. 21,803 state records → 21,803 unique keys. Zero records with a missing CRD.
- 2,173 firms appear in both feeds (277 of them registered rather than exempt-reporting), because a firm mid-transition between SEC and state registration files with both. In a
bothrun they are deduplicated on CRD before anything is pushed, so the dataset — and your bill — never holds the same firm twice. The run logs the count:WARN 2173 duplicate CRD records skipped. - Across runs, use
filedAfterorregisteredAfterrather than re-downloading: they are exact, because the registration and filing dates are ISO-formatted on 100% of records in both feeds (0 of 17,108 and 0 of 16,510 deviate).
When a run fails
This Actor is built to fail loudly rather than hand you a quiet, plausible, wrong dataset.
- Zero rows throws. The error names the feed, the number of records scanned and every filter that was active — e.g.
0 of 23,740 firms in the SEC feed matched your filters (firmNameQuery="zzzznotafirm" · includeExemptReporting=false)— plus the three reasons that are usually to blame. There is no "successful" empty run. - A truncated download throws. gzip integrity, root-tag closure and a record-count floor are all checked; the Actor retries up to four times and then refuses to emit a partial regulator dataset.
- A missing feed file throws with the list of dated URLs it tried, so you can see immediately whether the SEC renamed the file or the bucket is down.
- A malformed date throws before any download:
registeredAfter must be a date in YYYY-MM-DD form, e.g. "2026-01-01" — got "last week". - A CRD that does not exist does not fail the run — it is reported by number in the log, with the three reasons a CRD can be absent (registered with the other regulator, not an adviser firm, or withdrawn).
Who buys this
- Wealthtech and fintech vendors selling into RIAs — custodians, portfolio accounting, rebalancing, performance reporting, CRM, planning and billing software.
aumTotal+totalEmployees+advisoryServicesis a complete segmentation of the buying universe; the 5,720 firms in the $250M–$1B band are the classic mid-market ICP. - RIA M&A aggregators and advisor recruiters —
maxAumplusminEmployeesbuilds a sub-$250M independent-practice target list in one run (17,633 firms report AUM above zero and below $250M), andregistrationDatetells you how long the practice has existed. - Compliance, risk and due-diligence teams —
withDisclosuresOnlyreturns the 3,282 firms that answered YES to an Item 11 question, split into criminal / regulatory / civil, each with theiapdUrlto read the underlying DRPs. - Custodians and fund administrators —
hasCustodyandcustodyAssetsUsdare the qualifying questions, and they are on every row. - GTM and revenue-ops teams building trigger feeds —
registeredAfteron a weekly schedule is a "new RIA registered" alert (46 in the last 7 days of this feed), which is the moment a new firm buys its first tech stack. - Market researchers and financial journalists — AUM distribution, fee models, client-type mix and disciplinary rates by state, from the primary regulatory source with the filing date attached.
Which Actor should I use?
| Actor | What it is | Use it instead when |
|---|---|---|
| This one | 43,370 adviser firms with Form ADV financials | You need AUM, headcount, clients, fees, custody or disciplinary flags — or the whole universe |
| NAPFA Advisor Scraper | ~4,000 fee-only NAPFA advisers, individual people | You need a named adviser with an e-mail address and will trade universe size for it |
| SEC EDGAR Funding & Exec-Change Monitor | Form D raises and 8-K executive changes | You want the event, not the registry — funding and leadership triggers rather than adviser firmographics |
Honest one-liner: NAPFA is where you go for a person's e-mail; this is where you go for a firm's balance sheet.
Integrations
- Schedule it. Save a task with
registeredAfterorfiledAfterand attach a schedule —0 9 * * 1for Monday mornings. Each run then returns only what is new. - Google Sheets / Excel / CSV — the Dataset tab exports directly, and the overview view is pre-configured with firm name, CRD, phone, website, LinkedIn, city, state, AUM, employees, clients and the disclosure flag.
- Make, Zapier, n8n — trigger on a schedule, run the Actor, route the rows into your CRM. See Apify integrations.
- Webhooks — add an Apify webhook on
ACTOR.RUN.SUCCEEDEDto POST the dataset to your endpoint the moment a run finishes. - HubSpot / Salesforce / Postgres / BigQuery — the row is flat apart from
clientsByType,stateRegistrationsand the URL arrays, so it loads into a relational table without reshaping. - AI agents — the Actor is callable through the Apify MCP server, so an agent can answer "which RIAs in Colorado manage over $1B" without leaving the chat.
Comparison
| This Actor | Looking firms up on adviserinfo.sec.gov | Writing your own Form ADV parser | |
|---|---|---|---|
| Time to a full RIA list | Under a minute | Days of manual lookups | A day or two of work, then maintenance |
| Coverage | 43,370 firms in one run | One firm per search | Whatever you finish |
| AUM / clients / fees / custody | Every row | Buried in the PDF-like filing view | Requires decoding ~70 Form ADV attribute codes |
| Exempt reporting advisers | Identified and excluded by default | Mixed in with no warning | You will not notice until your AUM column is 28% empty |
| Truncated-download protection | gzip + root tag + record floor, retried 4× | n/a | Usually missing |
| Cost | $4 per 1,000 firms | Free, and unusable at scale | Your time |
FAQ
Does this need an account, an API key or a login? No. The SEC publishes the compilation feed as a public file. The Actor performs no authentication of any kind and reads nothing behind a login.
Can I get the whole RIA universe in one run?
Yes. {"registrationType": "both", "maxItems": 0} returns all 43,370 unique firms for about $173, or {"registrationType": "sec", "maxItems": 0} returns the 17,108 SEC-registered ones for about $68 in roughly a minute.
Does it include individual advisers or their e-mail addresses? No, and nothing in the input will make it. Form ADV Part 1A is a firm filing, and no e-mail address appears anywhere in it. The firm's main-office phone (100% filled) and website (91.0%) are the contact route here.
How fresh is the data?
The feed is compiled nightly and the Actor always fetches the newest file that exists — the reference run used IA_FIRM_SEC_Feed_08_12_2026, generated 2026-08-12, and feedDate is written onto every row. The filings inside it are as recent as each firm's last amendment: 1,898 SEC-registered firms filed within 30 days of that feed.
Do I get charged for rows my filters removed? No. You are billed per firm returned, on push. A narrow filter costs the Actor a download and costs you nothing.
Two runs — will I get duplicates?
Within a run, never: dedupe on CRD happens before anything is pushed, and there are zero duplicate CRDs inside either feed. Across runs, use filedAfter or registeredAfter to pull only what changed.
Can I look up specific firms instead of downloading everything?
Yes — paste CRD numbers into crdNumbers, or search a name with firmNameQuery. Use registrationType: "both" for lookups, since a CRD lookup only searches the feed you select. The log lists any CRD it could not find and why.
Does it need a proxy? No, and turning one on makes it slightly worse: 15/15 direct requests succeeded versus 14/15 through the datacenter proxy and 14/15 residential. The default is direct.
What is an "exempt reporting adviser" and why are they excluded?
Private-fund and VC managers that file only part of Form ADV. All 6,632 of them in the SEC feed report no AUM, no employees and no clients, so including them by default would put 28% empty rows in your export. Set includeExemptReporting: true if they are what you want.
Why is my state filter returning fewer firms than I expected? Two reasons, both measured: 2,273 SEC-registered firms publish no US state at all (mostly non-US offices), and half of the state-registered feed publishes no office address — those rows are matched by their state regulator instead, which is why Texas returns 2,827 state-registered rows rather than 712.
Will a run ever succeed with zero rows? No. A zero-row result throws an error naming the feed, the number of records scanned and every active filter. There is no quiet empty dataset.
Can I schedule it?
Yes. Save a task with registeredAfter or filedAfter and attach an Apify schedule; each run then returns only new registrations or fresh filings.
Something looks wrong — how do I debug it?
Every run prints the feed file it used, its byte counts, the record count, the completeness check, the number scanned versus emitted, and the measured field fill for exactly the rows you got. Compare a row against its iapdUrl — that is the same filing, rendered by the SEC.
Can I resell the data? It is public record published by a US federal agency, but you are responsible for your own compliance — see the legal note below.
Legal and fair use
- The Actor reads one public file published by the SEC/FINRA Investment Adviser Public Disclosure programme at
reports.adviserinfo.sec.gov, which exists to be downloaded in bulk. It does not log in, does not solve CAPTCHAs, does not touch paths any robots directive disallows, and collects nothing behind authentication. - Every field is data the adviser firm itself filed with a regulator on Form ADV and that the regulator publishes.
- Rows describe firms, not private individuals — but a sole-proprietor adviser's business address and phone can be their home address and mobile. Treat those rows accordingly.
- You are responsible for complying with IAPD's terms and with how you use this data — including CAN-SPAM, TCPA and state do-not-call rules for outreach, GDPR/CCPA where a row is personal data, and FINRA/SEC/state advertising and solicitation rules if you are a regulated firm yourself.
- A disciplinary flag is a YES answer to a Form ADV question. Read the underlying disclosure pages at the
iapdUrlbefore making any published claim about a firm. - This Actor is not affiliated with, endorsed by, or sponsored by the U.S. Securities and Exchange Commission, FINRA, or any state securities regulator.
Changelog
| Date | Change |
|---|---|
| 2026-08-12 | Added CRD-number lookup (crdNumbers), name search (firmNameQuery), and the recency filters registeredAfter / filedAfter. states is now a 53-value dropdown with firm counts. maxItems default lowered from 1,000 to 100 (a $0.40 first run) and 0 now means "no cap". All corpus numbers re-measured against the 2026-08-12 feeds, and the six both-run aggregates re-derived from an actual deduplicated run rather than by arithmetic. |
| 2026-08-12 | Verified against the live source: 23,740 SEC and 21,803 state records, 17,108 SEC-registered firms, $177.4tn combined AUM. |
Support
Found a missing field, want a new filter, or hit something odd? Open an issue on the Issues tab — feed-shape changes get fixed fast, because the SEC republishes this file every night.
If this saved you a day of work, a rating on the Store helps other people find it.
Keywords: SEC registered investment adviser list · RIA list · RIA database · Form ADV data · Form ADV scraper · IAPD scraper · adviserinfo.sec.gov · investment adviser registration · registered investment advisor leads · RIA leads · financial advisor firm list · wealth management firm database · RIA AUM data · assets under management by firm · CRD number lookup · SEC number lookup · 801 number · investment adviser CRD · RIA M&A target list · advisor recruiting data · RIA compliance screening · Form ADV Item 11 disclosures · disciplinary disclosure data · adviser custody data · state registered investment adviser · exempt reporting adviser list · private fund adviser list · new RIA registrations · RIA firmographics · wealthtech lead generation · custodian prospecting · financial services B2B data · investment adviser representatives · fee-only advisor list · advisory fee structure data · Form ADV Part 1A · IAPD compilation feed · SEC investment adviser API