On this page

Calls & numbers

Is this call a scam?

API · Pro

Coverage: The questions work in any country: no bank, police force or authority anywhere asks by phone for codes, remote access to your phone, transfers to “safe accounts”, gift cards, crypto or passwords. The reporting channel is shown in the countries where NoCall has verified the official body.

Open tool
On this page

Purpose

Tick what happened in the call you just got to find out whether it’s a scam, what to do now and where to report it.

Requirements

Anyone can read these guides, no account needed. Some tools require Pro, as indicated in each guide.

Did someone just call claiming to be your bank, the police, an authority or a relative with a new number? Tick what happened in the call. Your answers never leave your browser.

How to use it

  1. They said they were your bank, the police, an authority, a company or a relative. For example: “we’re calling from your bank’s fraud team” or “Mum, I’ve got a new number”.

  2. They asked for a code you got by text. A verification code, a WhatsApp code or one to confirm a purchase or a payment.

  3. They asked you to install an app or share your screen. AnyDesk, TeamViewer, QuickSupport or a so-called “security app”.

  4. They asked you to move money or pay with gift cards or crypto. For example to a “safe account”, to “cancel a charge” or to pay a fine.

  5. They asked for your card number, its PIN or your passwords. Also the CVV, your online banking credentials or your digital signature.

  6. They rushed you, threatened you or told you not to tell anyone. “You have to do it now”, “if you hang up you’ll lose your money”, “don’t tell anyone at the bank”.

  7. They asked you to dial a code with stars and hashes. For example **21*…# or *401*…: it forwards your calls to the scammer.

Synthetic example

Note

Invented example, not a real lookup. Do not call or open its links.

Synthetic example
They said they were your bank, the police, an authority, a company or a relative
Synthetic example
They asked for a code you got by text

Interpret the result

It’s a scam: hang up: No bank, police force, authority or company asks you by phone for a code, control of your phone, to move your money, your passwords or to forward your calls. Do this now:

Very suspicious: Pressure, threats and secrecy are scammers’ main tools. Hang up and check it yourself through an official channel:

No clear signs of a scam: Even so, if they claimed to be a company or an authority, check it yourself:

Limitations

Warning

Your answers are processed in your browser and are never sent or stored.

Report it to the police in your country and, if money or bank details are involved, tell your bank as soon as possible.

Troubleshooting

The security check or API connection did not respond in time. Try again in a few seconds.

Use with the API

Warning

Needs an API key and credits. Each completed call costs 1 credit, even when there is no data. An active Pro account includes 20 credits per UTC calendar month, shared by every API route and spent first; unused monthly credits do not roll over. Credits bought on your account page work without Pro and never expire.

Note

Errors are never charged: 401 invalid_api_key (missing or invalid key), 403 pro_required (no Pro credits and no purchased credits), 422 invalid input, 429 quota_exceeded (no credits left), rate_limit_exceeded or ai_busy (the AI of sms-check is at capacity), 503 tool_warming (the data is still being prepared) or tool or provider unavailable. After a 429 or 503, retry once the seconds in the Retry-After header have passed.

Seven yes/no answers about a call that just happened give a verdict (scam, suspicious or no clear signs), the steps to take now and the country’s verified reporting channel.

Send the JSON body to the tool's own route, or to POST /v2/tools with the tool field added. Both routes return the same result.

Endpoint
POST https://api.nocall.io/v2/call-scam-check
POST https://api.nocall.io/v2/tools  {"tool":"call-scam-check","answers":{"impersonation":true,"sms_code":true,"pressure":true},"country":"ES"}

Parameters

NameTypeRequiredDescription
answersobjectYesObject with up to seven booleans: impersonation, sms_code, remote_access, move_money, card_or_password, pressure and dial_code. A missing answer counts as no.
countrystring (enum, 56)No (default: "ES")Two-letter country code whose verified reporting channel is returned.
bash
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/call-scam-check' \
  --header "Authorization: Bearer $NOCALL_API_KEY" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $REQUEST_ID" \
  --data '{"answers":{"impersonation":true,"sms_code":true,"pressure":true},"country":"ES"}'

Example response (200)

This is the documented example from the API reference. Lookups use a fictional number, and aggregates and AI answers show the shape of the result, not live data.

JSON
{
  "data": {
    "tool": "call-scam-check",
    "result": {
      "verdict": "scam",
      "signals": [
        "impersonation",
        "sms_code",
        "pressure"
      ],
      "actions": [
        "hang_up",
        "call_official_number",
        "never_share_codes",
        "report"
      ],
      "reportChannel": {
        "name": "INCIBE",
        "fullName": "Instituto Nacional de Ciberseguridad de España",
        "url": "https://www.incibe.es/linea-de-ayuda-en-ciberseguridad",
        "phone": "017"
      }
    }
  },
  "meta": {
    "requestId": "req_example",
    "unitsCharged": 1,
    "usage": {
      "periodStart": "2026-10-01",
      "unitLimit": 20,
      "unitsUsed": 3,
      "unitsRemaining": 17
    }
  }
}

Result fields (data.result)

FieldTypeDescription
verdict"scam" | "suspicious" | "no_clear_signs"scam, suspicious or no_clear_signs.
signalsarray<"impersonation" | "sms_code" | "remote_access" | "move_money" | "card_or_password" | "pressure" | "dial_code">The questions answered yes, in question order.
actionsarray<"hang_up" | "cancel_forwarding" | "uninstall_app" | "call_bank_now" | "change_passwords" | "call_official_number" | "never_share_codes" | "report">What to do now, most urgent first.
reportChannelobject | nullThe country’s verified reporting body (name, full name, page and phone), or null when none is verified.

Frequently asked questions

What if it really was my bank?

If it really was your bank, hanging up does no harm: call the number on your card or in its app yourself and ask. A real bank never asks for your passwords or codes, or for you to move your money to another account.

They called from my bank’s real number. Can it still be a scam?

Yes. Scammers can fake the number shown on your screen (spoofing). That’s why what they ask for matters, not the number they call from.

I already gave them a code or money. What should I do?

Call your bank now to block the card and any pending transactions, change your passwords and report it as soon as possible: time matters to get the money back.