Home / Guides / Advisers
Advisers

Look up an investment adviser's Form ADV

Search investment advisers by name, then pull a firm's Form ADV registration, state notice filings, brochures and the full ADV PDF by CRD number.

Investment advisers register with the SEC or with their states by filing Form ADV. Part 1 covers the business: ownership, clients, assets under management, disciplinary history. Part 2 is the brochure written for clients. The SEC publishes all of it on the Investment Adviser Public Disclosure (IAPD) site, keyed by the firm's CRD number.

SecFeed's Form ADV API wraps IAPD in two calls: search by name, then fetch the firm by CRD.

Search for a firm

GET /v1/form-adv/firms?query=... returns matching firms with their CRD (firm_source_id), SEC file number and scope.

import os
import requests

BASE = "https://secfeedapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}

r = requests.get(f"{BASE}/v1/form-adv/firms", params={"query": "dodge & cox"}, headers=HEADERS, timeout=60)
r.raise_for_status()
for f in r.json()["firms"]:
    addr = f.get("firm_ia_address_details", {}).get("officeAddress", {})
    print(f["firm_source_id"], f["firm_name"], f.get("firm_ia_full_sec_number"), f.get("firm_ia_scope"), addr.get("city"), addr.get("state"))

Output:

104596 DODGE & COX 801-1895 ACTIVE SAN FRANCISCO CA

firm_ia_scope is ACTIVE for a current registration. Search results include inactive and broker-dealer records too, so check the scope before you pick a CRD.

Fetch the firm by CRD

GET /v1/form-adv/firms?crd=104596 returns the full profile.

import os
import requests

BASE = "https://secfeedapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}

r = requests.get(f"{BASE}/v1/form-adv/firms", params={"crd": "104596"}, headers=HEADERS, timeout=60)
r.raise_for_status()
firm = r.json()
info = firm["basicInformation"]
print(info["firmName"], "| CRD", info["firmId"], "| SEC file", f"{info['iaSECNumberType']}-{info['iaSECNumber']}")
print("Status:", info["iaScope"], "| latest Form ADV filed:", info["advFilingDate"])
print("SEC registered:", firm["orgScopeStatusFlags"]["isSECRegistered"], "| state registered:", firm["orgScopeStatusFlags"]["isStateRegistered"])
for reg in firm["registrationStatus"]:
    print("Registration:", reg["secJurisdiction"], reg["status"], "since", reg["effectiveDate"])
states = [n["jurisdiction"] for n in firm["noticeFilings"] if n["status"] == "Notice Filed"]
print(f"Notice filings in {len(states)} jurisdictions, e.g. {', '.join(states[:5])}")
for b in firm["brochures"]["brochuredetails"]:
    print("Brochure:", b["brochureName"], "submitted", b["dateSubmitted"])
print("Full Form ADV PDF:", firm["advPdf"])

Output:

DODGE & COX | CRD 104596 | SEC file 801-1895
Status: ACTIVE | latest Form ADV filed: 04/17/2026
SEC registered: Y | state registered: N
Registration: SEC Approved since 3/14/1959
Notice filings in 42 jurisdictions, e.g. Arizona, Arkansas, California, Colorado, Connecticut
Brochure: DODGE & COX BROCHURE submitted 4/17/2026
Full Form ADV PDF: https://reports.adviserinfo.sec.gov/reports/ADV/104596/PDF/104596.pdf

What the profile contains

  • basicInformation: name, CRD, SEC file number (801-), scope and the date of the latest Form ADV filing
  • registrationStatus: SEC or state registration and its effective date
  • noticeFilings: the states where an SEC-registered adviser has made a notice filing
  • orgScopeStatusFlags: SEC registered, state registered, exempt reporting adviser
  • brochures: Part 2A brochures with submission dates; brochurePage links to them
  • advPdf: the complete Form ADV as a PDF

The PDF holds the Part 1 answers, including regulatory assets under management, number of accounts, client types and compensation arrangements. Download it with /v1/download?url=... or open the link directly.

Connect advisers to their filings

The same firm often files on EDGAR too. Dodge & Cox reports its 13F under CIK 200217, and its 13F cover page carries the CRD (crdNumber) and SEC file number (801-1895) shown above. That link lets you join Form ADV registration data to 13F holdings.

Next steps

More advisers guides

Run this guide with your own key

500 free API calls a month. Every example on this page works on the free plan.

Get free API key →