Home › Funding, grants and compliance › CFPB Complaints Scraper

CFPB Complaints Scraper: Consumer Complaint Database

How it works

Search and monitor the official CFPB Consumer Complaint Database by company, product, issue, state and date. New-since-last-run alerts or per-company trend summaries with response stats. Published fields only, 3-digit ZIP. No API key.

Input options

FieldNameRequiredWhat it does
modeModenoComplaints = list matching complaints, newest first. New since last run = same, but never returns a complaint you already received (schedule it for monitoring). Company summary =...
companiesCompaniesnoCompany names, for example Wells Fargo, Chase, Navy Federal. Matched by words, so Wells Fargo finds WELLS FARGO & COMPANY. Leave empty for all companies (in summary mode: the top...
exactCompanyNameExact company namenoMatch the company name exactly as CFPB spells it (for example WELLS FARGO & COMPANY) instead of by words.
productsProductsnoCFPB product names, for example Credit card, Debt collection, Mortgage, Checking or savings account. Empty = all.
issuesIssuesnoCFPB issue names, for example Fraud or scam. Empty = all.
statesConsumer statesnoTwo-letter state codes of the consumer, for example MI, TX. Empty = all.
lookbackDaysLook back (days)noDate range start = today minus this many days. Ignored when you set a start date.
dateFromStart date (optional)noYYYY-MM-DD, date the complaint was received. Overrides the look-back.
dateToEnd date (optional)noYYYY-MM-DD. Empty = up to the latest data.
companyResponsesCompany responsesnoKeep only these outcomes, for example Closed with monetary relief, Closed with explanation, In progress. Empty = all.
timelyResponseTimely responsenoFilter on whether the company answered on time.
submittedViaSubmitted vianoChannel the complaint came in, for example Web, Phone, Referral, Postal mail. Empty = all.
searchTextSearch textnoFree text matched against the published complaint fields. Ignored for a company when a company name is set.
maxResultsMax resultsnoCap on rows delivered (and charged) this run, up to 5,000. In summary mode: the number of companies, up to 100. Start with 25.

Output fields

One row per result. These are the 36 fields declared in the actor's dataset schema (field list from the schema, not a sample run).

FieldTypeMeaning
typestringcomplaint or company_summary.
complaintIdstringCFPB complaint ID.
dateReceivedstringDate CFPB received the complaint (YYYY-MM-DD).
dateSentToCompanystringDate CFPB forwarded the complaint to the company.
complaintAgeDaysintegerDays between the date received and the run date.
companystringCompany name as CFPB spells it.
productstringCFPB product category.
subProductstringCFPB sub-product.
issuestringCFPB issue.
subIssuestringCFPB sub-issue.
statestringTwo-letter state of the consumer, as published.
zip3stringFirst 3 digits of the published ZIP code only (area level, never the full ZIP).
companyResponsestringHow the company closed the complaint, or In progress.
companyPublicResponsestringOptional public statement the company chose to publish.
timelyResponsebooleanWhether the company answered on time.
submittedViastringChannel: Web, Phone, Referral, Postal mail and so on.
tagsstringCFPB tags such as Older American or Servicemember, when published.
consumerDisputedbooleanWhether the consumer disputed the response (older complaints only).
narrativestringConsumer narrative only when CFPB publishes one (consented and scrubbed by CFPB). Passed through verbatim; CFPB's XXXX redaction is kept.
hasNarrativebooleanTrue when a published narrative is included.
complaintUrlstringPublic CFPB page for the complaint.
matchedCompanyNamesarrayCFPB company names matched by the query (summary rows).
windowFromstringStart of the summary window.
windowTostringEnd of the summary window.
complaintsintegerComplaint count in the window (summary rows).
previousWindowComplaintsintegerComplaint count in the same-length window just before.
changePercentnumberChange vs the previous window, in percent (null when the previous window had none).
trendstringrising, falling, flat or new.
monthlyTrendarrayComplaints per calendar month, oldest first.
topProductsarrayTop 5 products by complaint count.
topIssuesarrayTop 5 issues by complaint count.
topStatesarrayTop 5 consumer states by complaint count.
timelyResponsePercentnumberShare of complaints answered on time.
reliefPercentOfClosednumberShare of closed complaints closed with monetary or non-monetary relief.
responseBreakdownobjectComplaint count per company response.
scrapedAtstringWhen this row was produced.

Limits, stated plainly

Public data only, no login. Fields a source does not publish come back empty rather than guessed. Coverage and freshness follow the underlying public source.

Price

Pay on Apify, no subscription: $0.0015 per complaint returned (pay per event). The live price is on the actor page.

Run it on Apify

Disclosure: we build and maintain this actor.

Related

More in funding, grants and compliance