SEC Investment Adviser Scraper — RIA Firm Leads & Form ADV avatar

SEC Investment Adviser Scraper — RIA Firm Leads & Form ADV

Pricing

$4.00 / 1,000 per adviser firm returneds

Go to Apify Store
SEC Investment Adviser Scraper — RIA Firm Leads & Form ADV

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

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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.

SetFirmsWhat they are
SEC-registered advisers17,108The classic RIA list. Full Form ADV Part 1A: AUM, employees, clients, fees, custody, discipline.
State-registered advisers16,510Smaller, local advisers regulated by their state, not the SEC.
Both feeds, deduplicated by CRD43,3702,173 firms appear in both feeds and are emitted once.
Exempt reporting advisers6,632 SEC + 5,293 statePrivate-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 AUMFirmsShare
Under $25M6383.8%
$25M – $100M7604.5%
$100M – $250M4,25025.4%
$250M – $1B5,72034.1%
$1B – $10B4,02324.0%
$10B – $100B1,1056.6%
$100B or more2611.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:

#FirmCRDStateRegulatory AUMEmployees
1VANGUARD GROUP INC105958PA$11.09tn1,702
2VANGUARD CAPITAL MANAGEMENT, LLC338002PA$8.44tn235
3FIDELITY MANAGEMENT & RESEARCH COMPANY LLC108281MA$5.69tn1,427
4BLACKROCK FUND ADVISORS105247CA$4.28tn128
5CAPITAL RESEARCH AND MANAGEMENT COMPANY110885CA$3.75tn1,417
6PACIFIC INVESTMENT MANAGEMENT COMPANY LLC104559CA$3.67tn1,968
7J.P. MORGAN INVESTMENT MANAGEMENT INC.107038NY$3.52tn3,194
8VANGUARD PORTFOLIO MANAGEMENT, LLC338003PA$2.66tn105
9GOLDMAN SACHS ASSET MANAGEMENT, L.P.107738NY$2.65tn2,059
10T. ROWE PRICE ASSOCIATES, INC.105496MD$2.20tn3,760
11MORGAN STANLEY149777NY$1.96tn29,481
12MERRILL LYNCH, PIERCE, FENNER & SMITH INCORPORATED7691NY$1.78tn32,960
13GEODE CAPITAL MANAGEMENT, LLC115504MA$1.74tn194
14CHARLES SCHWAB INVESTMENT MANAGEMENT, INC106753CA$1.72tn946
15BLACKROCK FINANCIAL MANAGEMENT, INC107105NY$1.60tn7,987
16WELLINGTON MANAGEMENT COMPANY LLP106595MA$1.43tn1,868
17SSGA FUNDS MANAGEMENT, INC.111242MA$1.42tn241
18STRATEGIC ADVISERS LLC104555MA$1.37tn17,112
19NORTHERN TRUST INVESTMENTS, INCORPORATED105780IL$1.25tn662
20CAPTRUST175112NC$1.24tn1,841
21PGIM, INC.105676NJ$1.13tn1,990
22BLACKROCK ADVISORS, LLC106614NY$1.10tn146
23DIMENSIONAL FUND ADVISORS LP106482TX$1.02tn1,168
24EDWARD JONES250MO$1.01tn36,317
25MANAGED ACCOUNT ADVISORS LLC142558NJ$0.99tn61

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.

  1. "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 why includeExemptReporting defaults to false and the default run gives you the 17,108 firms that actually carry the fields you are paying for.
  2. 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.
  3. 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.
  4. Values are as filed, not as of today. AUM and client counts come from the firm's most recent annual updating amendment. lastFilingDate tells you exactly how stale that is, and filedAfter lets you keep only fresh ones.
  5. 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:

