Endpoints
/v1/form-adv/firms
https://secfeedapi.com/v1/form-adv/firmsInvestment adviser firms: search, or one firm by CRD with registration, offices, filings, brochures.
| Parameter | Type | Description | Example |
|---|---|---|---|
query | string | Firm name or part of it. Used when crd is not given. | vanguard |
crd | integer | Firm CRD number; returns one firm in full. | 105958 |
from | integer | Offset for search results. Default 0. | 20 |
size | integer | Search results per page, up to 100. Default 20. | 20 |
- Search results use a compact shape (firm_* fields); a crd lookup returns the full profile.
- advPdf and brochurePage link to the firm's Form ADV report and brochures.
/v1/form-adv/individuals
https://secfeedapi.com/v1/form-adv/individualsInvestment adviser representatives.
| Parameter | Type | Description | Example |
|---|---|---|---|
query | string | Person's name. | john smith |
crd | integer | Individual CRD number. | 6808119 |
from | integer | Offset. Default 0. | 20 |
size | integer | Up to 100. Default 20. | 20 |
- Covers registered representatives as well as adviser representatives.
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
| Field | Type | Meaning |
|---|---|---|
basicInformation.firmId / firmName / otherNames[] | mixed | Firm by CRD: CRD and names. |
basicInformation.iaScope / isIAFirm / advFilingDate / iaSECNumber | string | Firm by CRD: adviser status, latest ADV filing date, SEC number. |
iaFirmAddressDetails.officeAddress | object | Firm by CRD: main office address. |
registrationStatus[].secJurisdiction / status / effectiveDate | string | Firm by CRD: registrations. |
orgScopeStatusFlags.* | string | Firm by CRD: SEC, state and exempt reporting adviser flags. |
noticeFilings[] / exemptReportingAdvisers[] / accountantSurpriseExams[] | array | Firm by CRD: state notice filings and related records. |
brochures.brochuredetails[] | array | Firm by CRD: Part 2 brochures. |
advPdf / brochurePage | string | Firm by CRD: links to the ADV report PDF and brochure page. |
total | integer | Search: matching firms or people. |
firms[].firm_source_id / firm_name / ia_firm_name / firm_other_names[] | mixed | Firm search: CRD and names. |
firms[].firm_ia_scope / firm_scope / firm_ia_sec_number / firm_bd_sec_number | string | Firm search: status and SEC numbers. |
firms[].firm_ia_address_details.officeAddress | object | Firm search: office address. |
individuals[].ind_source_id / ind_firstname / ind_lastname / ind_other_names[] | mixed | Individual search: CRD and names. |
individuals[].ind_ia_current_employments[] | array | Individual search: current firms and branch locations. |
basicInformation.individualId / firstName / lastName / bcScope / iaScope | mixed | Individual by CRD: identity and status. |
currentEmployments[] / previousEmployments[] | array | Individual by CRD: employment history. |
disclosureFlag / disclosures[] | mixed | Individual by CRD: disciplinary and other disclosures. |
stateExamCategory[] / productExamCategory[] / principalExamCategory[] | array | Individual by CRD: exams passed with dates. |
registeredStates[] / registeredSROs[] | array | Individual 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.