來電與號碼
是手機還是市話?
涵蓋範圍: 適用於所有國家,依據開源函式庫libphonenumber的編碼計畫資料,並由NoCall補充了西班牙的400和118xx號碼區段。未加+輸入的號碼會視為本站所屬國家的號碼。
開啟工具本頁內容
用途
依據官方編碼計畫,查明電話號碼是手機、市話、網路電話還是特殊費率號碼。
使用要求
任何 NoCall 帳號都可以閱讀這些指南。部分工具需要 Pro,各指南會註明。
輸入電話號碼,依據其所屬國家的編碼計畫,查明它是手機還是市話。
使用步驟
開啟工具
輸入電話號碼,依據其所屬國家的編碼計畫,查明它是手機還是市話。
檢查
配合限制說明閱讀可用欄位。空白結果不能證明安全,也不能確認個人身分。
虛構範例
此範例為虛構內容,並非真實查詢。請勿撥打電話或開啟其中的連結。
+44 1632 960123理解結果
配合限制說明閱讀可用欄位。空白結果不能證明安全,也不能確認個人身分。
手機: 該號碼屬於手機號碼區段。手機號碼沒有地區,更換電信業者後仍保留原號碼區段。
市話: 該號碼屬於市話號碼區段,通常與某個地區綁定。
市話或手機: 在這個國家,市話和手機共用相同的號碼區段,僅憑號碼無法判斷是哪一種。
網路電話(VoIP): 該號碼屬於網路通話號碼區段,可以在任何地方使用。
特殊號碼: 既不是手機也不是一般市話:而是免付費號碼、特殊費率、個人號碼或類似服務。
無法判斷: 號碼有效,但其編碼計畫沒有說明它屬於哪種類型。
限制
適用於所有國家,依據開源函式庫libphonenumber的編碼計畫資料,並由NoCall補充了西班牙的400和118xx號碼區段。未加+輸入的號碼會視為本站所屬國家的號碼。
參考資訊,來自公開的編碼計畫。它描述的是號碼類型,而不是號碼背後的個人或公司。
疑難排解
輸入無效時檢查格式和國家。連線出錯時重試;達到限制後請等待指定時間。
請輸入有效的電話號碼或號碼前綴。
目前無法檢查,請稍後再試。
透過 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 標頭中的秒數過後再重試。
行動、市話、兩者皆可、特殊號碼、VoIP 或未知(lineKind),並附編碼計畫中的類型和有效性。
將 JSON 主體傳送到該 tool 專屬的路由,或加上 tool 欄位後傳送到 POST /v2/tools。兩種路由回傳的結果相同。
POST https://api.nocall.io/v2/line-type
POST https://api.nocall.io/v2/tools {"tool":"line-type","phone":"+34600111222","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/line-type' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"phone":"+34600111222","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/line-type',
method='POST',
data=json.dumps({'phone': '+34600111222', '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/line-type', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ phone: '+34600111222', 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": "line-type",
"result": {
"e164": "+34600111222",
"valid": true,
"type": "mobile",
"lineKind": "mobile"
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}結果欄位(data.result)
| 欄位 | 類型 | 說明 |
|---|---|---|
| e164 | string | E.164 格式的號碼;無法格式化時為 null。 |
| valid | boolean | 號碼在編碼計畫中是否有效。false 仍是完成的結果。 |
| type | string (enum, 14) | 編碼計畫中的號碼類型,例如 mobile、fixed_line、toll_free 或 premium_rate;無法分類時為 unknown。 |
| lineKind | "mobile" | "landline" | "either" | "special" | "voip" | "unknown" | 由號碼編碼計畫推得的線路種類。 |
常見問題
能從前幾碼分辨手機和市話嗎?
在許多國家可以:每種類型都有自己的號碼區段。但在少數國家,例如美國和加拿大,手機和市話共用號碼區段,號碼本身無法說明。
號碼轉到其他電信業者後類型會變嗎?
不會。號碼可攜保留號碼及其號碼區段,所以手機仍是手機。電信業者可能與最初核發號碼的不同。