FieldFill on 17,108 SEC-registered firmsWhy 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% flaggedCompliance screening and adviser due diligence
registrationDate100%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

  1. Open the Actor and click Try for free.
  2. Leave the input exactly as it is (registrationType: "sec", maxItems: 100) — or pick states, an AUM band, or paste CRD numbers.
  3. Click Start. The default run finishes in about 4 seconds.
  4. Open the Dataset tab, click Export, choose CSV, Excel, JSON or XML.
  5. Happy with the shape? Set Max results to 0 and 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 ApifyClient
client = 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:

IdentitycrdNumber (the regulator's unique firm id), secNumber (801-… registered, 802-… exempt reporting), firmName, legalName, iapdUrl (deep link to the firm's IAPD page).

RegistrationregistrationType (sec/state), firmType, isExemptReportingAdviser, registrationStatus, registrationDate, secRegion, umbrellaRegistration, noticeFiledStates[] (SEC feed), stateRegistrations[] with per-state status and date (state feed).

Contactphone, fax, website, websites[], linkedinUrl, twitterUrl, facebookUrl, instagramUrl, youtubeUrl, otherSocialUrls[].

Addressaddress, address2, city, state, zip, country, plus the same six mailing* fields.

EntityorganizationType, 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[].

ProvenancehasWebsite, 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.

FieldSEC-registered (17,108)State-registered (16,510)
Firm name, CRD number, IAPD link100%100%
Phone100%100%
Total employees100%99.8%
Fee structure (Item 5.E)100%100%
Advisory services (Item 5.G)100%100%
Registration date, last filing date100%100%
Regulatory AUM97.9%84.0%
Client count (Item 5.D)97.4%81.4%
Street address / city91.9%50.1%
ZIP91.4%50.0%
Website91.0%69.9%
SEC number100%11.1%
LinkedIn URL62.5%32.2%
Fax54.3%40.1%
Custody amount (Item 9.A)53.4%19.5%
Facebook / X / Instagram26.1% / 20.1% / 12.8%21.4% / 10.6% / 8.9%
Disciplinary flag (Item 11)11.8% flagged7.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 scanned
INFO Field fill in this result setAUM 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

  • aumTotal is 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 into aumDiscretionary / aumNonDiscretionary.
  • totalClients is derived: the feed has no single "number of clients" field, so it is the sum of the 14 Item 5.D client-type counts. clientsByType keeps 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.
  • null vs 0: aumTotal: null means the firm did not file Item 5.F at all (every exempt reporting adviser). aumTotal: 0 means it filed a zero — 270 SEC-registered firms did.
  • hasCustody (50.0% true on SEC-registered firms) is the Item 9.A yes/no; custodyAssetsUsd is filled on 53.4%, because the amount box is also completed by firms whose custody arises through a related person.
  • disclosureFlags holds the raw Item 11 question codes answered YES (e.g. Q11D2). criminalDisclosure rolls up 11.A/11.B, regulatoryDisclosure 11.C–11.G, civilDisclosure 11.H.
  • website is 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.

