CFPB Consumer Complaints — Vendor Risk & Due Diligence avatar

CFPB Consumer Complaints — Vendor Risk & Due Diligence

Pricing

from $1.00 / 1,000 per results

Go to Apify Store
CFPB Consumer Complaints — Vendor Risk & Due Diligence

CFPB Consumer Complaints — Vendor Risk & Due Diligence

US Consumer Financial Protection Bureau Consumer Complaint Database — 18M+ complaints since 2011. Search by company, product, state, date. Public domain.

Pricing

from $1.00 / 1,000 per results

Rating

0.0

(0)

Developer

Ti Gg

Ti Gg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

CFPB Consumer Complaints API — Vendor Risk and Due Diligence

Search the US Consumer Financial Protection Bureau Consumer Complaint Database — 18M+ complaints since 2011. Filter by company, product, state, date, or submitted-via. Returns denormalised records (complaint ID, narrative, amount, response, resolution). Built for vendor risk teams, consumer rights organisations, and AI agents that need evidence of bank/customer behaviour.

Free trial

A free Apify account gives you about 5 USD of monthly credits, enough to pull thousands of complaints and inspect the JSON schema before paying.

Use cases

  1. Vendor due diligence — given a company name (e.g.
    "WELLS FARGO & COMPANY"
    ), pull last 12 months of complaints and compute is_timely and is_resolved rates.
  2. Geographic risk — pull complaints in state TX, group by product and sub_product, and chart complaint share by issuer.
  3. Real-time compliance feed — daily cron filtered to is_recent_30_days=true and a watch list of issuers; Slack-alert on any company_response containing "monetary relief".

Input

{
"company_name_contains": "WELLS FARGO",
"state": "TX",
"product": "Checking or savings account",
"date_received_from": "2024-01-01",
"date_received_to": "2026-12-31",
"max_results": 50
}
FieldTypeDefaultDescription
company_name_containsstring""Partial company name match (case-sensitive, uppercase).
statestring""2-letter US state code (e.g. TX, CA).
productstring""Checking or savings account, Mortgage, Debt collection, …
sub_productstring""Narrow by sub-product (e.g. Checking account).
issuestring""Filter by issue category.
date_received_fromstring""Earliest date_received (YYYY-MM-DD).
date_received_tostring""Latest date_received.
has_public_responsebooleanfalseKeep only records with a public company response.
consumer_disputedbooleanfalseKeep only records disputed by the consumer.
max_resultsinteger50Cap on returned records (1–200).

Output (real run)

[
{
"complaint_id": "28954970",
"product": "Checking or savings account",
"sub_product": "Checking account",
"issue": "Managing an account",
"sub_issue": "Deposits and withdrawals",
"company": "WELLS FARGO & COMPANY",
"state": "TX",
"zip_code": "75114",
"tags": "",
"timely": "Yes",
"company_response": "Closed with explanation",
"company_public_response": "Company has responded to the consumer and the CFPB and chooses not to provide a public response",
"consumer_disputed": "No",
"date_received": "2026-09-12",
"date_received_year": 2026,
"date_received_month": "2026-09",
"date_sent_to_company": "2026-09-12",
"submitted_via": "Web",
"response_time_days": 12,
"response_time_hours": 288,
"is_timely": true,
"is_resolved": true,
"is_no_response": false,
"is_explanation": true,
"is_recent_30_days": true,
"is_recent_7_days": false,
"has_public_response": false
}
]
FieldTypeDescription
complaint_idstringCFPB complaint identifier.
product / sub_productstringProduct taxonomy (highest level, then sub).
issue / sub_issuestringSpecific issue reported.
companystringIssuer name as filed.
state / zip_codestringConsumer location.
tagsstringOptional tags (Servicemember, Older American, …).
timelystringWhether the company responded in time.
company_responsestringClosed with explanation, Monetary relief, …
company_public_responsestringPublic statement on the company website (or null).
consumer_disputedstringWhether the consumer disputed the resolution.
date_receivedstringDate the CFPB received the complaint.
date_received_year / date_received_monthinteger / stringHelper dates.
date_sent_to_companystringWhen CFPB forwarded to the company.
submitted_viastringWeb, Phone, Referral, …
response_time_days / response_time_hoursintegerTime to first company response.
is_timely / is_resolved / is_no_response / is_explanationbooleanBoolean helpers.
is_recent_30_days / is_recent_7_daysbooleanRecency flags.
has_public_responsebooleanTrue when company_public_response is present.

Pricing (pay-per-event)

  • No subscription. Free monthly credits apply first.
  • 1 result = $0.001 USD (about $1 per 1 000 results).
  • Charged per item returned in the dataset; failed runs are not charged.

Source, licence, limits

  • Source: CFPB Consumer Complaint Database at https://www.consumerfinance.gov/data-research/consumer-complaints/.
  • Licence: US Government work, public domain (17 U.S.C. § 105).
  • Update frequency: complaints are added daily by the CFPB; this Actor reflects the upstream dataset at the moment of the run.
  • Limits: the CFPB caps each page at 10 000 complaints; we paginate up to max_results. Old complaints (pre-2015) may have sparser fields.

FAQ

Why does state sometimes look lowercase? Some legacy records had inconsistent casing; treat as case-insensitive when filtering.

Why does consumer_disputed come back as "No"? CFPB stores disputed as a string flag; the helper consumer_disputed mirrors that. Use the string for direct comparison.

Can I get the consumer's narrative? The full complaint narrative is downloadable from the CFPB; this Actor distributes denormalised structured fields. Combine with their API endpoint for narrative retrieval.

Why is the company name uppercase? CFPB stores issuer names as uppercase. Convert with .title() for display.

How do I count "monetary relief" responses? Filter where company_response == "Closed with monetary relief". Group by company to rank.

Is there a "disputed" rate I can compute per company? Yes — group by company and compute consumer_disputed == "Yes" / total complaints per company.

Other Actors from DevOne-Studio

Changelog

  • 2026-10-12 — SEO metadata (seoTitle, seoDescription); README rewritten with real output sample, FAQ, cross-links.
  • 2026-10-07 — Pricing switched to Apify pay-per-event ($0.001 per dataset item).
  • 2026-09-30 — Initial public release on the Apify Store.