SearchBrokerCheck
Search FINRA BrokerCheck for registered individual brokers and financial representatives by name. Returns CRD number, current firm, registration status, and whether the individual has any disclosures on record. Use this tool when: - You need to find the CRD number for a named advisor or rep - You want to verify registration status for a specific individual - You are enriching a rep record that is missing a CRD Geographic workflow: if you don't know the rep's name, first use SearchBrokersByPlace to discover firms in an area, then use SearchBrokerCheckFirm to find the firm's CRD, then use this tool to find individuals at that firm. Narrow results with the optional 'state' parameter (2-letter code). To get the full profile after finding a CRD, use GetBrokerCheckDetail. Source: FINRA BrokerCheck public API. No API key required.
Parameters
| params | any | optional |
Raw schema
{
"type": "object",
"properties": {
"params": {
"$ref": "#/$defs/BrokerCheckIndividualSearchParams",
"default": null
}
},
"$defs": {
"BrokerCheckIndividualSearchParams": {
"description": "Parameters for searching FINRA BrokerCheck for individual brokers/reps.",
"properties": {
"additional_display_fields": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of additional fields to display (e.g. ['firm_name', 'rep_name'])",
"title": "Additional Display Fields"
},
"exclude_fillers": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Dictionary of exclusion filters (e.g. {'rep_type': '!BUYING_UNIT'})",
"title": "Exclude Fillers"
},
"optional_additional_filters": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Dictionary of additional filters not covered by other fields",
"title": "Optional Additional Filters"
},
"question_asked": {
"default": "NA",
"description": "Question asked by the user. Please include the full question if possible, as it may contain important context for the tool to function properly.",
"title": "Question Asked",
"type": "string"
},
"source_resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional resource_id of a previously cached result set (returned by a prior Fetch tool call).\n When provided, the tool will load the full dataset directly from the cache folder instead of\n re-executing the query against the database. Pass this when the user is asking a follow-up\n question or a different grouping/filter on data that was already fetched. \n Also, use this, when one tool output is an input for another tool.\n ",
"title": "Source Resource Id"
},
"mcp_prompt_id": {
"default": "7b866f24-13ab-4e54-8d3a-f775612c393f",
"description": "Unique prompt ID for the MCP session. This can be used for tracking and logging purposes. Do not change this value.",
"title": "Mcp Prompt Id",
"type": "string"
},
"wholesaler_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of wholesaler IDs or names to filter results by the internal fin user\n who owns or manages the data. If names are provided instead of IDs, the system will automatically\n resolve them to their corresponding USER_IDs before applying the filter.\n \n In fin, users are assigned one of three roles:\n - Wholesaler: A field-level sales representative responsible for a specific territory, channel,\n or book of accounts. This is the most granular user type. Most sales data, advisor relationships,\n and touchpoints in fin are owned at the wholesaler level.\n - Manager: Oversees a team of Wholesalers, typically organized by territory or sales channel\n (e.g., Regional Manager, Channel Manager). Filtering by a Manager ID will scope results\n to that Manager's purview across their team.\n - Executive: C-suite level users (e.g., CEO, CFO, COO) at the asset manager / fund company\n level (e.g., PIMCO, MetLife, BlackRock). Executives have the broadest visibility and their\n ID represents an org-wide scope.\n\n Accepts either:\n - User IDs directly (e.g., ['WS001', 'MGR045'])\n - Full or partial user names (e.g., ['John Smith', 'Sarah']) — these will be resolved to IDs\n - A mix of both (e.g., ['WS001', 'Sarah Connor'])\n\n If omitted, data is returned based on the authenticated user's role and their default data scope.\n Examples: ['WS001'], ['WS001', 'MGR045'], ['John Smith'], ['John Smith', 'WS002']",
"title": "Wholesaler Ids"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Full or partial name of the individual broker or rep to search. Examples: 'Andrew Burish', 'John Smith', 'Peter Chieco'.",
"title": "Name"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Two-letter US state code to narrow results. Example: 'WI', 'NY', 'CA'.",
"title": "State"
},
"include_previous": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": true,
"description": "If True, include brokers whose registration has lapsed. Default True.",
"title": "Include Previous"
},
"start": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 0,
"description": "Pagination offset, 0-based. Use with rows to page through results.",
"title": "Start"
},
"rows": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 12,
"description": "Number of results per page. Max 12 per BrokerCheck API.",
"title": "Rows"
}
},
"title": "BrokerCheckIndividualSearchParams",
"type": "object"
}
},
"title": "SearchBrokerCheckArguments"
}