CFPB Complaints Feed: Bank & Fintech Complaint Spikes
Pricing
Pay per event
CFPB Complaints Feed: Bank & Fintech Complaint Spikes
New consumer complaints against banks, lenders, credit bureaus, fintechs and debt collectors from the official CFPB Consumer Complaint Database, plus per-company counts vs prior window, product/issue mix and spike alerts. Filter by company, product, issue, state. No API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Luke Miller
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
CFPB Complaints Feed: Bank & Fintech Complaint Spikes (official, no key)
Track new consumer complaints against banks, credit card issuers, lenders, mortgage servicers, credit bureaus, fintechs, payment apps and debt collectors straight from the official CFPB Consumer Complaint Database (U.S. Consumer Financial Protection Bureau, public domain). The database adds roughly 25,000-30,000 complaints a day across 4,000+ companies.
Two modes:
complaints(default): one clean record per complaint (company, product / sub-product, issue / sub-issue, state, ZIP3, channel, company response, timely flag, tags), filterable by company, product, issue and state.companySummary: one row per company with complaints in the window vs the prior window, growth %, a spike flag, rank, product / issue / state mix, timely-response rate and response breakdown. Find the companies whose complaints are surging this month.
Who it's for
- Fintech, bank and lender competitive intelligence: watch competitors' complaint volume and what customers complain about (fees, fraud, repossession, payment trouble, account closures).
- Compliance, risk and vendor management teams: monitor your own company, partners, sponsor banks, servicers and collection agencies; spot spikes before regulators do.
- Plaintiff law firms and consumer advocates: emerging issues by company, product and state (e.g. repossession complaints against an auto lender jumping 100%).
- Investors and analysts: complaint growth as an alternative-data signal for listed lenders, card issuers and fintechs.
- Sales teams selling to financial institutions: complaint-management, collections-compliance, fraud and CX vendors can target companies with rising complaints.
- Journalists, researchers, data teams and AI agents: clean JSON with stable IDs and links.
Why this Actor
- Company-level analytics, not just a dump: window vs prior window, growth %,
spikeflag with a noise floor (minComplaints), rank, share of all complaints, top products / sub-products / issues / sub-issues / states, timely-response rate, company responses, servicemember and older-American counts. - Lag-aware: CFPB publishes a complaint only after the company responds or after 15 days, so the newest two weeks always look low. Company summaries end
lagDays(default 14) before the latest data, so growth numbers compare like with like; complaint feeds widen the window automatically when it is thin. - Friendly filters: type
Capital One,Wells Fargo,Chime,Credit card,Repossession; names are resolved to CFPB's exact company / product / issue names (seeOUTPUT.resolution). - Schedules that don't miss late arrivals:
sinceLastRunre-checks the last 45 days and delivers only complaints you have not received yet, so complaints CFPB publishes weeks after receipt are still caught. - Privacy first: ZIP codes are cut to 3 digits (
980XX), no consumer names exist in the data, narratives are off by default. - Official, keyless, fast: the CFPB public API, no login; the default run returns 30 complaints in about 2 seconds at 512 MB.
Quick start
- Click Start with
{}: the 30 newest published complaints. - Capital One and Wells Fargo credit card complaints in Texas and California:
{"companies": ["Capital One", "Wells Fargo"], "products": ["Credit card"], "states": ["TX", "CA"], "daysBack": 30, "maxItems": 200} - Debt-collection complaints about debts not owed:
{"products": ["Debt collection"], "issues": ["Attempts to collect debt not owed"], "maxItems": 500} - Top 50 companies by complaints, last 30 published days vs the 30 before:
{"mode": "companySummary", "maxItems": 50} - Companies with complaint spikes (>= 50% growth, >= 20 complaints), fastest-growing first:
{"mode": "companySummary", "onlySpikes": true, "sortBy": "growth", "maxItems": 50} - Weekly comparison for your watch list:
{"mode": "companySummary", "companies": ["Chime", "Block", "PayPal", "SoFi"], "windowDays": 7} - Auto-lender spikes in vehicle loans:
{"mode": "companySummary", "products": ["Vehicle loan or lease"], "onlySpikes": true, "spikeThresholdPct": 40}
Schedule tips
Daily feed of new complaints for a watch list (Apify Schedule, e.g. daily 14:00 UTC, after CFPB's daily refresh):
{ "sinceLastRun": true, "stateKey": "watchlist-daily", "companies": ["Capital One", "Synchrony", "Discover"], "maxItems": 2000 }
Weekly spike alerts (each spiking company is delivered once per window):
{ "mode": "companySummary", "sinceLastRun": true, "stateKey": "spikes-weekly", "spikeThresholdPct": 50, "minComplaints": 25, "maxItems": 100 }
Use one stateKey per schedule. Connect runs to Slack, email, Google Sheets, Airtable, HubSpot, Make, Zapier, n8n or webhooks with Apify integrations.
Input
| Field | Meaning |
|---|---|
mode | complaints (default) or companySummary |
companies | Company names (partial, case-insensitive; each input matches up to 10 CFPB names) |
products | Products or sub-products (Credit card, Mortgage, Debt collection, Store credit card...) |
issues | Issues or sub-issues (Incorrect information on your report, Repossession, Fraud or scam...) |
states | Consumer mailing-address state codes (TX, CA, PR...) |
tags | servicemember, olderAmerican |
daysBack | complaints mode window, default 7 days (auto-widened when short unless autoExtend: false) |
maxItems | Cap per run (also caps your spend), default 30 |
includeNarratives | Add narrative (CFPB-scrubbed consumer text) if the API supplies it; default off |
windowDays, lagDays, windowEnd | companySummary window (default 30 days ending 14 days before the latest data) |
spikeThresholdPct, minComplaints | Spike rule (default >= 50% growth and >= 20 complaints) |
onlySpikes, sortBy | Only spiking rows; sort by complaints, growth or change |
sinceLastRun, stateKey | Opt-in delta mode for schedules |
Output
Complaint records (recordType: "complaint"): complaintId, dateReceived, dateSentToCompany, daysToSendToCompany, company, product, subProduct, issue, subIssue, state, zip3, submittedVia, companyResponse, companyPublicResponse, responseInProgress, timelyResponse, consumerDisputed (CFPB stopped collecting this in 2017; null for recent data), tags, servicemember, olderAmerican, cfpbUrl, firstSeenAt, and narrative only when includeNarratives is on.
{"recordType": "complaint","complaintId": "31385786","dateReceived": "2026-10-30","dateSentToCompany": "2026-10-30","daysToSendToCompany": 0,"company": "Experian Information Solutions Inc.","product": "Credit reporting or other personal consumer reports","subProduct": "Credit reporting","issue": "Incorrect information on your report","subIssue": "Information belongs to someone else","state": "WA","zip3": "980XX","submittedVia": "Web","companyResponse": "In progress","companyPublicResponse": null,"responseInProgress": true,"timelyResponse": true,"consumerDisputed": null,"tags": [],"servicemember": false,"olderAmerican": false,"cfpbUrl": "https://www.consumerfinance.gov/data-research/consumer-complaints/search/detail/31385786","firstSeenAt": "2026-10-31T07:08:38.730Z"}
Company summary rows (recordType: "companySummary"): company, windowStart, windowEnd, windowDays, complaints, priorWindowStart, priorWindowEnd, priorComplaints, change, growthPct (null when the prior window had 0), newInWindow, spike, spikeThresholdPct, minComplaintsForSpike, complaintsPerDay, rankInWindow, shareOfAllComplaints, topProducts, topSubProducts, topIssues, topSubIssues, topStates (each [{name, complaints, share}]), submittedVia, companyResponses, timelyResponseRate, servicememberComplaints, olderAmericanComplaints, latestDateReceivedInData, cfpbSearchUrl, generatedAt.
Real example (abridged): CREDIT ACCEPTANCE CORPORATION, 2026-09-17 to 2026-10-16: 391 complaints vs 194 (+101.5%, spike: true), 60% vehicle loan or lease, top issues Managing the loan or lease and Repossession, top state MI. Full examples: sample-output.json.
Every run also writes a summary (window, resolved filters, matching counts, latest date in data, why the run stopped) to the OUTPUT record. The dataset has Complaints and Company summaries table views.
Data source, timing and fair use
- CFPB Consumer Complaint Database public search API (
consumerfinance.gov/data-research/consumer-complaints/search/api/v1/), free, no key, public domain (CC0). Requests are sequential or 3 at a time, with a declared User-Agent and retries. - CFPB refreshes the database daily. A complaint is published after the company responds or after 15 days, whichever comes first, so recent days fill in over about two weeks (credit bureaus respond almost immediately, so they dominate the newest days).
- Complaints are not verified by the CFPB and are not evidence of wrongdoing; volume partly reflects company size. Use
shareOfAllComplaintsand growth rather than raw counts when comparing companies. - Narratives: the CFPB publishes scrubbed narratives only when consumers opt in; the public search API currently does not return narrative text, so
narrativeis usually null. - Not affiliated with or endorsed by the CFPB.
- Related feeds from moment-data: Federal Contract Awards Feed, US Product Recalls Feed, SEC EDGAR Filings Feed.
Pricing
Pay per event: a small fee per run plus a fee per complaint or company row delivered. maxItems caps your spend, and runs stop cleanly at your maximum charge limit. See the Pricing tab.
FAQ
Why are the last few days so dominated by credit bureaus? Publication lag: most other companies' complaints appear about 15 days after receipt. Use daysBack 30+ or sinceLastRun for complete coverage, and companySummary (which skips the lag by default) for trends.
How do I find a company's exact CFPB name? Type part of it; the run log and OUTPUT.resolution show what it matched.
Can I get history? Up to 365 days per run in complaints mode (newest first, up to 10,000 complaints scanned per run); windowEnd lets companySummary look at any past period.
Is there personal data? No names or contact details exist in the data; ZIP codes are truncated to 3 digits.