Technical writing

FINRA BrokerCheck: The Public Database of Every Registered Broker and Investment Adviser

· AI Analytics
Federal DataFINRAFinanceInvestor Protection

The Financial Industry Regulatory Authority maintains BrokerCheck, a free public database covering every individual who holds or has held a securities license in the United States and every broker-dealer firm registered with FINRA or the SEC. The database contains registration history, license types, employment history spanning the past ten years, and a complete disclosure record—every customer complaint, regulatory action, criminal charge, civil judgment, and personal financial event that an individual or firm has been required to report since the current reporting system was established.

BrokerCheck is accessible at brokercheck.finra.org and covers approximately 3,500 active broker-dealer firms and 630,000 currently registered individuals. An additional 8 million records for formerly registered individuals remain searchable for a period of ten years after their last registration lapsed. For investors, journalists, and attorneys evaluating whether to trust a broker or adviser, BrokerCheck is the starting point—not a supplementary check.

What BrokerCheck contains for individuals

Every individual record in BrokerCheck is organized around the Central Registration Depository (CRD) number, a unique permanent identifier assigned when a person first applies for any securities license. The CRD number persists across firm changes, name changes, and license lapses. It is the key for joining BrokerCheck records to FINRA arbitration awards, SEC enforcement orders, and state securities regulator databases.

Registrations and licenses

The registrations section lists every securities license an individual currently holds and every license they have held in the past. FINRA administers over 25 examination categories. The most common in BrokerCheck records are:

  • Series 7 (General Securities Representative). The broadest license, permitting the holder to sell most types of securities including equities, bonds, options, and packaged products. Required for most retail-facing broker roles at a broker-dealer.
  • Series 63 (Uniform Securities Agent State Law). A state-level supplement required in most jurisdictions to sell securities to retail clients. Typically held alongside Series 7.
  • Series 65 (Uniform Investment Adviser Law). Required for individuals who act as investment advisers and charge fees for advice, as opposed to earning commissions as a broker. The dominant license for registered investment adviser (RIA) representatives.
  • Series 66 (Uniform Combined State Law). Combines the Series 63 and Series 65 functions into one examination. An individual holding Series 7 and Series 66 can act as both a broker-dealer representative and an investment adviser representative.
  • Series 6 (Investment Company Products/Variable Contracts). A narrower license limited to mutual funds, variable annuities, and variable life insurance products. Common among bank-based broker representatives.
  • Series 24 (General Securities Principal). A supervisory license required for principals who supervise registered representatives and approve transactions and correspondence at broker-dealers.
  • Series 3 (National Commodity Futures). Required for individuals selling commodity futures and options, administered by the National Futures Association but visible in BrokerCheck for dual registrants.

Each license entry shows the state or states in which the registration is active, the date the examination was passed, and the date the registration was approved. Lapsed or terminated registrations remain in the record and are date-stamped.

Employment history

BrokerCheck displays ten years of employment history for registered individuals, showing each firm where the person was registered, the start and end dates of each registration, and whether the registration was terminated voluntarily or for cause. The ten-year window is a regulatory minimum; FINRA's underlying CRD system retains the full career history, portions of which are visible when disclosure events are tied to a specific prior employer.

Employment history is self-reported by firms via Form U4 (Uniform Application for Securities Industry Registration) and U5 (Uniform Termination Notice for Securities Industry Registration). When a representative changes firms, the new firm files a U4 disclosing the prior employment. When a firm terminates a representative, the firm files a U5 within 30 days, which must indicate the reason for termination.

Disclosure events

