On this page

Calls & numbers

Asked to dial a code?

API · Pro

Coverage: Recognises the standard mobile network codes (3GPP TS 22.030) that work with almost every carrier in the world: forwarding, barring, call waiting, showing or hiding your number and the IMEI. Also some carrier-specific codes where an official source documents them: *401* in India (Department of Telecommunications advisory) and Verizon’s *72 and *73 in the United States. Other carrier codes are shown as a carrier service.

Open tool
On this page

Purpose

Type the code you’ve been asked to dial (such as **21*…# or *401*…) to find out whether it forwards your calls to someone else, how to undo it and why it’s a scam.

Requirements

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

If someone calling from “your carrier”, “the courier” or “WhatsApp support” asks you to dial a code with stars and hashes, type it here first. Many of those codes forward your calls to the caller, who then receives your voice verification codes.

How to use it

  1. The code you’re asked to dial

  2. Check

  3. Read the available fields alongside their limitations. An empty result does not prove safety or identify a person.

Synthetic example

Note

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

Synthetic example
**21*+44 1632 960123#

Interpret the result

Call forwarding: This code changes where your calls go.

Call barring: This code blocks incoming or outgoing calls on your line.

Call waiting: This code turns call waiting on or off, or checks it.

Show or hide your number: This code decides whether the person you call sees your number.

Show your phone’s IMEI: This code shows your phone’s serial number (IMEI) on screen. It changes nothing, but don’t read it out to strangers.

Change the call barring password: This code changes the password that protects call barring on your line.

USSD banking: This code opens a banking or payment menu from your carrier. If someone walks you through that menu, they can make you send money.

A carrier service: It’s a service code of your carrier, for example to check your balance. Every carrier has its own: check its website or app.

It’s a phone number, not a code: It has no stars or hashes: it’s an ordinary number.

We don’t recognise this code: It doesn’t match any standard code. Don’t dial it if a stranger gave it to you.

Limitations

Warning

Checked in your browser: the code is never sent or stored.

To see whether any forwarding is on, dial *#21# and press call.

Troubleshooting

Type the code exactly as you were given it, with its * and #.

The code is too long: type 64 characters at most.

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.

What a code someone asks you to dial does: call forwarding (and where to), barring, call waiting, caller ID or a carrier service, with its risk and the code that undoes it. Barring passwords are masked.

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/dial-code
POST https://api.nocall.io/v2/tools  {"tool":"dial-code","code":"**21*+34600000000#","country":"ES"}

Parameters

NameTypeRequiredDescription
codestring (1–64)YesThe code as you were asked to dial it, with its * and #, up to 64 characters.
countrystring (enum, 56)No (default: "ES")Two-letter country code of the edition; it enables that country’s carrier codes (IN: *401*, *99#; US: Verizon *72, *71, *73, *67, *82).
bash
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/dial-code' \
  --header "Authorization: Bearer $NOCALL_API_KEY" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $REQUEST_ID" \
  --data '{"code":"**21*+34600000000#","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": "dial-code",
    "result": {
      "code": "**21*+34600000000#",
      "kind": "call_forwarding",
      "action": "register",
      "service": "unconditional",
      "forwardsTo": "+34600000000",
      "calls": null,
      "risk": "high",
      "undo": "##002#",
      "operator": null
    }
  },
  "meta": {
    "requestId": "req_example",
    "unitsCharged": 1,
    "usage": {
      "periodStart": "2026-10-01",
      "unitLimit": 20,
      "unitsUsed": 3,
      "unitsRemaining": 17
    }
  }
}

Result fields (data.result)

FieldTypeDescription
codestringThe code as read: separators removed and barring passwords masked as ••••.
kindstring (enum, 10)What the code is: call_forwarding, call_barring, call_waiting, caller_id, imei, password, mobile_banking, ussd_service, phone_number or unknown.
action"activate" | "deactivate" | "check" | "register" | "erase" | "hide_id_this_call" | "show_id_this_call" | "show" | nullWhat it does to the service: activate, deactivate, check, register, erase, hide_id_this_call, show_id_this_call or show; null when it does not apply.
servicestring (enum, 18) | nullThe service the code changes (for example forwarding of all calls or barring of outgoing calls), or null.
forwardsTostring | nullWhere a forwarding code sends your calls, or null.
callsstring | nullThe number a per-call code or a plain number dials, or null.
risk"high" | "medium" | "low" | "none"high (call forwarding to a number: the scam), medium, low or none.
undostring | nullThe code that undoes it, such as ##002# for any forwarding, or null.
operator"IN" | "US" | nullCountry of a carrier-specific code (IN or US), or null.

Frequently asked questions

What is the call forwarding scam?

Someone pretending to be your carrier, a courier or tech support asks you to dial a code such as **21*number#. That code forwards your calls to the scammer: when WhatsApp or your bank calls you with a verification code, the call goes to them.

How do I know if call forwarding is on?

Dial *#21# and press call: your phone tells you whether calls are forwarded and to which number. To cancel all forwarding, dial ##002#.

Can my carrier ask me to dial a code?

Your carrier publishes its codes on its website or app, but it won’t call you to ask you to forward your calls to another number. If in doubt, hang up and call its customer service number yourself.