cfpb_search_complaints

Pack: cfpb · Endpoint: https://gateway.pipeworx.io/cfpb/mcp

Search consumer complaints by keyword, company, product, or date range. Returns complaint narratives, company responses, and resolution status.

Parameters

NameTypeRequiredDescription
querystringnoSearch term (e.g., “overdraft fees”, “denied claim”). Optional if other filters provided.
companystringnoCompany name to filter by (e.g., “BANK OF AMERICA”, “WELLS FARGO”)
productstringnoProduct category (e.g., “Credit card”, “Mortgage”, “Student loan”, “Vehicle loan or lease”, “Checking or savings account”, “Credit reporting”, “Debt collection”)
start_datestringnoStart date in YYYY-MM-DD format
end_datestringnoEnd date in YYYY-MM-DD format
limitnumbernoNumber of results (1-100, default 25)

Example call

Arguments

{
  "query": "overdraft fees",
  "limit": 25
}

curl

curl -X POST https://gateway.pipeworx.io/cfpb/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cfpb_search_complaints","arguments":{"query":"overdraft fees","limit":25}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('cfpb_search_complaints', {
  "query": "overdraft fees",
  "limit": 25
});

More examples

{
  "company": "WELLS FARGO",
  "product": "Checking or savings account",
  "start_date": "2023-01-01",
  "end_date": "2024-01-01",
  "limit": 50
}

Response shape

Always returns: query, filters, total, complaints

FieldTypeDescription
querystring | nullSearch query term provided
filtersobject
totalnumberTotal number of matching complaints
complaintsarrayList of complaint records
Full JSON Schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": [
        "string",
        "null"
      ],
      "description": "Search query term provided"
    },
    "filters": {
      "type": "object",
      "properties": {
        "company": {
          "type": [
            "string",
            "null"
          ],
          "description": "Company filter applied"
        },
        "product": {
          "type": [
            "string",
            "null"
          ],
          "description": "Product category filter applied"
        },
        "date_range": {
          "type": "object",
          "properties": {
            "start": {
              "type": [
                "string",
                "null"
              ],
              "description": "Start date of range (YYYY-MM-DD)"
            },
            "end": {
              "type": [
                "string",
                "null"
              ],
              "description": "End date of range (YYYY-MM-DD)"
            }
          }
        }
      }
    },
    "total": {
      "type": "number",
      "description": "Total number of matching complaints"
    },
    "complaints": {
      "type": "array",
      "description": "List of complaint records",
      "items": {
        "type": "object",
        "properties": {
          "complaint_id": {
            "type": "string",
            "description": "Unique complaint identifier"
          },
          "date_received": {
            "type": "string",
            "description": "Date complaint was received"
          },
          "product": {
            "type": "string",
            "description": "Product category (e.g., Credit card, Mortgage)"
          },
          "sub_product": {
            "type": [
              "string",
              "null"
            ],
            "description": "Subcategory of product"
          },
          "issue": {
            "type": "string",
            "description": "Main complaint issue"
          },
          "sub_issue": {
            "type": [
              "string",
              "null"
            ],
            "description": "Subcategory of issue"
          },
          "narrative": {
            "type": [
              "string",
              "null"
            ],
            "description": "Consumer complaint narrative"
          },
          "company": {
            "type": "string",
            "description": "Company name"
          },
          "state": {
            "type": [
              "string",
              "null"
            ],
            "description": "Consumer state (2-letter code)"
          },
          "company_response": {
            "type": "string",
            "description": "Company's response status"
          },
          "company_public_response": {
            "type": [
              "string",
              "null"
            ],
            "description": "Public response from company"
          },
          "timely": {
            "type": [
              "string",
              "null"
            ],
            "description": "Whether response was timely"
          },
          "consumer_disputed": {
            "type": [
              "string",
              "null"
            ],
            "description": "Whether consumer disputed resolution"
          },
          "submitted_via": {
            "type": [
              "string",
              "null"
            ],
            "description": "Submission method (e.g., web, phone)"
          }
        }
      }
    }
  },
  "required": [
    "query",
    "filters",
    "total",
    "complaints"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "cfpb": {
      "url": "https://gateway.pipeworx.io/cfpb/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build May 9, 2026