The disclosure section is the portion of BrokerCheck that carries the most analytical weight. FINRA regulations require that individuals and firms self-report disclosure events through Form U4 amendments within 30 days of the triggering event. The five primary disclosure categories for individuals are:

  • Customer dispute. Any written customer complaint alleging sales practice misconduct, including allegations of unauthorized trading, churning, misrepresentation, unsuitability, or failure to supervise. Complaints are reportable if they allege compensatory damages of $5,000 or more, or if they request any non-monetary relief. BrokerCheck shows the date of the complaint, the alleged damages amount, the product involved, the nature of the allegation, and the outcome (settled, denied, pending, or decided through arbitration).
  • Regulatory action. Any action taken by FINRA, the SEC, a state securities regulator, a self-regulatory organization, or a foreign financial regulator. Includes formal investigations, bars, suspensions, fines, censures, and cease-and-desist orders. The regulatory action disclosure is the most severe category and is weighted heavily by compliance screening tools.
  • Criminal disclosure. Charges, indictments, convictions, and guilty pleas for any felony, and for any misdemeanor involving investments, fraud, theft, dishonesty, or breach of trust. Arrests without charges and dismissed charges are not required to be reported. Pending charges are disclosed and updated as the matter progresses.
  • Civil judicial disclosure. Any civil action in which an investment-related claim was brought against the individual by a regulatory authority, or any investment-related civil judgment or injunction in which the individual was named. This captures cases that did not proceed through FINRA arbitration but were litigated in civil courts.
  • Financial disclosure. Personal bankruptcies, compromises with creditors, judgments, and liens meeting specified dollar thresholds. A personal bankruptcy filing is reportable; a Chapter 13 repayment plan that does not involve a discharge is also reportable. The threshold for liens and judgments is $2,500 or more.

Each disclosure also carries a sub-type. Customer dispute sub-types include customer complaint, FINRA arbitration, and civil litigation. Regulatory action sub-types include FINRA disciplinary proceeding, SEC order, state regulator action, and foreign regulator action. The sub-type structure is visible in the BrokerCheck web interface and in the underlying JSON returned by the API.

What BrokerCheck contains for firms

Firm records in BrokerCheck are organized around the firm's CRD number (distinct from individual CRD numbers) and its Central Index Key (CIK) where the firm is also registered with the SEC. Firm records contain:

  • Business description and ownership. The firm's legal name, trade names, principal office address, and a description of the business activities conducted. Ownership structure—including names of direct owners, indirect owners, and controlling persons above specified thresholds —is disclosed through Form BD Schedule A and B.
  • Registration information. Each jurisdiction where the firm is registered—FINRA membership, SEC registration, and individual state registrations—with dates of registration and current status.
  • Firm disclosure events. Regulatory actions, civil judicial disclosures, and arbitration awards against the firm itself. Firm-level disclosures aggregate the regulatory and litigation history of the institution, independent of the disclosure records of its registered representatives.
  • Arbitration history. FINRA arbitration awards involving the firm, including the award amount, the nature of the claim, and whether the award was paid. Unpaid awards are separately flagged; failure to pay a FINRA arbitration award is grounds for FINRA to expel a member firm.

Customer complaint statistics and arbitration outcomes

FINRA receives approximately 30,000 customer complaints annually across all registered firms and individuals. The majority are informal complaints that firms resolve directly without entering the formal arbitration process. When a customer elects to pursue a complaint through FINRA's dispute resolution system, the matter is filed as a FINRA arbitration claim, which then becomes a matter of public record.

FINRA's annual dispute resolution statistics show that customers who pursue arbitration to a hearing decision recover some amount in roughly 40% of decided cases. When settlements reached before a panel decision are included, the overall customer recovery rate—measured as cases where the customer received some payment— is approximately 15 to 20% of all filed claims. The median arbitration award in cases where customers prevail has historically been in the $100,000 to $200,000 range, though awards can reach millions for cases involving systematic fraud or unsuitable recommendations in complex products.

FINRA publishes its complete arbitration award database separately from BrokerCheck as part of its public data initiative. The arbitration awards database contains the full text of every arbitration decision, the names of the respondent firm and individuals, the claim categories, the award amounts, and the dissenting opinions where panel members disagreed. This dataset is searchable at FINRA's website and is also available in bulk download format.

The recidivist broker problem

Academic research published in the Journal of Finance in 2019 by Mark Egan, Gregor Matvos, and Amit Seru documented a structural problem in the broker-dealer industry that BrokerCheck data makes visible: the persistence of misconduct and the mobility of high-disclosure brokers between firms.

The study found that approximately 7% of all registered financial advisers had a disclosed misconduct record. More significant was the finding that roughly half of advisers who lost their jobs due to misconduct were re-hired by another firm within a year. The authors identified this pattern as the “cockroach effect”—misconduct-marked brokers expelled from one firm scattered to others, often to firms that had previously employed or recruited other high-disclosure brokers. Certain firms—concentrated in particular geographic markets and business models—employed recidivist brokers at rates five to ten times the industry average.

