primaryArchetype
Optional
Single headline archetype — Complaint Accelerator | Slow Responder | Dispute Magnet | High-Severity Risk | Single-Issue Concentrated | Consumer-Friendly Resolver | Single Complaint | Standard Responder (companySummary rows)
CFPB Complaint Intelligence — Vendor Risk & Screening
Pricing
from $2.00 / 1,000 complaint fetcheds
Turn 5M+ CFPB consumer complaints into decisions: screen companies pass / review / fail, score complaint-handling risk, monitor what changed since last run, benchmark cohorts, and build audit-ready due-diligence packs. Filter by company, product, state, and date. No API key.
Pricing
from $2.00 / 1,000 complaint fetcheds
Rating
0.0
(0)
Developer
Ryan Clinton
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
4
Monthly active users
6 days ago
Last modified
Categories
Share
kind
Optional
Row type — 'record' (one complaint), 'aggregation' (count bucket), 'companySummary' (per-company risk profile), 'runSummary' (run-level rollup), 'riskEvent' (actionable complaint-spike / escalation / rapid-deterioration event), 'dueDiligence' / 'auditPack' (single board-ready / evidence vendor pack), 'industryProfile' (product-level risk picture + baseline), 'timeseries' (monthly counts + velocity), 'trend' (period-over-period change + emerging issues), 'stateRisk' (complaints per 100k by state), 'info' (no-match explanation on an otherwise-empty run), 'error' (terminal failure explanation)
recordType
Optional
Stable discriminator mirroring kind — record | aggregation | companySummary | runSummary | error
schemaVersion
Optional
Output schema version (additive within a major version)
error
Optional
True on an error row (terminal failure explanation, run still SUCCEEDED)
failureType
Optional
Error classification — 'edge-block' (transient CFPB/Akamai deny) or 'upstream-error' (error rows only)
message
Optional
Human-readable failure reason (error rows only)
retryable
Optional
Whether re-running shortly is likely to succeed (error rows only)
complaintId
Optional
CFPB complaint identifier (records mode only)
dateReceived
Optional
Date complaint was received (records mode only)
dateSentToCompany
Optional
Date complaint was sent to company (records mode only)
product
Optional
Financial product type (records mode only)
subProduct
Optional
Financial product sub-type (records mode only)
issue
Optional
Primary complaint issue (records mode only)
subIssue
Optional
Complaint sub-issue (records mode only)
company
Optional
Company name (records mode only)
companyResponse
Optional
Company response to complaint (records mode only)
companyPublicResponse
Optional
Company public response (records mode only)
state
Optional
Consumer state (records mode only)
zipCode
Optional
Consumer ZIP code (records mode only)
narrative
Optional
Consumer complaint narrative (records mode only)
consumerDisputed
Optional
Whether consumer disputed the response (records mode only)
timely
Optional
Whether company responded timely (records mode only)
submittedVia
Optional
Submission channel — Web, Phone, etc. (records mode only)
cfpbUrl
Optional
URL to complaint on CFPB website (records mode only)
aggregateBy
Optional
Field used for aggregation grouping (aggregation mode only)
rank
Optional
Bucket rank — 1 is the largest count (aggregation mode only)
term
Optional
Bucket label — e.g. company name, product, state (aggregation mode only)
count
Optional
Number of complaints in this bucket (aggregation mode only)
totalMatching
Optional
Total complaints matching the query filters (aggregation mode only)
queryFilters
Optional
Query filters that produced this aggregation (aggregation mode only)
extractedAt
Optional
ISO timestamp when data was extracted
productCategory
Optional
Complaint product mapped to a stable category — credit-reporting | debt-collection | mortgage | credit-card | bank-account | student-loan | auto-loan | money-transfer | payday-loan | personal-loan | other (record rows)
responseType
Optional
Normalized company response — closed-with-monetary-relief | closed-with-non-monetary-relief | closed-with-relief | closed-with-explanation | closed-without-relief | closed | untimely | in-progress | other (record rows)
reliefProvided
Optional
Whether the company provided monetary or non-monetary relief (record rows)
timelyResponse
Optional
Whether the company responded on time (record rows)
consumerDisputedFlag
Optional
Whether the consumer disputed the response, as a boolean (record rows; null-equivalent when CFPB no longer collects it)
hasNarrative
Optional
Whether the complaint includes a consumer narrative (record rows)
severityFlags
Optional
Stable per-complaint flags — untimely-response | consumer-disputed | relief-provided | no-relief (record rows)
dataCompleteness
Optional
0-100 share of key fields populated on this record
severityScore
Optional
0-100 weighted severity of the complaint TYPE (identity theft / foreclosure / fraud / harassment, etc.) — record rows; on companySummary rows this is the company's average severity. Distinct from complaintRiskScore (how the company HANDLES complaints)
severityClass
Optional
critical | high | moderate | low (record rows)
severityFactors
Optional
Stable severity tags fired for this complaint — identity-theft | fraud | foreclosure | repossession | debt-harassment | legal-action | unauthorized-activity | credit-report-error | … (record rows)
maxSeverityScore
Optional
Highest single-complaint severity for this company (companySummary rows)
criticalComplaintCount
Optional
Complaints classed severity=critical (companySummary + runSummary rows)
topIssueConcentration
Optional
Share of this company's complaints from its single biggest issue, 0..1 (companySummary rows)
concentrationRisk
Optional
high (>=0.6) | medium (>=0.4) | low — concentration of complaints in one issue (companySummary rows)
totalMatchingForCompany
Optional
Exact CFPB total matching this company's query (companies[] / compare mode); null on broad searches (companySummary rows)
watchlistDelta
Optional
Cross-run change vs the last watchlist run — changeFlag (NEW/INCREASED/DECREASED/UNCHANGED) + newComplaintsSinceLastRun + riskScoreDelta (companySummary rows, only when watchlistName is set)
avgSeverityScore
Optional
Complaint-weighted average severity across the run (runSummary row)
cohortStats
Optional
Averages across the companies in THIS run + leader/laggard — cohortAverageIntelligenceScore / cohortAverageDisputeRate / … Scoped to the result set, never a cross-industry baseline (runSummary row, cohort mode)
eventType
Optional
riskEvent type — complaint-spike | risk-escalation | high-severity-company | critical-screening (riskEvent rows)
detail
Optional
Human-readable, paste-ready description of the event (riskEvent rows)
industry
Optional
The product/industry profiled (industryProfile row)
riskTrend
Optional
accelerating | steady | declining | insufficient-data (industryProfile row)
topIssues
Optional
Top issues by volume — { issue, count, share } (industryProfile row)
fastestGrowingIssues
Optional
Issues new or growing >=50% vs the previous period (industryProfile / trend rows)
earlyWarnings
Optional
Named regulatory surge signals — { signal (identity-theft-surge / fraud-surge / …), issue, growthRate, warningLevel } (industryProfile / trend rows)
baseline
Optional
Real product-wide complaint-weighted untimely + relief rates from CFPB aggregation (industryProfile row)
executiveSummary
Optional
Deterministic templated narrative — { headline, summary } (companySummary / pack rows)
watchItems
Optional
Items flagged for monitoring on this vendor (dueDiligence row)
highestSeverityIssues
Optional
Issues ranked by complaint-type severity — { issue, count, severityScore, severityClass } (industryProfile row)
series
Optional
Array of { period: 'YYYY-MM', count } monthly complaint counts (timeseries row)
velocityClass
Optional
spike (>=2x avg) | rising | steady | dropping | insufficient-data (timeseries row)
velocityScore
Optional
0-100 — latest period vs historical average (50 = on-average, 100 = 2x) (timeseries row)
changePercent
Optional
Percent change current vs previous period (trend / timeseries rows)
currentPeriodComplaints
Optional
Exact complaint count in the current period (trend row)
previousPeriodComplaints
Optional
Exact complaint count in the previous equal-length period (trend row)
emergingIssues
Optional
Issues newly appearing or growing >=50% vs the previous period — { issue, currentCount, previousCount, growthRate, trend } (trend row)
complaintsPer100k
Optional
Complaints normalised per 100,000 residents (stateRisk row; null for unknown states/territories)
population
Optional
Bundled US Census 2020 state population used for normalisation (stateRisk row)
companyKey
Optional
Stable hash of the normalized company name for cross-run joins (companySummary rows)
complaintCount
Optional
Complaints for this company in the result set (companySummary rows)
complaintIntelligenceScore
Optional
0-100 SIGNATURE holistic risk score (higher = more concerning): complaint-handling 50% + complaint-type severity 25% + issue concentration 15% + velocity 10%. The headline score riskLevel / grade / screeningResult derive from (companySummary rows)
grade
Optional
A-F letter grade from complaintIntelligenceScore (alias of complianceRating) (companySummary rows)
signals
Optional
Company-level stable signal tokens — accelerating-complaints | high-untimely-rate | high-dispute-rate | low-relief-rate | high-severity-mix | issue-concentration | no-monetary-relief (companySummary rows)
decisionEvidence
Optional
Credit-score-style explainability — { primaryDrivers[], impactWeights: {handling, severity, concentration, velocity}, topComponent } (companySummary / pack rows)
themeExposure
Optional
Share of the company's complaints per regulatory theme, 0..1 (companySummary rows)
themes
Optional
Regulatory themes for a complaint — identity-theft | fraud | debt-collection | mortgage-servicing | credit-reporting | billing-payments | account-management | account-access | other (record rows)
portfolio
Optional
Portfolio-level rollup — { portfolioRiskScore, highestRiskCompany, criticalAlerts, newCriticalAlerts, portfolioTrend } (runSummary row)
changes
Optional
What changed since the last watchlist run — [{ company, change: new|rank-up|rank-down|complaints-increased, previousRank, currentRank, newComplaints }] (runSummary row)
supportingMetrics
Optional
Underlying rates behind the verdict (dueDiligence / auditPack rows)
primaryArchetype
Optional
Single headline archetype — Complaint Accelerator | Slow Responder | Dispute Magnet | High-Severity Risk | Single-Issue Concentrated | Consumer-Friendly Resolver | Single Complaint | Standard Responder (companySummary rows)
companyProfile
Optional
Persistent cross-run memory — firstSeen, runsSeen, highestIntelligenceScore, previousIntelligenceScore, intelligenceTrend, scoreHistory[] (companySummary rows, watchlist mode)
intelligenceTrend
Optional
improving | worsening | stable | new — direction of the intelligence score vs last run (companySummary rows, watchlist mode)
vsIndustryBaseline
Optional
Company rate vs the real product-wide baseline — untimelyRateVsBaseline / reliefRateVsBaseline (companySummary rows, when a product filter is set)
monetaryReliefRate
Optional
Share of the company's complaints closed with MONETARY relief, 0..1 (companySummary rows)
relativeRisk
Optional
complaintIntelligenceScore ÷ cohort-average (cohort mode; >1 = riskier than the run's cohort average) (companySummary rows)
cohortComparison
Optional
Position vs the run's cohort — { cohortAverageIntelligenceScore, disputeRateVsCohort, position: worse-than-cohort|near-cohort-average|better-than-cohort } (cohort mode, companySummary rows)
previousRank
Optional
This company's risk rank in the previous watchlist run (companySummary rows, watchlist mode)
rankChange
Optional
previousRank − rankInResults; positive = moved up the risk leaderboard since last run (companySummary rows, watchlist mode)
complaintRiskScore
Optional
0-100 complaint-HANDLING sub-score (untimely/dispute/relief rates + velocity), a transparent driver of complaintIntelligenceScore (companySummary rows)
riskLevel
Optional
Risk band — minimal | low | medium | high | critical (companySummary rows)
complianceRating
Optional
A-F letter grade derived from complaintRiskScore (companySummary rows)
screeningResult
Optional
Vendor-screening verdict — pass | review | fail (companySummary rows)
recommendedAction
Optional
monitor | review | escalate (companySummary rows)
confidence
Optional
How much the risk verdict can be trusted given sample size — high (>=20 complaints) | medium (>=5) | low (companySummary rows)
verdict
Optional
One-sentence plain-English risk verdict, usable in reports/Slack (companySummary rows)
headline
Optional
Run-level headline summary (runSummary row)
oneLine
Optional
Shareable one-line takeaway naming the highest-risk company (runSummary row)
riskFactors
Optional
Stable codes that drove the risk score — high-untimely-rate | dispute-heavy | low-relief-rate | accelerating-complaints (companySummary rows)
archetype
Optional
Stable company labels — Single Complaint | Poor Responder | Dispute-Heavy | Consumer-Friendly Resolver | Rising Complaints | Standard Responder (companySummary rows)
untimelyRate
Optional
Share of this company's complaints with an untimely response, 0..1 (companySummary rows)
reliefRate
Optional
Share of this company's complaints that resulted in relief, 0..1 (companySummary rows)
disputeRate
Optional
Share of dispute-eligible complaints the consumer disputed, 0..1 (companySummary rows)
trend
Optional
12-month velocity — accelerating | steady | declining | insufficient-data (companySummary rows)
rankInResults
Optional
Risk rank within the result set, 1 = highest (companySummary rows)
percentileInResults
Optional
Risk percentile within the result set, 0-100 (companySummary rows)