SEC IAPD Investment Adviser Disclosure Scraper
Pricing
from $3.00 / 1,000 results
SEC IAPD Investment Adviser Disclosure Scraper
Search the SEC's Investment Adviser Public Disclosure (IAPD) database by firm/individual name, browse by U.S. state, or look up by CRD number. Get registration status, addresses, Form ADV data, brochures, and disciplinary disclosures. No login required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape the SEC's Investment Adviser Public Disclosure (IAPD) database — the public, Dodd-Frank-mandated record of every SEC- and state-registered investment adviser firm and individual in the United States. Search by name, employer, or CRD number; browse by state; filter by registration type (Investment Adviser / Broker-Dealer / Dual) or disciplinary status (Expelled/Barred); and pull a full disclosure record with registration history, Form ADV filing data, brochures, exam history, and disciplinary/regulatory disclosure history. No login, no API key, no proxy.
What this actor does
- Five modes:
searchFirms,searchIndividuals,browseByState,firmByCrd,individualByCrd - Firm records — registration status/type (SEC/state, RIA vs Broker-Dealer vs Dual), legal entity type, formation state/date, SEC district office, office address, Form ADV filing date, brochure (Part 2) download links, notice-filing jurisdictions, exempt-reporting-adviser flag
- Individual records — current & previous employments (with branch address), registered states (with scope/status/date), registered SROs, full exam history (Series 65/63/7/etc. with dates), years of industry experience, and structured disciplinary disclosure events (event date, type, resolution, disposition)
- Filters: registration type (Investment Adviser / Broker-Dealer / Dual-registered), employer-firm filter (individuals), active-only registration status, disclosure-only, and expelled/barred-only (the SEC/FINRA's strongest disciplinary designation)
- Empty fields are omitted — every record only contains data that's actually on file
Output per record
Firms (entityType: "firm"):
crdNumber,name,otherNames[]iaSecNumber,bdSecNumber,registrationType(investmentAdviser/brokerDealer/dual)registrationStatus(e.g.ACTIVE),advFilingDatestreet1,street2,city,state,postalCode,countrybranchesCount,finraRegistrationCountfirmStatus,firmStatusDate,legalEntityType,formedState,formedDate,secDistrict,brokerCheckScope,finraRegistered— full lookups onlyregistrationHistory[](jurisdiction, status, effective date) — full lookups onlynoticeFilings[](state notice-filing jurisdictions) — full lookups onlyisSecRegistered,isStateRegistered,isExemptReportingAdviser— full lookups onlybrochures[](name, date submitted, PDF download URL) — full lookups onlyhasDisclosure,fullReportUrl(official SEC PDF disclosure report)sourceUrl,recordType: "firm",scrapedAt
Individuals (entityType: "individual"):
crdNumber,firstName,middleName,lastName,name,otherNames[]—middleName/otherNamesfrom search modesbrokerCheckScope,adviserScope,hasDisclosureexperienceYears(years in the industry),finraRegistrationCount,employmentsCount— search modes onlycurrentEmployments[](firm name/ID, branch city/state/zip; full lookups additionally include street address and broker/adviser scope)previousEmployments[](firm name/ID, city/state, start/end dates) — full lookups onlydisclosures[](event date, disclosure type, resolution, disposition, comment) — full lookups onlyregisteredStates[](state, scope, status, registered date),registeredSROs[](e.g. FINRA, with registration categories) — full lookups onlyregistrationCounts(SRO/FINRA/state/IA-state approved-registration tallies, inactive/suspended flags) — full lookups onlyexamHistory[](exam category, name, date taken, scope — e.g. Series 65/63/7),examsCount— full lookups onlysourceUrl,recordType: "individual",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | searchFirms | searchFirms / searchIndividuals / browseByState / firmByCrd / individualByCrd |
searchQuery | string | Vanguard | Firm/individual name — required for searchFirms/searchIndividuals; ignored for browseByState (pure state browse) and CRD lookups |
state | string | – | Two-letter U.S. state code, all 50 states + DC + territories (required for browseByState; optional filter on search modes) |
entityType | string | firm | firm or individual (mode=browseByState) |
firmType | string | Any | Restrict firms to investmentAdviser (RIA) / brokerDealer / dual (mode=searchFirms/browseByState with entityType=firm) |
individualType | string | Any | Restrict individuals to investmentAdviserRep / brokerRep / dual (mode=searchIndividuals/browseByState with entityType=individual) |
employerFirm | string | – | Only return individuals currently employed by a firm matching this name or CRD (mode=searchIndividuals/browseByState with entityType=individual) |
crdNumbers | array | – | CRD numbers to look up (mode=firmByCrd/individualByCrd) |
includeInactive | boolean | true | When off, drops non-ACTIVE registrations |
disclosureOnly | boolean | false | When on, only emits records flagged with a disciplinary disclosure |
expelledOrBarredOnly | boolean | false | When on, only emits firms with Expelled status or individuals with Barred status — search modes only |
maxItems | integer | 20 | Hard cap on emitted records (1–2000) |
Example: search firms by name
{ "mode": "searchFirms", "searchQuery": "Vanguard", "maxItems": 25 }
Example: browse all active advisers registered in Wyoming
{ "mode": "browseByState", "entityType": "firm", "state": "WY", "includeInactive": false }
Example: full disclosure record by CRD
{ "mode": "firmByCrd", "crdNumbers": ["105958", "285052"] }
Example: individuals with disciplinary history
{ "mode": "searchIndividuals", "searchQuery": "Smith", "disclosureOnly": true }
Example: only pure Registered Investment Adviser firms (exclude broker-dealers)
{ "mode": "searchFirms", "searchQuery": "Capital", "firmType": "investmentAdviser", "maxItems": 25 }
Example: individuals currently employed by a specific firm
{ "mode": "searchIndividuals", "searchQuery": "Smith", "employerFirm": "Vanguard", "maxItems": 25 }
Example: expelled firms / barred individuals (strongest disciplinary flag)
{ "mode": "searchFirms", "searchQuery": "Capital", "expelledOrBarredOnly": true, "maxItems": 25 }
Use cases
- Due diligence — verify an adviser's registration status, type, and disciplinary history before doing business
- Compliance monitoring — track registration changes and new disclosures for a watchlist of firms
- Fintech / robo-advisor vetting — confirm SEC registration, entity type, and filing recency
- Journalism & research — bulk-analyze disciplinary actions, expulsions, and bars by state or firm
- RIA recruiting / M&A — screen firms by registration scope, type, and branch footprint; find individuals by current employer
- Background checks — pull an adviser's exam history and years of industry experience
FAQ
What's IAPD? The SEC's Investment Adviser Public Disclosure system — the public face of Form ADV data that every registered investment adviser firm and its associated individuals must file. It's the same regulatory family as FINRA BrokerCheck, mandated to be freely and publicly searchable.
What's a CRD number? The Central Registration Depository number — a unique ID assigned to every registered firm and individual across the FINRA/SEC/NASAA regulatory ecosystem.
What's the difference between firmType/individualType and registrationType in the output? firmType/individualType are input filters (applied by the SEC's own search API) that restrict which records come back. registrationType in the output is a lightweight per-record classification derived from which SEC number(s) a firm has on file, so results are self-describing without a separate lookup. The two usually agree; on the rare firm registered as an adviser only at the state level (no SEC number issued), registrationType may read brokerDealer even though the dual filter matched it — a quirk of state-only IA registrations, not a bug.
What counts as "Expelled" or "Barred"? These are the SEC/FINRA's most severe registration outcomes — a firm's registration permanently revoked (Expelled) or an individual permanently prohibited from the industry (Barred). expelledOrBarredOnly surfaces only these records.
Why do full lookups (firmByCrd/individualByCrd) return more fields than search modes? The name-search endpoint returns a lightweight summary record; the CRD-based endpoint returns the full disclosure record (registration history, brochures, disciplinary events, exam history). Use search to discover CRD numbers, then look up the CRD for the full picture.
Why don't firm records include structured disciplinary-event details like individuals do? The SEC only publishes firm-level disciplinary/regulatory events as part of the official PDF disclosure report (linked via fullReportUrl), not as structured JSON — this is a limitation of the underlying SEC data, not the actor. The hasDisclosure flag and the direct PDF link are provided so the record isn't silently missing this signal.
Is this data official? Yes — sourced live from api.adviserinfo.sec.gov, the API backing the SEC's own adviserinfo.sec.gov site.
How fresh is the data? Real-time — every request hits the live SEC API.