The study further found that prior misconduct was the single strongest predictor of future misconduct. Advisers with one prior misconduct record were five times more likely to face a new misconduct disclosure than the overall adviser population. Advisers with multiple prior records were substantially more likely still.

FINRA responded to this research by introducing enhanced disclosure requirements and by increasing scrutiny of firms with elevated misconduct concentrations. In 2022, FINRA adopted rules requiring firms to conduct heightened supervision of representatives with a specified threshold of prior disclosures. Despite these measures, BrokerCheck data continues to show concentrations of high-disclosure brokers at firms that operate in markets with limited investor sophistication and reduced regulatory scrutiny.

Accessing BrokerCheck: web interface and bulk data

The primary public access point is the BrokerCheck web interface at brokercheck.finra.org, which supports individual name searches, firm name searches, and CRD number lookups. The interface returns a summary view for each individual—current status, number of disclosures, years of industry experience—and a detailed view showing the full disclosure record with event-level detail.

Beyond the web interface, FINRA provides two programmatic access channels:

  • BrokerCheck API. The same JSON API that powers the web interface is accessible directly. The search endpoint at brokercheck.finra.org/search/get-search-query-result accepts query parameters for name, type (individual or firm), and pagination. Individual detail records are available at brokercheck.finra.org/individual/summary/[CRD]. The API does not require authentication for public data but is rate-limited; automated collection at scale requires respectful request pacing.
  • FINRA public data bulk downloads. Under FINRA's public data initiative, two bulk datasets are available for download without charge. The first is the FINRA Public Investor Arbitration Awards database, covering all arbitration decisions rendered since 1988, in structured XML format. The second is the registration and disclosure bulk data file, which contains CRD-level summary records for all currently and formerly registered individuals and firms, including disclosure indicator flags and firm affiliation history. Both datasets are updated quarterly. Researchers and journalists using the bulk data for systematic analysis should consult FINRA's data use terms, which permit non-commercial research and journalistic use.

Python: querying the BrokerCheck API

The following script searches BrokerCheck for an individual by name, retrieves the top results, and for any result flagged as having disclosures, fetches the detail record and tallies the disclosures by type. The ind_source_id field in search results is the individual's CRD number. The disclosureType field in the detail record will contain values such as Customer Dispute, Regulatory, Criminal, Civil Judicial, and Financial.

import requests
import json

BASE = 'https://brokercheck.finra.org/search/get-search-query-result'

def search_individual(name: str, page: int = 0) -> dict:
    """Search BrokerCheck for an individual broker or adviser by name."""
    params = {
        'query': name,
        'type': 'individual',
        'start': page * 12,
        'rows': 12,
        'wt': 'json',
    }
    headers = {
        'Referer': 'https://brokercheck.finra.org/',
        'User-Agent': 'Mozilla/5.0 (research/academic)',
    }
    r = requests.get(BASE, params=params, headers=headers, timeout=15)
    r.raise_for_status()
    return r.json()

def get_individual_detail(ind_crd: str) -> dict:
    """Fetch full disclosure detail for an individual by CRD number."""
    url = (
        'https://brokercheck.finra.org/individual/summary/'
        + ind_crd
        + '?lang=en'
    )
    headers = {
        'Referer': 'https://brokercheck.finra.org/',
        'User-Agent': 'Mozilla/5.0 (research/academic)',
    }
    r = requests.get(url, headers=headers, timeout=15)
    r.raise_for_status()
    return r.json()

def count_disclosures(detail: dict) -> dict:
    """Tally disclosure events by type from a detail record."""
    hits = detail.get('hits', {}).get('hits', [])
    if not hits:
        return {}
    source = hits[0].get('_source', {})
    disclosures = source.get('disclosures', [])
    counts = {}
    for d in disclosures:
        dtype = d.get('disclosureType', 'Unknown')
        counts[dtype] = counts.get(dtype, 0) + 1
    return counts

# --- example usage ---
results = search_individual('John Smith', page=0)
docs = results.get('hits', {}).get('hits', [])

for doc in docs[:5]:
    src = doc.get('_source', {})
    crd = src.get('ind_source_id', '')
    name = src.get('ind_firstname', '') + ' ' + src.get('ind_lastname', '')
    disc_count = src.get('ind_disclosure_fl', False)
    current_employer = src.get('ind_bc_scope', [])
    print(f"{name} | CRD: {crd} | Disclosures: {disc_count} | Firms: {current_employer}")

    if crd and disc_count:
        detail = get_individual_detail(str(crd))
        tallied = count_disclosures(detail)
        print(json.dumps(tallied, indent=2))

