Calls & numbers
Is it a premium-rate number?
Coverage: Spain gets every special range of its plan, including the 400 commercial range. Other countries are checked from the number type in their numbering plan when you type a full number; a prefix on its own is checked against the special prefixes we list for the country. International numbers are checked against satellite and missed-call scam codes.
Open toolOn this page
Purpose
Find out whether a number or prefix is premium rate, shared cost, directory enquiries or a missed-call scam code, what calling it costs and whether to call back.
Requirements
Anyone can read these guides, no account needed. Some tools require Pro, as indicated in each guide.
Type a number or a prefix such as 806, 905 or 118. We tell you what kind of special number it is, what calling it usually costs and whether calling back is risky.
How to use it
Open tool
Type a number or a prefix such as 806, 905 or 118. We tell you what kind of special number it is, what calling it usually costs and whether calling back is risky.
Check
Read the available fields alongside their limitations. An empty result does not prove safety or identify a person.
Synthetic example
Invented example, not a real lookup. Do not call or open its links.
806Interpret the result
Read the available fields alongside their limitations. An empty result does not prove safety or identify a person.
Premium rate: A paid service: entertainment, contests, adult content or professional advice. The service sets the price. Far more than a normal call, charged per minute or per call, and never included in a flat rate.
Mass calling and televoting: A range for television votes and contests that receive many calls at once. A fixed price per call that is higher than a normal call.
Directory enquiries (118xx): Directory services that look up and connect numbers. A high connection fee plus a high price per minute; they can put you through to another number while still charging.
Shared cost: A company number where you pay part or all of the call. Usually more than a normal call, and many plans do not include it.
Personal number: A number that forwards calls to another line chosen by its owner. Depends on the operator and is often higher than a normal call.
Commercial calls (400): Spain’s range for sales calls since 17 October 2026. These numbers only make calls. None: operators must block calls to 400 numbers, so there is nothing to pay.
Freephone: Customer-service numbers that are free for the caller. Free from landlines and mobiles.
Satellite or global network: Satellite phones and global networks with their own calling code. Among the highest per-minute rates there are.
Missed-call scam code (wangiri): A calling code that keeps appearing in international missed-call campaigns that try to get you to call back. Charged as an expensive international call; part of it can go to whoever set up the number.
International number: A number from another country. Charged as an international call by your operator.
Ordinary landline or mobile: Not a special-rate number. Like a national call; it is usually in your plan.
Not recognised: We can’t classify this number. Check the price with your operator before calling.
Limitations
Spain gets every special range of its plan, including the 400 commercial range. Other countries are checked from the number type in their numbering plan when you type a full number; a prefix on its own is checked against the special prefixes we list for the country. International numbers are checked against satellite and missed-call scam codes.
Indicative information from published numbering plans. It describes the type of number, never the person or company behind it.
Troubleshooting
If the input is invalid, check its format and country. Retry connection errors; respect the waiting period when a limit is reached.
Enter a valid phone number or prefix.
We couldn’t check it right now. Please try again in a moment.
Use with the API
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.
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.
Premium-rate category of a number or prefix, the risk of calling it back (callbackRisk) and which source decided it.
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.
POST https://api.nocall.io/v2/premium-rate
POST https://api.nocall.io/v2/tools {"tool":"premium-rate","phone":"806","country":"ES"}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| phone | string (1–40) | Yes | Phone number or prefix, in E.164 or national format. |
| country | string (enum, 56) | No (default: "ES") | Two-letter country code, for example ES or US, used for national input and for the country's data. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/premium-rate' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"phone":"806","country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/premium-rate',
method='POST',
data=json.dumps({'phone': '806', 'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/premium-rate', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ phone: '806', country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);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.
{
"data": {
"tool": "premium-rate",
"result": {
"category": "premium",
"prefix": "806",
"callingCode": null,
"source": "spain_plan",
"callbackRisk": "high"
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}Result fields (data.result)
| Field | Type | Description |
|---|---|---|
| category | string (enum, 12) | Premium-rate category of the number or prefix. |
| callbackRisk | "blocked" | "high" | "medium" | "low" | Risk of calling the number back: blocked, high, medium or low. |
| prefix | string | null | Matching prefix, or null. |
| callingCode | string | null | International calling code, or null for a national number. |
| source | "spain_plan" | "number_type" | "country_facts" | "calling_code" | "none" | Which source decided the category. |
Frequently asked questions
How much does a premium-rate call cost?
The service sets the price, so it varies. It is always far more than a normal call and is not included in flat rates. The final amount depends on your operator and plan.
Can I block calls to premium-rate numbers?
Yes. Most operators let you bar outgoing calls to premium-rate and international numbers for free. Ask yours to turn it on.
I called a premium number by mistake. What can I do?
Hang up as soon as possible. Check your next bill and, if you were charged for a service you did not ask for, complain to your operator and then to the telecoms consumer office.
