Regulatory & compliance
Consumer Complaints
Returns consumer complaints filed with the Consumer Financial Protection Bureau (CFPB). Each record is one filing against a bank, credit reporting agency, mortgage servicer, debt collector, fintech, or crypto firm — with company response status, timeliness flag, and (when consented) consumer narrative.
Endpoint
GET /v1/consumer-complaintsSourceCFPB Consumer Complaint Database
Authx-api-key — a free key works
What it returns
One record per result. Fields (from a live response):
- Identity —
state - Subject —
product,sub_product,issue,sub_issue - Dates —
date_received,date_sent_to_company,scraped_at - The trade / event —
zip_code - Provenance —
cfpb_source_url - Details —
id,company,company_response,company_public_response,timely_response,submitted_via,consumer_disputed,complaint_narrative,tags
Filters
| id | Direct lookup by CFPB complaint_id. |
| company | Case-insensitive substring against company name (e.g., 'experian', 'jpmorgan', 'capital one'). |
| product | Exact product match (e.g., 'Mortgage', 'Debt collection', 'Credit reporting or other personal consumer reports'). |
| sub_product | Exact sub-product match. |
| issue | Case-insensitive substring against the issue field (e.g., 'incorrect information', 'fraud', 'debt is not yours'). |
| state | Two-letter state code (e.g., 'CA', 'NY'). Case-insensitive. |
| submitted_via | Channel filter. |
| timely_response | Filter to complaints with timely company response (within CFPB's 15-day window) or not. |
| since | ISO date (YYYY-MM-DD). Applied to sort_by field. |
| until | ISO date (YYYY-MM-DD). |
| sort_by | Default date_received. |
| sort_order | Default desc. |
| limit | Default 50, max 500. |
Example request
curl "https://api.keyvex.com/v1/consumer-complaints?limit=1" \
-H "x-api-key: YOUR_KEY"
Response
{
"results": [
{
"id": "23459185",
"product": "Debt collection",
"sub_product": "I do not know",
"issue": "Took or threatened to take negative or legal action",
"sub_issue": "Threatened or suggested your credit would be damaged",
"company": "Kriya Capital, LLC",
"company_response": "In progress",
"company_public_response": "",
"timely_response": true,
"state": "AZ",
"zip_code": "85338",
"submitted_via": "Web",
"date_received": "2026-06-22",
"date_sent_to_company": "2026-06-22",
"consumer_disputed": "",
"complaint_narrative": "",
"tags": [],
"cfpb_source_url": "https://www.consumerfinance.gov/data-research/consumer-complaints/search/detail/23459185",
"scraped_at": "2026-06-24T00:34:24.355Z"
}
],
"count": 1,
"has_more": true
}
Example questions you can answer
- Complaints about a company or product type.
- Complaint volume trends over time.
Related datasets
Query Consumer Complaints from your AI
Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.
Get a free key OpenAPI spec → REST docs →