Skip to content

Add SEC adviser search, profile, and universe routes#7559

Open
piiq wants to merge 46 commits into
feature/v5-secfrom
feature/v5-sec-adviser
Open

Add SEC adviser search, profile, and universe routes#7559
piiq wants to merge 46 commits into
feature/v5-secfrom
feature/v5-sec-adviser

Conversation

@piiq

@piiq piiq commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

  • Add sec.adviser_firms and sec.adviser_individuals using the public SEC IAPD search API.
  • Add sec.adviser_profile as a lightweight structured drill-down by firm CRD.
  • Add sec.adviser_documents with one flat row per available Form ADV or Part 2 brochure.
  • Add sec.adviser_universe for the current SEC registered or exempt adviser roster.
  • Keep every public model scalar and DataFrame-compatible.

Routes

  • obb.sec.adviser_firms(query="citadel")
    • Returns investment-adviser firms only.
    • The recorded Citadel response has 24 raw firm hits: 10 adviser firms and 14 broker-dealer-only firms. The route returns the 10 adviser firms and excludes the broker-dealer-only records.
    • Reports SEC registration classification from the official 801 and 802 number prefixes.
    • Identifies alternate-name and relying-adviser matches, including the relying adviser's CRD and status when supplied by IAPD.
  • obb.sec.adviser_individuals(query="john smith")
    • Returns adviser individuals with suffix, matched alternate name, registration context, industry tenure, and one row per distinct current employer.
  • obb.sec.adviser_profile(crd="148826")
    • Uses https://api.adviserinfo.sec.gov/search/firm/{crd}.
    • Returns one scalar row with firm identity, registration type/status, latest ADV filing date, office address, and the source-reported Part 2 exemption flag.
  • obb.sec.adviser_documents(crd="148826")
    • Returns the current Form ADV URL only when IAPD reports hasPdf=Y.
    • Returns brochure rows only from source-reported brochure version metadata.
    • Does not download or parse document bodies.
  • obb.sec.adviser_universe(registration_type="registered")
    • Requires an explicit registered or exempt population.
    • Discovers the latest official monthly report through https://www.sec.gov/data.json.
    • Reads one current ZIP/CSV snapshot and returns firm identifiers, names, status, registration type, and report period.
    • Reports the first source CIK plus reported_cik_count, because the SEC file can report more than one CIK for a firm while exposing only the first in CIK#.
    • Fails explicitly when the latest report format or required columns change; it never substitutes an older snapshot.

Scope

  • No historical Form ADV archive download or multi-period adviser aggregation.
  • No HTML or JavaScript scraping for adviser data or dataset discovery.
  • No Form D parser, Form 13F duplication, filing-index route, or aggregation helpers.
  • No disclosure flag because this PR does not expose disclosure details.
  • No fabricated document paths. The ADV and brochure URL forms are verified against SEC-hosted documents.
  • The IAPD section URL shown in review requires FLNG_PK, which the lightweight firm profile response does not provide, so this PR does not construct it.
  • One-to-many aliases and relationships are not embedded in profile fields. Search results expose only the alternate or relying-adviser name relevant to the match.

Universe Cost

  • July 2026 registered report: 5.27 MB ZIP, 42.08 MB CSV, 16,935 rows.
  • July 2026 exempt report: 0.84 MB ZIP, 6.49 MB CSV, 6,535 rows.
  • A full uncached two-population refresh transfers about 7.07 MB including the 0.95 MB SEC catalog.
  • CSV parsing is streamed and runs outside the async event loop.

