Scam message detector
Paste an SMS, email or DM and get the probability it's a scam, and why.
Checks a message for the patterns scams share: pressure to act now, requests for money or codes, impersonation, off-channel links and offers too good to be true. Protect users in your app, or screen inbound messages before a person sees them.
Try it live
Real calls to Jev. Pick an example or paste your own.
Pick an example or paste your own input, then run it.
Under the hood
Every question and rule, in the open. Fork it to change any of them.
What it asks
Reads message, then asks 7 questions in one call.
- Q1Pressure to act nowYes / no
Does the
messagepressure the reader to act immediately (account suspended, limited time, final notice)? - Q2Asks for moneyYes / no
Does the
messageask for money, gift cards, crypto or payment details? - Q3Asks for a code or passwordYes / no
Does the
messageask for a password, a one-time code, a PIN or a login? - Q4ImpersonationYes / no
Does the
messageclaim to be from a bank, a government agency, a delivery company, an employer or a family member in a way the reader can't verify? - Q5Off-channel linkYes / no
Does the
messagecontain a link or phone number the reader is told to use instead of an official channel? - Q6Too good to be trueYes / no
Does the
messageoffer a prize, a refund, a job or an investment return that is too good to be true? - Q7Scam overallYes / no
Taken as a whole, is the
messagea scam or a phishing attempt?
How it decides
Rules run in code, top to bottom. The first one that matches gives the verdict.
- 1If Scam overall ≥ 0.75Scam
- 2If Scam overall ≥ 0.4Suspicious
- 3If Asks for a code or password ≥ 0.7Suspicious
- 4If Scam risk ≥ 45Suspicious
- ·DefaultLooks safe
A 0-100 score weighted from Scam overall ×3, Pressure to act now ×1, Asks for money ×1, Asks for a code or password ×1.5, Impersonation ×1, Off-channel link ×1, Too good to be true ×1.
Call it from your code
Every template runs as-is with an API key, no setup: POST /api/v1/judges/scam-detector/run.
curl -X POST https://tryevally.com/api/v1/judges/scam-detector/run \ -H "Authorization: Bearer $EVALLY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "input": { "message": "USPS: Your package is on hold due to an unpaid $1.99 fee. Pay within 24 hours to avoid return: https://usps-redelivery-help.com" }}'Seen in the wild
Community builds on Jev that use this pattern. Not affiliated with Evally.
More in Trust & safety
- Trust & safety
Community moderator
Approve, review or remove posts against your own community rules, with severity.
ApproveSend to moderatorsRemove+18 questions - Trust & safety
Spam detector
Separate real messages from promotion, bait and bots, and only delete what's clear.
Not spamMaybe spamSpam5 questions - Trust & safety
Fake review detector
Flag fake and incentivized reviews, and route real defect reports to the right team.
GenuineSuspiciousLikely fake+16 questions - Trust & safety
Marketplace listing check
Catch prohibited items, counterfeits and off-platform deals before a listing goes live.
ApproveReviewReject5 questions - Trust & safety
Conversation red-flag detector
Paste a chat and spot love-bombing, money requests, pressure and inconsistent stories.
Looks fineBe carefulRed flags5 questions - Trust & safety
Bot intent classifier
Read a client's recent requests and name what it's after and how it crawls.
AllowSlow downBlock4 questions