Home / Developers / Form ADV API
API reference

Form ADV API

Investment adviser firms and their representatives from the SEC's adviser database: registration status, offices, other names, filings and brochure links for firms, and employment, exams and registrations for individuals. Product overview →

Endpoints

/v1/form-adv/firms

GEThttps://secfeedapi.com/v1/form-adv/firms

Investment adviser firms: search, or one firm by CRD with registration, offices, filings, brochures.

ParameterTypeDescriptionExample
querystringFirm name or part of it. Used when crd is not given.vanguard
crdintegerFirm CRD number; returns one firm in full.105958
fromintegerOffset for search results. Default 0.20
sizeintegerSearch results per page, up to 100. Default 20.20

/v1/form-adv/individuals

GEThttps://secfeedapi.com/v1/form-adv/individuals

Investment adviser representatives.

ParameterTypeDescriptionExample
querystringPerson's name.john smith
crdintegerIndividual CRD number.6808119
fromintegerOffset. Default 0.20
sizeintegerUp to 100. Default 20.20

Request examples

Every response below is real output from the API, trimmed to the first records.

One firm by CRD

registrationStatus shows where the firm is registered; brochures lists Part 2 brochures.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?crd=105958"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-adv/firms",
    params={'crd': '105958'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "basicInformation": {
    "firmId": 105958,
    "firmName": "VANGUARD GROUP INC",
    "otherNames": [
      "THE VANGUARD GROUP, INC.",
      "VANGUARD GROUP INC"
    ],
    "iaScope": "ACTIVE",
    "isIAFirm": "Y",
    "legacyReportStatus": "Not Requested",
    "advFilingDate": "09/21/2026",
    "hasPdf": "Y",
    "iaSECNumber": "11953",
    "iaSECNumberType": "801"
  },
  "iaFirmAddressDetails": {
    "officeAddress": {
      "street1": "100 VANGUARD BLVD",
      "city": "MALVERN",
      "state": "PA",
      "country": "United States",
      "postalCode": "19355"
    }
  },
  "accountantSurpriseExams": [],
  "compilationData": [
    {
      "editionID": 53265,
      "type": "IA_FIRM_SEC",
      "generatedOn": "10/9/2026"
    },
    {
      "editionID": 53266,
      "type": "IA_FIRM_STATE",
      "generatedOn": "10/9/2026"
    }
  ],
  "registrationStatus": [
    {
      "secJurisdiction": "SEC",
      "status": "Approved",
      "effectiveDate": "8/23/1976"
    }
  ],
  "noticeFilings": [],
  "exemptReportingAdvisers": [],
  "orgScopeStatusFlags": {
    "isSECRegistered": "Y",
    "isStateRegistered": "N",
    "isERARegistered": "N",
    "isSECERARegistered": "N",
    "isStateERARegistered": "N"
  },
  "brochures": {
    "part2ExemptFlag": "Y",
    "brochuredetails": []
  },
  "advPdf": "https://reports.adviserinfo.sec.gov/reports/ADV/105958/PDF/105958.pdf",
  "brochurePage": "https://adviserinfo.sec.gov/firm/brochure/105958"
  ...

Search firms by name

Search returns compact rows; use firm_source_id as the CRD for a full lookup.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?query=vanguard&size=2"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-adv/firms",
    params={'query': 'vanguard', 'size': '2'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "total": 22,
  "firms": [
    {
      "firm_source_id": "22081",
      "firm_bd_sec_number": "39450",
      "firm_bd_full_sec_number": "8-39450",
      "firm_ia_sec_number": "71971",
      "firm_ia_full_sec_number": "801-71971",
      "firm_name": "VANGUARD CAPITAL",
      "ia_firm_name": "VANGUARD CAPITAL",
      "firm_other_names": [
        "VANGUARD CAPITAL"
      ],
      "firm_scope": "INACTIVE",
      "firm_ia_scope": "INACTIVE",
      "firm_disclosure_fl": "Y",
      "firm_ia_disclosure_fl": "Y",
      "firm_approved_finra_registration_count": 0,
      "firm_branches_count": 0,
      "firm_ia_address_details": {
        "officeAddress": {
          "city": "DEL MAR",
          "state": "CA",
          "country": "United States"
        }
      }
    },
    {
      "firm_source_id": "285052",
      "firm_ia_sec_number": "108419",
      "firm_ia_full_sec_number": "801-108419",
      "firm_name": "VANGUARD CAPITAL",
      "firm_other_names": [
        "VANGUARD CAPITAL",
        "VANGUARD CAPITAL WEALTH ADVISORS, LLC"
      ],
      "firm_ia_scope": "ACTIVE",
      "firm_ia_disclosure_fl": "Y",
      "firm_branches_count": 7,
      "firm_ia_address_details": {
        "officeAddress": {
          "street1": "999 18 ST SUITE 3000",
          "city": "DENVER",
          "state": "CO",
          "country": "United States",
          "postalCode": "80202"
        }
      }
    }
  ]
}

One individual by CRD

Exams, state and SRO registrations, employment and disclosure flags.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/individuals?crd=6808119"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-adv/individuals",
    params={'crd': '6808119'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "basicInformation": {
    "individualId": 6808119,
    "firstName": "John",
    "middleName": "Morgan",
    "lastName": "Smith",
    "otherNames": [
      "John M Smith",
      "John  Smith"
    ],
    "bcScope": "Active",
    "iaScope": "NotInScope"
  },
  "currentEmployments": [],
  "currentIAEmployments": [],
  "previousEmployments": [],
  "previousIAEmployments": [],
  "disclosureFlag": "N",
  "iaDisclosureFlag": "N",
  "disclosures": [],
  "iaDisclosures": [],
  "examsCount": {
    "stateExamCount": 2,
    "principalExamCount": 0,
    "productExamCount": 2
  },
  "stateExamCategory": [
    {
      "examCategory": "Series 65",
      "examName": "Uniform Investment Adviser Law Examination",
      "examTakenDate": "9/21/2017",
      "examScope": "IA"
    },
    {
      "examCategory": "Series 63",
      "examName": "Uniform Securities Agent State Law Examination",
      "examTakenDate": "8/12/2017",
      "examScope": "BC"
    }
  ],
  "principalExamCategory": [],
  "productExamCategory": [
    {
      "examCategory": "SIE",
      "examName": "Securities Industry Essentials Examination",
      "examTakenDate": "10/1/2018",
      "examScope": "BC"
    },
    {
      "examCategory": "Series 7",
      "examName": "General Securities Representative Examination",
      "examTakenDate": "7/19/2017",
      "examScope": "BC"
    }
  ],
  "registrationCount": {
    "hasInactiveRegistration": "N",
    "hasSuspendedRegistration": "N",
    "approvedSRORegistrationCount": 1,
    "approvedFinraRegistrationCount": 1,
  ...

Response fields

FieldTypeMeaning
basicInformation.firmId / firmName / otherNames[]mixedFirm by CRD: CRD and names.
basicInformation.iaScope / isIAFirm / advFilingDate / iaSECNumberstringFirm by CRD: adviser status, latest ADV filing date, SEC number.
iaFirmAddressDetails.officeAddressobjectFirm by CRD: main office address.
registrationStatus[].secJurisdiction / status / effectiveDatestringFirm by CRD: registrations.
orgScopeStatusFlags.*stringFirm by CRD: SEC, state and exempt reporting adviser flags.
noticeFilings[] / exemptReportingAdvisers[] / accountantSurpriseExams[]arrayFirm by CRD: state notice filings and related records.
brochures.brochuredetails[]arrayFirm by CRD: Part 2 brochures.
advPdf / brochurePagestringFirm by CRD: links to the ADV report PDF and brochure page.
totalintegerSearch: matching firms or people.
firms[].firm_source_id / firm_name / ia_firm_name / firm_other_names[]mixedFirm search: CRD and names.
firms[].firm_ia_scope / firm_scope / firm_ia_sec_number / firm_bd_sec_numberstringFirm search: status and SEC numbers.
firms[].firm_ia_address_details.officeAddressobjectFirm search: office address.
individuals[].ind_source_id / ind_firstname / ind_lastname / ind_other_names[]mixedIndividual search: CRD and names.
individuals[].ind_ia_current_employments[]arrayIndividual search: current firms and branch locations.
basicInformation.individualId / firstName / lastName / bcScope / iaScopemixedIndividual by CRD: identity and status.
currentEmployments[] / previousEmployments[]arrayIndividual by CRD: employment history.
disclosureFlag / disclosures[]mixedIndividual by CRD: disciplinary and other disclosures.
stateExamCategory[] / productExamCategory[] / principalExamCategory[]arrayIndividual by CRD: exams passed with dates.
registeredStates[] / registeredSROs[]arrayIndividual by CRD: state and SRO registrations.

How to

How do I get the next page of a firm search?

Use from.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?query=vanguard&size=2&from=2"
How do I search people?

Use the individuals endpoint with query.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/individuals?query=john%2520smith&size=2"
Where is the firm's Form ADV PDF?

advPdf in the CRD lookup.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?crd=105958"
How do I check if a firm is SEC registered?

orgScopeStatusFlags.isSECRegistered is Y.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?crd=105958"
How do I check a person's exams?

Look at the exam category lists in the CRD lookup.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/individuals?crd=6808119"
How do I check for disclosures?

disclosureFlag and iaDisclosureFlag are Y when there are any.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/individuals?crd=6808119"
How do I find the CRD from a search?

firm_source_id (firms) or ind_source_id (people).

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?query=vanguard&size=2"
Are inactive firms included?

Yes; firm_ia_scope shows ACTIVE or INACTIVE.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-adv/firms?query=vanguard&size=2"

Try it with your own key

500 free calls a month.

Get free API key →