When running this script against a name with multiple matches, the search returns up to 12 results per page. Pagination is controlled by the startparameter (offset in records, not pages). For systematic collection across large name lists, cache CRD numbers from the search phase before fetching detail records to avoid redundant API calls on the same individual appearing under multiple name variations.

How journalists and attorneys use BrokerCheck

Securities attorneys use BrokerCheck as the first step in evaluating a potential client's case. Before agreeing to represent a customer in an arbitration, an attorney will run the respondent broker's CRD number to assess the disclosure history: how many prior complaints exist, what the complaint outcomes were, whether any regulatory actions have been taken, and which firms the broker has worked for. A broker with five prior settled customer complaints at three different firms is a meaningfully different respondent than a broker with no prior disclosure history.

Journalists investigating financial adviser misconduct use BrokerCheck systematically. The workflow typically involves: identifying a firm or adviser through a tip or initial report, pulling the BrokerCheck record to quantify the disclosure history, joining the CRD number to FINRA arbitration awards for full case detail, and cross-referencing SEC enforcement orders and state regulator actions that may not appear in BrokerCheck if they predated the individual's securities registration.

The most powerful investigative use of BrokerCheck is systematic—pulling the records of all registered representatives at a specific firm or in a specific geographic market to identify concentrations of disclosed misconduct. The Egan, Matvos, and Seru research was conducted this way: a complete extract of BrokerCheck records for the full registered population, joined to FINRA arbitration data, to identify firm-level misconduct patterns invisible in any individual record. Local newspaper investigations of financial fraud in retirement communities have used similar methods to identify firms with disproportionate disclosure concentrations targeting elderly investors in specific ZIP codes.

FINRA itself uses BrokerCheck disclosure data as an input to its exam and enforcement prioritization. Firms with elevated aggregate disclosure rates among their registered population are targeted for earlier and more frequent routine examinations under FINRA's risk-based examination program. The same disclosure concentration metrics that appear in academic research are embedded in FINRA's internal triage scoring.

Limitations of BrokerCheck data

BrokerCheck is a disclosure-based system, not an independent investigation. Several structural limitations are important for analysts to understand:

  • Self-reported with some verification lag. Firms and individuals are responsible for filing U4 amendments within 30 days of a disclosure event. FINRA audits U4 filings for completeness but does not independently verify every event. Underreporting is possible and has been the subject of FINRA enforcement actions against firms that failed to file timely U4 amendments.
  • Investment adviser-only registrants have limited records. Investment advisers registered solely with the SEC (not with a broker-dealer) are disclosed through the SEC's Investment Adviser Public Disclosure (IAPD) system, accessible at adviserinfo.sec.gov. BrokerCheck links to IAPD records for dual registrants, but an adviser who has never held a FINRA registration may have a limited or absent BrokerCheck record even if they have a full IAPD record.
  • Ten-year lookback for inactive individuals. Once an individual's last registration lapses, their BrokerCheck record is searchable for ten years and then removed from public access. An individual who left the industry in 2010 with a significant misconduct record is no longer visible in BrokerCheck, though the underlying CRD record is retained by FINRA for regulatory purposes.
  • Expungement. FINRA arbitration rules permit individual brokers to petition an arbitration panel to expunge a customer dispute from their CRD record, on grounds that the claim was factually impossible, clearly erroneous, or false. Expungement removes the disclosure from BrokerCheck. Critics, including the SEC's Investor Advocate, have noted that expungement rates in FINRA arbitration historically ran higher than the factual merit of claims would support. FINRA amended its expungement rules in 2023 to increase procedural protections for investors in the expungement process.

For SEC Form 4 insider trading disclosures—which, like BrokerCheck, surface through a public registration system the same individuals and institutions that appear in securities enforcement records: SEC Form 4 insider trading data: parsing real-time disclosures from EDGAR →

For SEC Form 13F institutional holdings data—which maps the fund-level positions that BrokerCheck's broker-dealer firms custody and sell: Who owns what: indexing SEC Form 13F institutional holdings data →

For FDIC bank failure data—the parallel disclosure regime for depository institutions, covering the same financial sector through a different regulatory lens: FDIC bank failure data: every US bank that has failed since 1934 →