FieldTypeDefaultWhat it does
registrationTypeselect"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.
includeExemptReportingcheckboxfalseAdds 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.
crdNumbersstringList[]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.
firmNameQuerytextfield""Case-insensitive substring on business or legal name. "wealth" → 3,005 SEC-registered firms, "fiduciary" → 56.
statesmulti-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.
minAumnumber(none)Regulatory AUM floor in USD. 1000000000 leaves 5,389 firms across both feeds. Excludes every exempt reporting adviser, which report no AUM.
maxAumnumber(none)Regulatory AUM ceiling. 250000000 leaves 19,224 firms; 100000000 leaves 14,641.
minEmployeesnumber(none)Item 5.A headcount floor. 6 removes about 39% of the SEC list (6,660 firms have ≤5 employees).
withWebsiteOnlycheckboxfalseKeeps 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.
withDisclosuresOnlycheckboxfalseKeeps only firms with ≥1 Item 11 disciplinary YES: 2,019 SEC-registered (11.8%), 1,292 state-registered (7.8%).
registeredAftertextfield(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.
filedAftertextfield(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.
maxItemsnumber100Hard cap and hard cost cap: 100 = $0.40, 1,000 = $4, the whole SEC list ≈ $68. 0 = no cap.
proxyConfigurationproxy(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.

RunFirmsCost
Default first click100$0.40
One state, e.g. every SEC-registered firm in New York2,580$10.32
Every firm carrying a disciplinary disclosure (both feeds)3,282$13.13
The whole SEC-registered RIA list17,108≈ $68
Everything, both feeds, deduplicated43,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 both run 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. A states filter will never return them. Leave states empty if you want the full universe.
  • website is 91.0% filled, and 11 of those 17,108 values still contain a linkedin.com string — 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: true means the firm answered YES to an Item 11 question. The narrative disclosure reporting pages (DRPs) behind that answer are not in this feed — open the iapdUrl to 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. lastFilingDate is 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_2026 already 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

  1. 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.
  2. 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.
  3. 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 (Q5F2CaumTotal, Q5G1"Financial planning services"), deduplicated by CRD, filtered, and pushed in batches of 1,000.

Transport ladder — measured through Apify

RungResult
Direct, no proxy15/15 HEAD (100%) + 2/2 full 7.25 MB GET, whole file in ~0.3 s
Apify Proxy, auto/datacenter14/15 (93%) — one 595 ECONNRESET; the full GET took 25 s
Apify Proxy, RESIDENTIAL14/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

RunRecords scannedRows outWall clock
Default (sec, maxItems: 100)1601003.0–4.0 s (three consecutive runs)
CRD lookup across both feeds45,543410.6 s
Whole SEC list (maxItems: 0)23,74017,10848 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 both run 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 filedAfter or registeredAfter rather 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 + advisoryServices is 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 recruitersmaxAum plus minEmployees builds a sub-$250M independent-practice target list in one run (17,633 firms report AUM above zero and below $250M), and registrationDate tells you how long the practice has existed.
  • Compliance, risk and due-diligence teamswithDisclosuresOnly returns the 3,282 firms that answered YES to an Item 11 question, split into criminal / regulatory / civil, each with the iapdUrl to read the underlying DRPs.
  • Custodians and fund administratorshasCustody and custodyAssetsUsd are the qualifying questions, and they are on every row.
  • GTM and revenue-ops teams building trigger feedsregisteredAfter on 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?

ActorWhat it isUse it instead when
This one43,370 adviser firms with Form ADV financialsYou need AUM, headcount, clients, fees, custody or disciplinary flags — or the whole universe
NAPFA Advisor Scraper~4,000 fee-only NAPFA advisers, individual peopleYou need a named adviser with an e-mail address and will trade universe size for it
SEC EDGAR Funding & Exec-Change MonitorForm D raises and 8-K executive changesYou 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 registeredAfter or filedAfter and attach a schedule0 9 * * 1 for 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.SUCCEEDED to POST the dataset to your endpoint the moment a run finishes.
  • HubSpot / Salesforce / Postgres / BigQuery — the row is flat apart from clientsByType, stateRegistrations and 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 ActorLooking firms up on adviserinfo.sec.govWriting your own Form ADV parser
Time to a full RIA listUnder a minuteDays of manual lookupsA day or two of work, then maintenance
Coverage43,370 firms in one runOne firm per searchWhatever you finish
AUM / clients / fees / custodyEvery rowBuried in the PDF-like filing viewRequires decoding ~70 Form ADV attribute codes
Exempt reporting advisersIdentified and excluded by defaultMixed in with no warningYou will not notice until your AUM column is 28% empty
Truncated-download protectiongzip + root tag + record floor, retried 4×n/aUsually missing
Cost$4 per 1,000 firmsFree, and unusable at scaleYour 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.


  • 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 iapdUrl before 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

DateChange
2026-08-12Added 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-12Verified 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