來電與號碼
電話號碼格式
涵蓋範圍: 地區資訊來自各站所屬國家的官方編碼計畫。西班牙為每個市話號碼區段列出了省份;許多其他國家列出了區碼和城市。任何國家的手機號碼都沒有地區,少數國家尚未公布我們能讀取的編碼計畫:對這些國家我們只顯示線路類型。
開啟工具本頁內容
用途
檢查電話號碼是否有效,是手機、市話、免付費號碼還是加值付費號碼,並以E.164、國內和國際格式顯示。
使用要求
任何 NoCall 帳號都可以閱讀這些指南。部分工具需要 Pro,各指南會註明。
輸入包含國際區碼的完整號碼。使用國內號碼時,請先檢查版本所在國家或國家選擇器。
使用步驟
電話號碼格式
輸入包含國際區碼的完整號碼。使用國內號碼時,請先檢查版本所在國家或國家選擇器。
檢查
E.164 · 不含國家區碼 · 國際格式
虛構範例
此範例為虛構內容,並非真實查詢。請勿撥打電話或開啟其中的連結。
+44 1632 960123理解結果
這是書寫號碼的國際標準:加號、國碼和國內號碼,不含空格,也沒有開頭的0。應用程式和電話系統用它來儲存號碼。
限制
僅提供格式和支援的區碼,不能證明號碼的位置、持有人或使用狀態。部分區碼由多個地區共用。
疑難排解
輸入無效時檢查格式和國家。連線出錯時重試;達到限制後請等待指定時間。
無效的電話號碼
安全檢查或 API 連線未能及時響應。請幾秒後重試。
透過 API 使用
需要 API 金鑰和點數。每次完成的呼叫扣 1 點,即使沒有資料也一樣。有效的 Pro 帳戶每個 UTC 曆月包含 20 點,由所有 API 路由共用並優先扣用;當月未使用的點數不會累積到下個月。在帳戶頁面購買的點數不需 Pro 即可使用,且永不過期。
錯誤一律不扣點:401 invalid_api_key(缺少金鑰或金鑰無效)、403 pro_required(沒有 Pro 點數,也沒有購買的點數)、422 輸入無效、429 quota_exceeded(點數用完)、rate_limit_exceeded 或 ai_busy(sms-check 的 AI 已達負載上限)、503 tool_warming(資料仍在準備中)或 tool 或供應商無法使用。收到 429 或 503 後,請等 Retry-After 標頭中的秒數過後再重試。
依編碼計畫提供 E.164、國內和國際格式、國碼、國家及有效性。可能存在但尚未核配的號碼會回傳 valid=false。
將 JSON 主體傳送到該 tool 專屬的路由,或加上 tool 欄位後傳送到 POST /v2/tools。兩種路由回傳的結果相同。
POST https://api.nocall.io/v2/phone-formats
POST https://api.nocall.io/v2/tools {"tool":"phone-formats","phone":"+34912345678","country":"ES"}參數
| 名稱 | 類型 | 必填 | 說明 |
|---|---|---|---|
| phone | string (1–40) | 是 | E.164(+34…)或國內格式的電話號碼。 |
| country | string (enum, 56) | 否 (預設: "ES") | 雙字母國家代碼,例如 ES 或 US,用於國內格式輸入和該國資料。 |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/phone-formats' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"phone":"+34912345678","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/phone-formats',
method='POST',
data=json.dumps({'phone': '+34912345678', '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/phone-formats', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ phone: '+34912345678', 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);回應範例(200)
這是 API 參考文件中的範例。查詢使用虛構號碼,彙總資料和 AI 回答只呈現結果的結構,並非即時資料。
{
"data": {
"tool": "phone-formats",
"result": {
"e164": "+34912345678",
"national": "912 34 56 78",
"international": "+34 912 34 56 78",
"callingCode": "34",
"country": "ES",
"valid": true
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}結果欄位(data.result)
| 欄位 | 類型 | 說明 |
|---|---|---|
| e164 | string | E.164 格式的號碼;無法格式化時為 null。 |
| national | string | 號碼所屬國家的國內格式。 |
| international | string | 國際格式的號碼。 |
| callingCode | string | 號碼所屬國家的國碼;未知時為 null。 |
| country | string | null | 號碼所屬國家(ISO 代碼);無法判定時為 null。 |
| valid | boolean | 號碼在編碼計畫中是否有效。false 仍是完成的結果。 |