deeleeramone and others added 9 commits June 23, 2026 07:38
…Tag 6-K in XBRL Facts (#7547)

* fix period detection in 40-F filers that only tag 6-K in XBRL

* clean up comment

* black
* bump minimum version of fastapi to get starlette > 1

* fix test fixture broken by newer version of vitest

* another round of lock file syncs

* need to pin fastapi until breaking changes in 0.137 can be dealt with

* relock cli

* cli needs to run openbb-build before running test suite

* wrong solution, cli needs fastapi pin until handled. revert nox

@deeleeramone deeleeramone left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@piiq, I suggest that you pivot the focus on the Advisors, Firms, and Form ADV data. Ideally, this can be done without opening GBs of files for each query.

The brochures are also a key piece of unstructured data.

Image

I've left some comments in the files regarding redundancy and flagging expensive processes.

Comment thread openbb_platform/providers/sec/openbb_sec/models/investment_advisers.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/institutional_holdings.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/utils/form_13f_datasets.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/institutional_managers.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/investment_adviser_people.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/private_offering_people.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/private_offering_people.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/form_d.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/filing_index.py Outdated
Comment thread openbb_platform/providers/sec/openbb_sec/models/filing_index.py Outdated
deeleeramone and others added 20 commits July 2, 2026 15:12
…#7563)

Co-authored-by: dhruvv16-hash <200462256+dhruvv16-hash@users.noreply.github.com>
…sion for Loans/Credit Losses) (#7572)

* fix IFRS financial template to catch new provisions for credit/loans tags and correct the order of items in the income statement

* cash flow shuffle

* version bump

* move none check up in detect block

* black
Remove the openbb-intrinio provider extension from the repository.
Reason: proprietary vendor with no internal access to any endpoint;
cannot build, develop or maintain.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
* follow up to #7585

* add another codegen test
* add handling for XOM's new CIK and populating results including the legacy

* update a couple of lock files for dependabot

@deeleeramone deeleeramone left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's quite a gap between what is returned by the investment_advisers endpoint vs. the raw JSON output from https://api.adviserinfo.sec.gov/search/firm.

From the endpoint, I get only 4 results, with sparse information. Some parsing errors, likely. We should be able to surface pretty detailed profiles for a firm, so some kind of drill-down is needed. Careful not to over-flatten or mislabel.

obb.sec.investment_advisers(query="citadel").model_dump()["results"]

[{'crd': '148826',
  'sec_number': '801-70860',
  'legal_name': 'CITADEL ADVISORS LLC',
  'primary_business_name': 'ASHLER CAPITAL LLC (RELYING ADVISER)',
  'status': 'ACTIVE',
  'regulatory_assets_under_management': None,
  'discretionary_aum': None,
  'non_discretionary_aum': None,
  'separately_managed_accounts_aum': None,
  'pooled_investment_vehicles_aum': None,
  'employees': None,
  'phone': None,
  'city': 'MIAMI',
  'state': 'FL',
  'country': 'United States',
  'website': None},
 {'crd': '110540',
  'sec_number': '801-112507',
  'legal_name': 'CITADEL INVESTMENT ADVISORY INC',
  'primary_business_name': 'CITADEL INVESTMENT ADVISORY INC',
  'status': 'ACTIVE',
  'regulatory_assets_under_management': None,
  'discretionary_aum': None,
  'non_discretionary_aum': None,
  'separately_managed_accounts_aum': None,
  'pooled_investment_vehicles_aum': None,
  'employees': None,
  'phone': None,
  'city': 'CHESTERLAND',
  'state': 'OH',
  'country': 'United States',
  'website': None},
 {'crd': '7461',
  'sec_number': '801-42017',
  'legal_name': 'FSC SECURITIES CORPORATION',
  'primary_business_name': '3GENWEALTH',
  'status': 'INACTIVE',
  'regulatory_assets_under_management': None,
  'discretionary_aum': None,
  'non_discretionary_aum': None,
  'separately_managed_accounts_aum': None,
  'pooled_investment_vehicles_aum': None,
  'employees': None,
  'phone': None,
  'city': 'ATLANTA',
  'state': 'GA',
  'country': 'United States',
  'website': None},
 {'crd': '171898',
  'sec_number': '801-80003',
  'legal_name': 'GOOD LIFE ADVISORS, LLC',
  'primary_business_name': 'A.C. HEARNE & CO LLC',
  'status': 'ACTIVE',
  'regulatory_assets_under_management': None,
  'discretionary_aum': None,
  'non_discretionary_aum': None,
  'separately_managed_accounts_aum': None,
  'pooled_investment_vehicles_aum': None,
  'employees': None,
  'phone': None,
  'city': 'CELEBRATION',
  'state': 'FL',
  'country': 'United States',
  'website': None}]

From https://api.adviserinfo.sec.gov/search/firm?query=citadel, I get 24 hits.

{
  "hits": {
    "total": 24,
    "hits": [
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "148826",
          "firm_ia_sec_number": "70860",
          "firm_ia_full_sec_number": "801-70860",
          "firm_name": "CITADEL ADVISORS LLC",
          "firm_other_names": [
            "ASHLER CAPITAL LLC (RELYING ADVISER)",
            "CITADEL STRUCTURED FINANCE ADVISORY LLC (RELYING ADVISER)",
            "CITADEL INVESTMENT CONSULTING (SHENZHEN) COMPANY LIMITED (RELYING ADVISER)",
            "CITADEL HOLDINGS I LP (RELYING ADVISER)",
            "CITADEL EUROPE LLP (RELYING ADVISER)",
            "CITADEL ASIA LIMITED (F/K/A CITADEL (HONG KONG) LIMITED) (RELYING ADVISER)",
            "CITADEL ADVISORS LLC",
            "CITADEL ADVISORS II LLC (RELYING ADVISER)"
          ],
          "firm_ia_scope": "ACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 1,
          "firm_ia_address_details": "{\"officeAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"United States\", \"postalCode\": \"33131\"}}",
          "firm_relying_advisors": [
            {
              "firmId": "292030",
              "name": "ASHLER CAPITAL LLC",
              "status": "INACTIVE",
              "nameStatus": "INACTIVE"
            },
            {
              "firmId": "292033",
              "name": "CITADEL EUROPE LLP",
              "status": "INACTIVE",
              "nameStatus": "INACTIVE"
            },
            {
              "firmId": "313701",
              "name": "CITADEL SWEDEN LTD.",
              "status": "INACTIVE",
              "nameStatus": "INACTIVE"
            },
            {
              "firmId": "342518",
              "name": "CITADEL ADVISORS (DIFC) LIMITED",
              "status": "ACTIVE",
              "nameStatus": "ACTIVE"
            },
            {
              "firmId": "292034",
              "name": "CITADEL ASIA LIMITED",
              "status": "ACTIVE",
              "nameStatus": "ACTIVE"
            },
            {
              "firmId": "318548",
              "name": "CITADEL ADVISORS EUROPE LIMITED",
              "status": "ACTIVE",
              "nameStatus": "ACTIVE"
            },
            {
              "firmId": "292034",
              "name": "CITADEL ASIA LIMITED (F/K/A CITADEL (HONG KONG) LIMITED)",
              "status": "ACTIVE",
              "nameStatus": "INACTIVE"
            },
            {
              "firmId": "292031",
              "name": "CITADEL ADVISORS II LLC",
              "status": "INACTIVE",
              "nameStatus": "INACTIVE"
            },
            {
              "firmId": "313551",
              "name": "CITADEL FRANCE SAS",
              "status": "ACTIVE",
              "nameStatus": "ACTIVE"
            },
            {
              "firmId": "314103",
              "name": "CITADEL ADVISORS SINGAPORE PTE. LIMITED",
              "status": "ACTIVE",
              "nameStatus": "ACTIVE"
            }
          ]
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS LLC"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS LLC",
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASIA LIMITED (F/K/A \u003Cem\u003ECITADEL\u003C/em\u003E (HONG KONG) LIMITED) (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E EUROPE LLP (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E HOLDINGS I LP (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS II LLC (RELYING ADVISER)"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS LLC",
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASIA LIMITED (F/K/A \u003Cem\u003ECITADEL\u003C/em\u003E (HONG KONG) LIMITED) (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E EUROPE LLP (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E HOLDINGS I LP (RELYING ADVISER)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E ADVISORS II LLC (RELYING ADVISER)"
          ],
          "firm_relying_advisors.name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASIA LIMITED (F/K/A \u003Cem\u003ECITADEL\u003C/em\u003E (HONG KONG) LIMITED)",
            "\u003Cem\u003ECITADEL\u003C/em\u003E EUROPE LLP",
            "\u003Cem\u003ECITADEL\u003C/em\u003E SWEDEN LTD.",
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASIA LIMITED",
            "\u003Cem\u003ECITADEL\u003C/em\u003E FRANCE SAS"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "172693",
          "firm_bd_sec_number": "69521",
          "firm_bd_full_sec_number": "8-69521",
          "firm_name": "CITADEL CLEARING LLC",
          "firm_other_names": [
            "CITADEL CLEARING LLC"
          ],
          "firm_scope": "ACTIVE",
          "firm_disclosure_fl": "N",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 1,
          "firm_branches_count": 2,
          "firm_address_details": "{\"officeAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"UNITED STATES\", \"postalCode\": \"33131\"}, \"mailingAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"UNITED STATES\", \"postalCode\": \"33131\"}, \"businessPhoneNumber\": \"305-929-6851\", \"finraLastApprovalDate\": \"2015-04-07T00:00:00\"}"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CLEARING LLC"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CLEARING LLC"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CLEARING LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CLEARING LLC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "18282",
          "firm_bd_sec_number": "36405",
          "firm_bd_full_sec_number": "8-36405",
          "firm_name": "CITADEL EQUITIES CORP.",
          "firm_other_names": [
            "CITADEL EQUITIES CORP.",
            "CITADEL SECURITIES CORP."
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E EQUITIES CORP."
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E EQUITIES CORP.",
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E EQUITIES CORP."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E EQUITIES CORP.",
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "116797",
          "firm_bd_sec_number": "53574",
          "firm_bd_full_sec_number": "8-53574",
          "firm_name": "CITADEL SECURITIES LLC",
          "firm_other_names": [
            "CITADEL DERIVATIVES GROUP LLC",
            "CITADEL SECURITIES LLC"
          ],
          "firm_scope": "ACTIVE",
          "firm_disclosure_fl": "Y",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 1,
          "firm_branches_count": 7,
          "firm_address_details": "{\"officeAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"UNITED STATES\", \"postalCode\": \"33131\"}, \"mailingAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"UNITED STATES\", \"postalCode\": \"33131\"}, \"businessPhoneNumber\": \"305-929-6851\", \"finraLastApprovalDate\": \"2005-02-25T00:00:00\"}"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES LLC"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES LLC",
            "\u003Cem\u003ECITADEL\u003C/em\u003E DERIVATIVES GROUP LLC"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES LLC",
            "\u003Cem\u003ECITADEL\u003C/em\u003E DERIVATIVES GROUP LLC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "14968",
          "firm_bd_sec_number": "33442",
          "firm_bd_full_sec_number": "8-33442",
          "firm_name": "CITADEL SECURITIES CORP.",
          "firm_other_names": [
            "CITADEL SECURITIES CORP.",
            "CITADEL SECURITIES CORPORATION"
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP.",
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP.",
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "12976",
          "firm_bd_sec_number": "28373",
          "firm_bd_full_sec_number": "8-28373",
          "firm_name": "CITADEL CAPITAL GROUP, INC.",
          "firm_other_names": [
            "BAY CITY SECURITIES, INC.",
            "CITADEL CAPITAL GROUP, INC."
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0,
          "firm_expelled_date": "12/09/1988"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP, INC."
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP, INC."
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP, INC."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP, INC."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "24514",
          "firm_bd_sec_number": "41207",
          "firm_bd_full_sec_number": "8-41207",
          "firm_name": "CITADEL TRADING GROUP L.L.C.",
          "firm_other_names": [
            "CITADEL TRADING GROUP L.L.C.",
            "WINDSOR-VALORI, L.P.",
            "TAFT SECURITIES, L.P.",
            "TAFT SECURITIES, L.L.C.",
            "TAFT SECURITIES"
          ],
          "firm_scope": "INACTIVE",
          "firm_disclosure_fl": "N",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 0,
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E TRADING GROUP L.L.C."
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E TRADING GROUP L.L.C."
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E TRADING GROUP L.L.C."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E TRADING GROUP L.L.C."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "125585",
          "firm_name": "CITADEL CAPITAL MANAGEMENT",
          "firm_other_names": [
            "BERNHEIM, GUY F.",
            "CITADEL CAPITAL MANAGEMENT"
          ],
          "firm_ia_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0,
          "firm_ia_address_details": "{\"officeAddress\": {\"city\": \"SARASOTA\", \"state\": \"FL\", \"country\": \"United States\"}}"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL MANAGEMENT"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL MANAGEMENT"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL MANAGEMENT"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL MANAGEMENT"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "27376",
          "firm_bd_sec_number": "43020",
          "firm_bd_full_sec_number": "8-43020",
          "firm_name": "CITADEL FINANCIAL MARKETS, INC.",
          "firm_other_names": [
            "CITADEL FINANCIAL MARKETS, INC.",
            "WELLINGTON CAPITAL MARKETS, INC."
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E FINANCIAL MARKETS, INC."
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E FINANCIAL MARKETS, INC."
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E FINANCIAL MARKETS, INC."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E FINANCIAL MARKETS, INC."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "29585",
          "firm_bd_sec_number": "44425",
          "firm_bd_full_sec_number": "8-44425",
          "firm_name": "THE CITADEL FUNDING CORPORATION",
          "firm_other_names": [
            "THE CITADEL FUNDING CORPORATION"
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_name": [
            "THE \u003Cem\u003ECITADEL\u003C/em\u003E FUNDING CORPORATION"
          ],
          "firm_other_names": [
            "THE \u003Cem\u003ECITADEL\u003C/em\u003E FUNDING CORPORATION"
          ],
          "firm_name.syn": [
            "THE \u003Cem\u003ECITADEL\u003C/em\u003E FUNDING CORPORATION"
          ],
          "firm_other_names.syn": [
            "THE \u003Cem\u003ECITADEL\u003C/em\u003E FUNDING CORPORATION"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "110540",
          "firm_ia_sec_number": "112507",
          "firm_ia_full_sec_number": "801-112507",
          "firm_name": "CITADEL INVESTMENT ADVISORY INC",
          "firm_other_names": [
            "CITADEL INVESTMENT ADVISORY INC"
          ],
          "firm_ia_scope": "ACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 1,
          "firm_ia_address_details": "{\"officeAddress\": {\"city\": \"CHESTERLAND\", \"state\": \"OH\", \"country\": \"United States\"}}"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT ADVISORY INC"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT ADVISORY INC"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT ADVISORY INC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT ADVISORY INC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "281102",
          "firm_bd_sec_number": "69663",
          "firm_bd_full_sec_number": "8-69663",
          "firm_name": "CITADEL SECURITIES INSTITUTIONAL LLC",
          "firm_other_names": [
            "CITADEL SECURITIES INSTITUTIONAL LLC"
          ],
          "firm_scope": "ACTIVE",
          "firm_disclosure_fl": "N",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 1,
          "firm_branches_count": 6,
          "firm_address_details": "{\"officeAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"USA\", \"postalCode\": \"33131\"}, \"mailingAddress\": {\"street1\": \"830 BRICKELL PLAZA\", \"street2\": \"FLOOR 15\", \"city\": \"MIAMI\", \"state\": \"FL\", \"country\": \"USA\", \"postalCode\": \"33131\"}, \"businessPhoneNumber\": \"305-929-6851\", \"finraLastApprovalDate\": \"2016-01-06T00:00:00\"}"
        },
        "highlight": {
          "firm_name": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES INSTITUTIONAL LLC"
          ],
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES INSTITUTIONAL LLC"
          ],
          "firm_name.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES INSTITUTIONAL LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES INSTITUTIONAL LLC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "40405",
          "firm_bd_sec_number": "49045",
          "firm_bd_full_sec_number": "8-49045",
          "firm_name": "CENTURION SECURITIES CORPORATION",
          "firm_other_names": [
            "CENTURION SECURITIES CORPORATION",
            "CITADEL SECURITIES CORPORATION",
            "CITADEL INVESTMENT SERVICES, INC."
          ],
          "firm_scope": "INACTIVE",
          "firm_disclosure_fl": "N",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 0,
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION",
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT SERVICES, INC."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION",
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENT SERVICES, INC."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "10401",
          "firm_bd_sec_number": "27178",
          "firm_bd_full_sec_number": "8-27178",
          "firm_name": "MURDOCH & COLL INVESTMENTS, INC.",
          "firm_other_names": [
            "CITADEL INVESTMENTS, INC.",
            "MURDOCH & COLL INVESTMENTS, INC."
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENTS, INC."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E INVESTMENTS, INC."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "281633",
          "firm_name": "F3 WEALTH MANAGEMENT, LLC",
          "firm_other_names": [
            "CITADEL WEALTH MANAGEMENT LLC",
            "F3 WEALTH MANAGEMENT, LLC"
          ],
          "firm_ia_scope": "ACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 1,
          "firm_ia_address_details": "{\"officeAddress\": {\"city\": \"ARLINGTON\", \"state\": \"TX\", \"country\": \"United States\"}}"
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E WEALTH MANAGEMENT LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E WEALTH MANAGEMENT LLC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "45631",
          "firm_bd_sec_number": "51119",
          "firm_bd_full_sec_number": "8-51119",
          "firm_name": "NEXBRIDGE CAPITAL MARKETS LLC",
          "firm_other_names": [
            "CITADEL CAPITAL GROUP LLC",
            "NEXBRIDGE CAPITAL MARKETS LLC"
          ],
          "firm_scope": "INACTIVE",
          "firm_disclosure_fl": "N",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 0,
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP LLC"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL GROUP LLC"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "331335",
          "firm_name": "ZAFIRO",
          "firm_other_names": [
            "GS GLOBAL ADVISORY, LLC",
            "ZAFIRO",
            "SELECT PRIVATE WEALTH",
            "SAPPHIRE CITADEL CAPITAL"
          ],
          "firm_ia_scope": "ACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 1,
          "firm_ia_address_details": "{\"officeAddress\": {\"city\": \"LAKE MARY\", \"state\": \"FL\", \"country\": \"United States\"}}"
        },
        "highlight": {
          "firm_other_names": [
            "SAPPHIRE \u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL"
          ],
          "firm_other_names.syn": [
            "SAPPHIRE \u003Cem\u003ECITADEL\u003C/em\u003E CAPITAL"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "312012",
          "firm_name": "GL TRUST, INC.",
          "firm_other_names": [
            "CITADEL ASSET MANAGEMENT, INC.",
            "ORTIZ WORLD WEALTH",
            "NEW WAVE ADVISERS",
            "GL TRUST, INC."
          ],
          "firm_ia_scope": "ACTIVE",
          "firm_ia_disclosure_fl": "Y",
          "firm_branches_count": 1,
          "firm_ia_address_details": "{\"officeAddress\": {\"street1\": \"16131 WHITTIER BLVD\", \"street2\": \"SUITE 108\", \"city\": \"WHITTIER\", \"state\": \"CA\", \"country\": \"United States\", \"postalCode\": \"90603\"}}"
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASSET MANAGEMENT, INC."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E ASSET MANAGEMENT, INC."
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "15899",
          "firm_bd_sec_number": "39842",
          "firm_bd_full_sec_number": "8-39842",
          "firm_name": "AMERICAN NATIONAL EQUITIES, INC.",
          "firm_other_names": [
            "AMERICAN NATIONAL EQUITIES, INC.",
            "FED WEST SECURITIES CORPORATION",
            "CITADEL SECURITIES CORPORATION"
          ],
          "firm_scope": "INACTIVE",
          "firm_ia_disclosure_fl": "N",
          "firm_branches_count": 0,
          "firm_expelled_date": "03/10/1992"
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION"
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORPORATION"
          ]
        }
      },
      {
        "_type": "_doc",
        "_source": {
          "firm_source_id": "29134",
          "firm_bd_sec_number": "44130",
          "firm_bd_full_sec_number": "8-44130",
          "firm_name": "CHURCH STREET SECURITIES CORP.",
          "firm_other_names": [
            "CHURCH STREET SECURITIES CORP.",
            "CITADEL SECURITIES CORP.",
            "CHURCH STREET SECURITIES CORP. - PENDING NAME AMENDMENT PENDING"
          ],
          "firm_scope": "INACTIVE",
          "firm_disclosure_fl": "Y",
          "firm_ia_disclosure_fl": "N",
          "firm_approved_finra_registration_count": 0,
          "firm_branches_count": 0
        },
        "highlight": {
          "firm_other_names": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ],
          "firm_other_names.syn": [
            "\u003Cem\u003ECITADEL\u003C/em\u003E SECURITIES CORP."
          ]
        }
      }
    ]
  }
}

We should also be able to search by 'individual' - https://api.adviserinfo.sec.gov/search/individual?query=ken%20griffin

There are also regulatory documents that are accessible by a URL that can be programmatically generated and mapped:

https://reports.adviserinfo.sec.gov/reports/ADV/148826/PDF/148826.pdf
https://files.adviserinfo.sec.gov/IAPD/Content/Common/crd_iapd_Brochure.aspx?BRCHR_VRSN_ID=1038247

https://files.adviserinfo.sec.gov/IAPD/content/viewform/adv/sections/iapd_AdvIdentifyingInfoSection.aspx?ORG_PK=148826&FLNG_PK=04943280000801F50141CED200AC38E5056C8CC0

@piiq piiq changed the title Add SEC data fetchers and expose adviser routes Add SEC investment adviser firm search Jul 17, 2026
@piiq piiq changed the title Add SEC investment adviser firm search Add SEC adviser firm and individual searches Jul 18, 2026
Sanjays2402 and others added 8 commits July 20, 2026 17:45
Windows asyncio event loops do not implement add_signal_handler, causing the stdio server to exit before serving requests. Treat signal registration as optional and cover the unsupported-loop path with a regression test.
…e to not treat a record that happens to have a list datatype as an entire envelope. (#7598)
@piiq piiq changed the title Add SEC adviser firm and individual searches Add SEC adviser search, profile, and universe routes Jul 21, 2026
@piiq

piiq commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

hey @deeleeramone I've made another attempt at this PR following your comments.

  • removed historical Form ADV archive download and related models
  • implemented firm and individual lookups use via IAPD APIs
  • i still created an adviser_universe route that i need to seed the advisor database, but it uses uses sec.gov/data.json to retrieve one current monthly Registered or Exempt roster: 5.27 MB and 0.84 MB respectively, so the 700mb issue should be resolved

please, take a look at this once you have a moment

@piiq
piiq requested a review from deeleeramone July 21, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants