[{"data":1,"prerenderedAt":1458},["ShallowReactive",2],{"docs-page:\u002Fdocs\u002Fhttp-api\u002Fcarrier-lookup":3,"docs-navigation":1090,"docs-surround:\u002Fdocs\u002Fhttp-api\u002Fcarrier-lookup":1231,"icon:building-bank":1236,"icon:building-store":1262,"icon:chart-bar":1277,"icon:chart-pie":1290,"icon:code":1297,"icon:discount":1307,"icon:heart-handshake":1321,"icon:mail-forward":1334,"icon:messages":1347,"icon:microphone-2":1354,"icon:photo":1361,"icon:plug-connected":1374,"icon:school":1393,"icon:speakerphone":1400,"icon:stethoscope":1410,"icon:trophy":1426,"icon:user-plus":1445},{"id":4,"title":5,"body":6,"description":1079,"extension":1080,"group":1081,"meta":1082,"navTitle":1081,"navigation":154,"path":1083,"rawbody":1084,"seo":1085,"status":1086,"stem":1087,"updated":1088,"__hash__":1089},"docs\u002Fdocs\u002F09.http-api\u002F05.carrier-lookup.md","Carrier lookup",{"type":7,"value":8,"toc":1074},"minimark",[9,16,42,45,50,56,61,65,976,979,982,1052,1070],[10,11],"endpoint",{"auth":12,"method":13,"response":14,"url":15},"appkey","GET","Plain text","http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx",[17,18,21],"callout",{"type":19,"title":20},"warning","Plain HTTP only",[22,23,24,25,29,30,33,34,37,38,41],"p",{},"This endpoint cannot be called over ",[26,27,28],"code",{},"https:\u002F\u002F"," today: ",[26,31,32],{},"carrierlookup.wire2air.com"," presents a TLS certificate issued for ",[26,35,36],{},"mzone.wire2air.com",", so every HTTPS client rejects the connection. The URL is therefore ",[26,39,40],{},"http:\u002F\u002F",", and your app key travels unencrypted in the query string. Call it only from a server, and treat the app key as exposed if your network is not trusted. Engineering has been asked to fix the certificate (OQ-4).",[22,43,44],{},"A lookup costs one third of a text credit.",[46,47,49],"h2",{"id":48},"parameters","Parameters",[22,51,52,53,55],{},"Send them in the query string (",[26,54,13],{}," is the only documented method).",[57,58],"param-table",{":params":59,"id":60},"[{\"name\":\"APPKEY\",\"in\":\"query\",\"type\":\"string\",\"required\":true,\"description\":\"Your app key, from **Manage Account → API Information** in the dashboard. See [authentication](\u002Fdocs\u002Fauthentication\u002F#app-key).\"},{\"name\":\"MOBILE\",\"in\":\"query\",\"type\":\"string\",\"required\":true,\"example\":\"12121234567\",\"description\":\"The number to look up.\"}]","param",[46,62,64],{"id":63},"examples","Examples",[66,67,68,118,326,448,687],"code-group",{},[69,70,76],"pre",{"className":71,"code":72,"filename":73,"language":74,"meta":75,"style":75},"language-bash shiki shiki-themes github-light-high-contrast github-dark-high-contrast","curl -G \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx\" \\\n  --data-urlencode \"APPKEY=YOUR_APPKEY\" \\\n  --data-urlencode \"MOBILE=12121234567\"\n","cURL","bash","",[26,77,78,99,110],{"__ignoreMap":75},[79,80,83,87,91,95],"span",{"class":81,"line":82},"line",1,[79,84,86],{"class":85},"soyes","curl",[79,88,90],{"class":89},"s-5SL"," -G",[79,92,94],{"class":93},"sT6z2"," \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx\"",[79,96,98],{"class":97},"sHUrx"," \\\n",[79,100,102,105,108],{"class":81,"line":101},2,[79,103,104],{"class":89},"  --data-urlencode",[79,106,107],{"class":93}," \"APPKEY=YOUR_APPKEY\"",[79,109,98],{"class":97},[79,111,113,115],{"class":81,"line":112},3,[79,114,104],{"class":89},[79,116,117],{"class":93}," \"MOBILE=12121234567\"\n",[69,119,124],{"className":120,"code":121,"filename":122,"language":123,"meta":75,"style":75},"language-python shiki shiki-themes github-light-high-contrast github-dark-high-contrast","import urllib.error\nimport urllib.parse\nimport urllib.request\n\nparams = urllib.parse.urlencode({\n    \"APPKEY\": \"YOUR_APPKEY\",\n    \"MOBILE\": \"12121234567\",\n})\nrequest = urllib.request.Request(\n    \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\" + params,\n    method=\"GET\",\n)\n\ntry:\n    with urllib.request.urlopen(request, timeout=30) as response:\n        print(response.status, response.read().decode(\"utf-8\"))\nexcept urllib.error.HTTPError as error:\n    print(error.code, error.read().decode(\"utf-8\"))\n","Python 3","python",[26,125,126,135,142,149,156,168,183,196,202,213,225,238,244,249,258,284,299,313],{"__ignoreMap":75},[79,127,128,131],{"class":81,"line":82},[79,129,130],{"class":97},"import",[79,132,134],{"class":133},"suds8"," urllib.error\n",[79,136,137,139],{"class":81,"line":101},[79,138,130],{"class":97},[79,140,141],{"class":133}," urllib.parse\n",[79,143,144,146],{"class":81,"line":112},[79,145,130],{"class":97},[79,147,148],{"class":133}," urllib.request\n",[79,150,152],{"class":81,"line":151},4,[79,153,155],{"emptyLinePlaceholder":154},true,"\n",[79,157,159,162,165],{"class":81,"line":158},5,[79,160,161],{"class":133},"params ",[79,163,164],{"class":97},"=",[79,166,167],{"class":133}," urllib.parse.urlencode({\n",[79,169,171,174,177,180],{"class":81,"line":170},6,[79,172,173],{"class":93},"    \"APPKEY\"",[79,175,176],{"class":133},": ",[79,178,179],{"class":93},"\"YOUR_APPKEY\"",[79,181,182],{"class":133},",\n",[79,184,186,189,191,194],{"class":81,"line":185},7,[79,187,188],{"class":93},"    \"MOBILE\"",[79,190,176],{"class":133},[79,192,193],{"class":93},"\"12121234567\"",[79,195,182],{"class":133},[79,197,199],{"class":81,"line":198},8,[79,200,201],{"class":133},"})\n",[79,203,205,208,210],{"class":81,"line":204},9,[79,206,207],{"class":133},"request ",[79,209,164],{"class":97},[79,211,212],{"class":133}," urllib.request.Request(\n",[79,214,216,219,222],{"class":81,"line":215},10,[79,217,218],{"class":93},"    \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\"",[79,220,221],{"class":97}," +",[79,223,224],{"class":133}," params,\n",[79,226,228,231,233,236],{"class":81,"line":227},11,[79,229,230],{"class":85},"    method",[79,232,164],{"class":97},[79,234,235],{"class":93},"\"GET\"",[79,237,182],{"class":133},[79,239,241],{"class":81,"line":240},12,[79,242,243],{"class":133},")\n",[79,245,247],{"class":81,"line":246},13,[79,248,155],{"emptyLinePlaceholder":154},[79,250,252,255],{"class":81,"line":251},14,[79,253,254],{"class":97},"try",[79,256,257],{"class":133},":\n",[79,259,261,264,267,270,272,275,278,281],{"class":81,"line":260},15,[79,262,263],{"class":97},"    with",[79,265,266],{"class":133}," urllib.request.urlopen(request, ",[79,268,269],{"class":85},"timeout",[79,271,164],{"class":97},[79,273,274],{"class":89},"30",[79,276,277],{"class":133},") ",[79,279,280],{"class":97},"as",[79,282,283],{"class":133}," response:\n",[79,285,287,290,293,296],{"class":81,"line":286},16,[79,288,289],{"class":89},"        print",[79,291,292],{"class":133},"(response.status, response.read().decode(",[79,294,295],{"class":93},"\"utf-8\"",[79,297,298],{"class":133},"))\n",[79,300,302,305,308,310],{"class":81,"line":301},17,[79,303,304],{"class":97},"except",[79,306,307],{"class":133}," urllib.error.HTTPError ",[79,309,280],{"class":97},[79,311,312],{"class":133}," error:\n",[79,314,316,319,322,324],{"class":81,"line":315},18,[79,317,318],{"class":89},"    print",[79,320,321],{"class":133},"(error.code, error.read().decode(",[79,323,295],{"class":93},[79,325,298],{"class":133},[69,327,332],{"className":328,"code":329,"filename":330,"language":331,"meta":75,"style":75},"language-javascript shiki shiki-themes github-light-high-contrast github-dark-high-contrast","const params = new URLSearchParams({\n  APPKEY: \"YOUR_APPKEY\",\n  MOBILE: \"12121234567\",\n});\n\nconst response = await fetch(`http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?${params}`, {\n  method: \"GET\",\n});\nconsole.log(response.status, await response.text());\n","Node","javascript",[26,333,334,355,364,373,378,382,412,421,425],{"__ignoreMap":75},[79,335,336,339,342,345,348,352],{"class":81,"line":82},[79,337,338],{"class":97},"const",[79,340,341],{"class":89}," params",[79,343,344],{"class":97}," =",[79,346,347],{"class":97}," new",[79,349,351],{"class":350},"sKwhi"," URLSearchParams",[79,353,354],{"class":133},"({\n",[79,356,357,360,362],{"class":81,"line":101},[79,358,359],{"class":133},"  APPKEY: ",[79,361,179],{"class":93},[79,363,182],{"class":133},[79,365,366,369,371],{"class":81,"line":112},[79,367,368],{"class":133},"  MOBILE: ",[79,370,193],{"class":93},[79,372,182],{"class":133},[79,374,375],{"class":81,"line":151},[79,376,377],{"class":133},"});\n",[79,379,380],{"class":81,"line":158},[79,381,155],{"emptyLinePlaceholder":154},[79,383,384,386,389,391,394,397,400,403,406,409],{"class":81,"line":170},[79,385,338],{"class":97},[79,387,388],{"class":89}," response",[79,390,344],{"class":97},[79,392,393],{"class":97}," await",[79,395,396],{"class":350}," fetch",[79,398,399],{"class":133},"(",[79,401,402],{"class":93},"`http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?${",[79,404,405],{"class":133},"params",[79,407,408],{"class":93},"}`",[79,410,411],{"class":133},", {\n",[79,413,414,417,419],{"class":81,"line":185},[79,415,416],{"class":133},"  method: ",[79,418,235],{"class":93},[79,420,182],{"class":133},[79,422,423],{"class":81,"line":198},[79,424,377],{"class":133},[79,426,427,430,433,436,439,442,445],{"class":81,"line":204},[79,428,429],{"class":133},"console.",[79,431,432],{"class":350},"log",[79,434,435],{"class":133},"(response.status, ",[79,437,438],{"class":97},"await",[79,440,441],{"class":133}," response.",[79,443,444],{"class":350},"text",[79,446,447],{"class":133},"());\n",[69,449,454],{"className":450,"code":451,"filename":452,"language":453,"meta":75,"style":75},"language-php shiki shiki-themes github-light-high-contrast github-dark-high-contrast","\u003C?php\n\n$params = http_build_query([\n    'APPKEY' => 'YOUR_APPKEY',\n    'MOBILE' => '12121234567',\n]);\n\n$ch = curl_init('http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?' . $params);\ncurl_setopt_array($ch, [\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 30,\n]);\n\n$body = curl_exec($ch);\nif ($body === false) {\n    echo 'Request failed: ' . curl_error($ch) . PHP_EOL;\n} else {\n    echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . ' ' . $body . PHP_EOL;\n}\ncurl_close($ch);\n","PHP","php",[26,455,456,464,468,481,494,506,511,515,536,544,556,568,572,576,589,606,631,642,673,679],{"__ignoreMap":75},[79,457,458,461],{"class":81,"line":82},[79,459,460],{"class":97},"\u003C?",[79,462,463],{"class":89},"php\n",[79,465,466],{"class":81,"line":101},[79,467,155],{"emptyLinePlaceholder":154},[79,469,470,473,475,478],{"class":81,"line":112},[79,471,472],{"class":133},"$params ",[79,474,164],{"class":97},[79,476,477],{"class":89}," http_build_query",[79,479,480],{"class":133},"([\n",[79,482,483,486,489,492],{"class":81,"line":151},[79,484,485],{"class":93},"    'APPKEY'",[79,487,488],{"class":97}," =>",[79,490,491],{"class":93}," 'YOUR_APPKEY'",[79,493,182],{"class":133},[79,495,496,499,501,504],{"class":81,"line":158},[79,497,498],{"class":93},"    'MOBILE'",[79,500,488],{"class":97},[79,502,503],{"class":93}," '12121234567'",[79,505,182],{"class":133},[79,507,508],{"class":81,"line":170},[79,509,510],{"class":133},"]);\n",[79,512,513],{"class":81,"line":185},[79,514,155],{"emptyLinePlaceholder":154},[79,516,517,520,522,525,527,530,533],{"class":81,"line":198},[79,518,519],{"class":133},"$ch ",[79,521,164],{"class":97},[79,523,524],{"class":89}," curl_init",[79,526,399],{"class":133},[79,528,529],{"class":93},"'http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?'",[79,531,532],{"class":97}," .",[79,534,535],{"class":133}," $params);\n",[79,537,538,541],{"class":81,"line":204},[79,539,540],{"class":89},"curl_setopt_array",[79,542,543],{"class":133},"($ch, [\n",[79,545,546,549,551,554],{"class":81,"line":215},[79,547,548],{"class":89},"    CURLOPT_RETURNTRANSFER",[79,550,488],{"class":97},[79,552,553],{"class":89}," true",[79,555,182],{"class":133},[79,557,558,561,563,566],{"class":81,"line":227},[79,559,560],{"class":89},"    CURLOPT_TIMEOUT",[79,562,488],{"class":97},[79,564,565],{"class":89}," 30",[79,567,182],{"class":133},[79,569,570],{"class":81,"line":240},[79,571,510],{"class":133},[79,573,574],{"class":81,"line":246},[79,575,155],{"emptyLinePlaceholder":154},[79,577,578,581,583,586],{"class":81,"line":251},[79,579,580],{"class":133},"$body ",[79,582,164],{"class":97},[79,584,585],{"class":89}," curl_exec",[79,587,588],{"class":133},"($ch);\n",[79,590,591,594,597,600,603],{"class":81,"line":260},[79,592,593],{"class":97},"if",[79,595,596],{"class":133}," ($body ",[79,598,599],{"class":97},"===",[79,601,602],{"class":89}," false",[79,604,605],{"class":133},") {\n",[79,607,608,611,614,616,619,622,625,628],{"class":81,"line":286},[79,609,610],{"class":89},"    echo",[79,612,613],{"class":93}," 'Request failed: '",[79,615,532],{"class":97},[79,617,618],{"class":89}," curl_error",[79,620,621],{"class":133},"($ch) ",[79,623,624],{"class":97},".",[79,626,627],{"class":89}," PHP_EOL",[79,629,630],{"class":133},";\n",[79,632,633,636,639],{"class":81,"line":301},[79,634,635],{"class":133},"} ",[79,637,638],{"class":97},"else",[79,640,641],{"class":133}," {\n",[79,643,644,646,649,652,655,657,659,662,664,667,669,671],{"class":81,"line":315},[79,645,610],{"class":89},[79,647,648],{"class":89}," curl_getinfo",[79,650,651],{"class":133},"($ch, ",[79,653,654],{"class":89},"CURLINFO_HTTP_CODE",[79,656,277],{"class":133},[79,658,624],{"class":97},[79,660,661],{"class":93}," ' '",[79,663,532],{"class":97},[79,665,666],{"class":133}," $body ",[79,668,624],{"class":97},[79,670,627],{"class":89},[79,672,630],{"class":133},[79,674,676],{"class":81,"line":675},19,[79,677,678],{"class":133},"}\n",[79,680,682,685],{"class":81,"line":681},20,[79,683,684],{"class":89},"curl_close",[79,686,588],{"class":133},[69,688,693],{"className":689,"code":690,"filename":691,"language":692,"meta":75,"style":75},"language-csharp shiki shiki-themes github-light-high-contrast github-dark-high-contrast","using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\n\nvar parameters = new Dictionary\u003Cstring, string>\n{\n    [\"APPKEY\"] = \"YOUR_APPKEY\",\n    [\"MOBILE\"] = \"12121234567\",\n};\n\nusing var client = new HttpClient();\nvar query = await new FormUrlEncodedContent(parameters).ReadAsStringAsync();\nusing var request = new HttpRequestMessage(HttpMethod.Get, \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\" + query);\n\nusing var response = await client.SendAsync(request);\nConsole.WriteLine($\"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}\");\n","C#","csharp",[26,694,695,705,723,741,745,774,779,797,813,818,822,842,866,893,897,918],{"__ignoreMap":75},[79,696,697,700,703],{"class":81,"line":82},[79,698,699],{"class":97},"using",[79,701,702],{"class":85}," System",[79,704,630],{"class":133},[79,706,707,709,711,713,716,718,721],{"class":81,"line":101},[79,708,699],{"class":97},[79,710,702],{"class":85},[79,712,624],{"class":133},[79,714,715],{"class":85},"Collections",[79,717,624],{"class":133},[79,719,720],{"class":85},"Generic",[79,722,630],{"class":133},[79,724,725,727,729,731,734,736,739],{"class":81,"line":112},[79,726,699],{"class":97},[79,728,702],{"class":85},[79,730,624],{"class":133},[79,732,733],{"class":85},"Net",[79,735,624],{"class":133},[79,737,738],{"class":85},"Http",[79,740,630],{"class":133},[79,742,743],{"class":81,"line":151},[79,744,155],{"emptyLinePlaceholder":154},[79,746,747,750,753,755,757,760,763,766,769,771],{"class":81,"line":158},[79,748,749],{"class":97},"var",[79,751,752],{"class":85}," parameters",[79,754,344],{"class":97},[79,756,347],{"class":97},[79,758,759],{"class":85}," Dictionary",[79,761,762],{"class":133},"\u003C",[79,764,765],{"class":97},"string",[79,767,768],{"class":133},", ",[79,770,765],{"class":97},[79,772,773],{"class":133},">\n",[79,775,776],{"class":81,"line":170},[79,777,778],{"class":133},"{\n",[79,780,781,784,787,790,792,795],{"class":81,"line":185},[79,782,783],{"class":133},"    [",[79,785,786],{"class":93},"\"APPKEY\"",[79,788,789],{"class":133},"] ",[79,791,164],{"class":97},[79,793,794],{"class":93}," \"YOUR_APPKEY\"",[79,796,182],{"class":133},[79,798,799,801,804,806,808,811],{"class":81,"line":198},[79,800,783],{"class":133},[79,802,803],{"class":93},"\"MOBILE\"",[79,805,789],{"class":133},[79,807,164],{"class":97},[79,809,810],{"class":93}," \"12121234567\"",[79,812,182],{"class":133},[79,814,815],{"class":81,"line":204},[79,816,817],{"class":133},"};\n",[79,819,820],{"class":81,"line":215},[79,821,155],{"emptyLinePlaceholder":154},[79,823,824,826,829,832,834,836,839],{"class":81,"line":227},[79,825,699],{"class":97},[79,827,828],{"class":97}," var",[79,830,831],{"class":85}," client",[79,833,344],{"class":97},[79,835,347],{"class":97},[79,837,838],{"class":85}," HttpClient",[79,840,841],{"class":133},"();\n",[79,843,844,846,849,851,853,855,858,861,864],{"class":81,"line":240},[79,845,749],{"class":97},[79,847,848],{"class":85}," query",[79,850,344],{"class":97},[79,852,393],{"class":97},[79,854,347],{"class":97},[79,856,857],{"class":85}," FormUrlEncodedContent",[79,859,860],{"class":133},"(parameters).",[79,862,863],{"class":350},"ReadAsStringAsync",[79,865,841],{"class":133},[79,867,868,870,872,875,877,879,882,885,888,890],{"class":81,"line":246},[79,869,699],{"class":97},[79,871,828],{"class":97},[79,873,874],{"class":85}," request",[79,876,344],{"class":97},[79,878,347],{"class":97},[79,880,881],{"class":85}," HttpRequestMessage",[79,883,884],{"class":133},"(HttpMethod.Get, ",[79,886,887],{"class":93},"\"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\"",[79,889,221],{"class":97},[79,891,892],{"class":133}," query);\n",[79,894,895],{"class":81,"line":251},[79,896,155],{"emptyLinePlaceholder":154},[79,898,899,901,903,905,907,909,912,915],{"class":81,"line":260},[79,900,699],{"class":97},[79,902,828],{"class":97},[79,904,388],{"class":85},[79,906,344],{"class":97},[79,908,393],{"class":97},[79,910,911],{"class":133}," client.",[79,913,914],{"class":350},"SendAsync",[79,916,917],{"class":133},"(request);\n",[79,919,920,923,926,928,931,934,937,940,943,945,948,951,954,956,958,960,963,965,967,970,973],{"class":81,"line":286},[79,921,922],{"class":133},"Console.",[79,924,925],{"class":350},"WriteLine",[79,927,399],{"class":133},[79,929,930],{"class":93},"$\"",[79,932,933],{"class":93},"{(",[79,935,936],{"class":97},"int",[79,938,939],{"class":93},")",[79,941,942],{"class":133},"response",[79,944,624],{"class":93},[79,946,947],{"class":133},"StatusCode",[79,949,950],{"class":93},"}",[79,952,953],{"class":93}," {",[79,955,438],{"class":97},[79,957,388],{"class":133},[79,959,624],{"class":93},[79,961,962],{"class":133},"Content",[79,964,624],{"class":93},[79,966,863],{"class":350},[79,968,969],{"class":93},"()}",[79,971,972],{"class":93},"\"",[79,974,975],{"class":133},");\n",[46,977,978],{"id":942},"Response",[22,980,981],{},"The response is a number:",[983,984,985,997],"table",{},[986,987,988],"thead",{},[989,990,991,994],"tr",{},[992,993,978],"th",{},[992,995,996],{},"Meaning",[998,999,1000,1012,1022,1032,1042],"tbody",{},[989,1001,1002,1009],{},[1003,1004,1005,1006],"td",{},"greater than ",[26,1007,1008],{},"1",[1003,1010,1011],{},"A valid wireless number. The value identifies the carrier.",[989,1013,1014,1019],{},[1003,1015,1016],{},[26,1017,1018],{},"-1",[1003,1020,1021],{},"Possibly a landline.",[989,1023,1024,1029],{},[1003,1025,1026],{},[26,1027,1028],{},"-2",[1003,1030,1031],{},"Not a valid number.",[989,1033,1034,1039],{},[1003,1035,1036],{},[26,1037,1038],{},"-3",[1003,1040,1041],{},"Authentication failed.",[989,1043,1044,1049],{},[1003,1045,1046],{},[26,1047,1048],{},"-500",[1003,1050,1051],{},"System error; report it to support.",[17,1053,1056],{"type":1054,"question":1055},"pending","OQ-14",[22,1057,1058,1059,1062,1063,1066,1067,1069],{},"The list of carrier IDs was only in a help-centre article (\"Carrier ID Reference Document\", ",[26,1060,1061],{},"wire2air.zendesk.com",", article 115003613246) that could not be read when these docs were written. It will be added here once engineering supplies it. The previous docs wrote the success case as ",[26,1064,1065],{},">1",", which leaves the meaning of exactly ",[26,1068,1008],{}," unclear.",[1071,1072,1073],"style",{},"html pre.shiki code .soyes, html code.shiki .soyes{--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .s-5SL, html code.shiki .s-5SL{--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sT6z2, html code.shiki .sT6z2{--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sHUrx, html code.shiki .sHUrx{--shiki-default:#A0111F;--shiki-dark:#FF9492}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .suds8, html code.shiki .suds8{--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sKwhi, html code.shiki .sKwhi{--shiki-default:#622CBC;--shiki-dark:#DBB7FF}",{"title":75,"searchDepth":112,"depth":112,"links":1075},[1076,1077,1078],{"id":48,"depth":101,"text":49},{"id":63,"depth":101,"text":64},{"id":942,"depth":101,"text":978},"Find out whether a phone number belongs to a wireless carrier, a probable landline or no valid number, with the legacy HTTP API.","md",null,{},"\u002Fdocs\u002Fhttp-api\u002Fcarrier-lookup","---\ntitle: Carrier lookup\ndescription: Find out whether a phone number belongs to a wireless carrier, a probable landline or no valid number, with the legacy HTTP API.\nstatus: legacy\nupdated: '2026-10-06'\n---\n\n::endpoint{method=\"GET\" url=\"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx\" auth=\"appkey\" response=\"Plain text\"}\n::\n\n::callout{type=\"warning\" title=\"Plain HTTP only\"}\nThis endpoint cannot be called over `https:\u002F\u002F` today: `carrierlookup.wire2air.com` presents a TLS certificate issued for `mzone.wire2air.com`, so every HTTPS client rejects the connection. The URL is therefore `http:\u002F\u002F`, and your app key travels unencrypted in the query string. Call it only from a server, and treat the app key as exposed if your network is not trusted. Engineering has been asked to fix the certificate (OQ-4).\n::\n\nA lookup costs one third of a text credit.\n\n## Parameters\n\nSend them in the query string (`GET` is the only documented method).\n\n::param-table{id=\"param\"}\n---\nparams:\n  - name: APPKEY\n    in: query\n    type: string\n    required: true\n    description: \"Your app key, from **Manage Account → API Information** in the dashboard. See [authentication](\u002Fdocs\u002Fauthentication\u002F#app-key).\"\n  - name: MOBILE\n    in: query\n    type: string\n    required: true\n    example: \"12121234567\"\n    description: \"The number to look up.\"\n---\n::\n\n## Examples\n\n::code-group\n```bash [cURL]\ncurl -G \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx\" \\\n  --data-urlencode \"APPKEY=YOUR_APPKEY\" \\\n  --data-urlencode \"MOBILE=12121234567\"\n```\n```python [Python 3]\nimport urllib.error\nimport urllib.parse\nimport urllib.request\n\nparams = urllib.parse.urlencode({\n    \"APPKEY\": \"YOUR_APPKEY\",\n    \"MOBILE\": \"12121234567\",\n})\nrequest = urllib.request.Request(\n    \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\" + params,\n    method=\"GET\",\n)\n\ntry:\n    with urllib.request.urlopen(request, timeout=30) as response:\n        print(response.status, response.read().decode(\"utf-8\"))\nexcept urllib.error.HTTPError as error:\n    print(error.code, error.read().decode(\"utf-8\"))\n```\n```javascript [Node]\nconst params = new URLSearchParams({\n  APPKEY: \"YOUR_APPKEY\",\n  MOBILE: \"12121234567\",\n});\n\nconst response = await fetch(`http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?${params}`, {\n  method: \"GET\",\n});\nconsole.log(response.status, await response.text());\n```\n```php [PHP]\n\u003C?php\n\n$params = http_build_query([\n    'APPKEY' => 'YOUR_APPKEY',\n    'MOBILE' => '12121234567',\n]);\n\n$ch = curl_init('http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?' . $params);\ncurl_setopt_array($ch, [\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 30,\n]);\n\n$body = curl_exec($ch);\nif ($body === false) {\n    echo 'Request failed: ' . curl_error($ch) . PHP_EOL;\n} else {\n    echo curl_getinfo($ch, CURLINFO_HTTP_CODE) . ' ' . $body . PHP_EOL;\n}\ncurl_close($ch);\n```\n```csharp [C#]\nusing System;\nusing System.Collections.Generic;\nusing System.Net.Http;\n\nvar parameters = new Dictionary\u003Cstring, string>\n{\n    [\"APPKEY\"] = \"YOUR_APPKEY\",\n    [\"MOBILE\"] = \"12121234567\",\n};\n\nusing var client = new HttpClient();\nvar query = await new FormUrlEncodedContent(parameters).ReadAsStringAsync();\nusing var request = new HttpRequestMessage(HttpMethod.Get, \"http:\u002F\u002Fcarrierlookup.wire2air.com\u002Fcarrierlookup\u002Fdefault.aspx?\" + query);\n\nusing var response = await client.SendAsync(request);\nConsole.WriteLine($\"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}\");\n```\n::\n\n## Response\n\nThe response is a number:\n\n| Response | Meaning |\n|---|---|\n| greater than `1` | A valid wireless number. The value identifies the carrier. |\n| `-1` | Possibly a landline. |\n| `-2` | Not a valid number. |\n| `-3` | Authentication failed. |\n| `-500` | System error; report it to support. |\n\n::callout{type=\"pending\" question=\"OQ-14\"}\nThe list of carrier IDs was only in a help-centre article (\"Carrier ID Reference Document\", `wire2air.zendesk.com`, article 115003613246) that could not be read when these docs were written. It will be added here once engineering supplies it. The previous docs wrote the success case as `>1`, which leaves the meaning of exactly `1` unclear.\n::\n",{"title":5,"description":1079},"legacy","docs\u002F09.http-api\u002F05.carrier-lookup","2026-10-06","j13ZGRQGiGezEKzrizgz1TTR6UU2HvEGRfVD5KzLib0",[1091],{"title":1092,"path":1093,"stem":1094,"children":1095,"navTitle":1097,"group":1081,"status":1098},"Wire2Air developer docs","\u002Fdocs","docs\u002F01.index",[1096,1099,1103,1107,1111,1115,1134,1157,1175,1214,1227],{"title":1092,"path":1093,"stem":1094,"navTitle":1097,"group":1081,"status":1098},"Overview","current",{"title":1100,"path":1101,"stem":1102,"navTitle":1081,"group":1100,"status":1098},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F02.getting-started",{"title":1104,"path":1105,"stem":1106,"navTitle":1081,"group":1100,"status":1098},"Authentication","\u002Fdocs\u002Fauthentication","docs\u002F03.authentication",{"title":1108,"path":1109,"stem":1110,"navTitle":1081,"group":1100,"status":1098},"Errors","\u002Fdocs\u002Ferrors","docs\u002F04.errors",{"title":1112,"path":1113,"stem":1114,"navTitle":1081,"group":1100,"status":1098},"Rate limits","\u002Fdocs\u002Frate-limits","docs\u002F05.rate-limits",{"title":1116,"navTitle":1081,"group":1081,"status":1098,"path":1117,"stem":1118,"children":1119,"page":1133},"Guides","\u002Fdocs\u002Fguides","docs\u002F06.guides",[1120,1125,1129],{"title":1121,"path":1122,"stem":1123,"navTitle":1124,"group":1081,"status":1098},"Character encoding and message length","\u002Fdocs\u002Fguides\u002Fencoding","docs\u002F06.guides\u002F01.encoding","Encoding and length",{"title":1126,"path":1127,"stem":1128,"navTitle":1081,"group":1081,"status":1098},"Bulk messaging","\u002Fdocs\u002Fguides\u002Fbulk-messaging","docs\u002F06.guides\u002F02.bulk-messaging",{"title":1130,"path":1131,"stem":1132,"navTitle":1081,"group":1081,"status":1098},"Scheduling messages","\u002Fdocs\u002Fguides\u002Fscheduling","docs\u002F06.guides\u002F03.scheduling",false,{"title":1135,"path":1136,"stem":1137,"children":1138,"navTitle":1081,"group":1081,"status":1098},"REST API v1","\u002Fdocs\u002Frest","docs\u002F07.rest\u002F01.index",[1139,1140,1153],{"title":1135,"path":1136,"stem":1137,"navTitle":1097,"group":1081,"status":1098},{"title":1141,"navTitle":1081,"group":1081,"status":1098,"path":1142,"stem":1143,"children":1144,"page":1133},"Messages","\u002Fdocs\u002Frest\u002Fmessages","docs\u002F07.rest\u002F02.messages",[1145,1149],{"title":1146,"path":1147,"stem":1148,"navTitle":1081,"group":1081,"status":1098},"Send a message","\u002Fdocs\u002Frest\u002Fmessages\u002Fsend","docs\u002F07.rest\u002F02.messages\u002F01.send",{"title":1150,"path":1151,"stem":1152,"navTitle":1081,"group":1081,"status":1098},"List received messages","\u002Fdocs\u002Frest\u002Fmessages\u002Flist","docs\u002F07.rest\u002F02.messages\u002F02.list",{"title":1154,"path":1155,"stem":1156,"navTitle":1081,"group":1081,"status":1098},"Campaigns","\u002Fdocs\u002Frest\u002Fcampaigns","docs\u002F07.rest\u002F03.campaigns",{"title":1158,"path":1159,"stem":1160,"children":1161,"navTitle":1081,"group":1081,"status":1098},"Webhooks","\u002Fdocs\u002Fwebhooks","docs\u002F08.webhooks\u002F01.index",[1162,1163,1167,1171],{"title":1158,"path":1159,"stem":1160,"navTitle":1097,"group":1081,"status":1098},{"title":1164,"path":1165,"stem":1166,"navTitle":1081,"group":1081,"status":1098},"Inbound SMS","\u002Fdocs\u002Fwebhooks\u002Finbound-sms","docs\u002F08.webhooks\u002F02.inbound-sms",{"title":1168,"path":1169,"stem":1170,"navTitle":1081,"group":1081,"status":1098},"Inbound SMS and MMS","\u002Fdocs\u002Fwebhooks\u002Finbound-mms","docs\u002F08.webhooks\u002F03.inbound-mms",{"title":1172,"path":1173,"stem":1174,"navTitle":1081,"group":1081,"status":1098},"Delivery reports","\u002Fdocs\u002Fwebhooks\u002Fdelivery-reports","docs\u002F08.webhooks\u002F04.delivery-reports",{"title":1176,"path":1177,"stem":1178,"children":1179,"navTitle":1081,"group":1081,"status":1086},"HTTP API","\u002Fdocs\u002Fhttp-api","docs\u002F09.http-api\u002F01.index",[1180,1181,1185,1189,1193,1194,1198,1202,1206,1210],{"title":1176,"path":1177,"stem":1178,"navTitle":1097,"group":1081,"status":1086},{"title":1182,"path":1183,"stem":1184,"navTitle":1081,"group":1081,"status":1086},"Send SMS","\u002Fdocs\u002Fhttp-api\u002Fsend-sms","docs\u002F09.http-api\u002F02.send-sms",{"title":1186,"path":1187,"stem":1188,"navTitle":1081,"group":1081,"status":1086},"Send MMS","\u002Fdocs\u002Fhttp-api\u002Fsend-mms","docs\u002F09.http-api\u002F03.send-mms",{"title":1190,"path":1191,"stem":1192,"navTitle":1081,"group":1081,"status":1086},"Credit balance","\u002Fdocs\u002Fhttp-api\u002Fcredit-balance","docs\u002F09.http-api\u002F04.credit-balance",{"title":5,"path":1083,"stem":1087,"navTitle":1081,"group":1081,"status":1086},{"title":1195,"path":1196,"stem":1197,"navTitle":1081,"group":1081,"status":1086},"Keyword lookup","\u002Fdocs\u002Fhttp-api\u002Fkeyword-lookup","docs\u002F09.http-api\u002F06.keyword-lookup",{"title":1199,"path":1200,"stem":1201,"navTitle":1081,"group":1081,"status":1086},"Keyword register","\u002Fdocs\u002Fhttp-api\u002Fkeyword-register","docs\u002F09.http-api\u002F07.keyword-register",{"title":1203,"path":1204,"stem":1205,"navTitle":1081,"group":1081,"status":1086},"Keyword credits","\u002Fdocs\u002Fhttp-api\u002Fkeyword-credits","docs\u002F09.http-api\u002F08.keyword-credits",{"title":1207,"path":1208,"stem":1209,"navTitle":1081,"group":1081,"status":1086},"Subscribe user","\u002Fdocs\u002Fhttp-api\u002Fsubscribe-user","docs\u002F09.http-api\u002F09.subscribe-user",{"title":1211,"path":1212,"stem":1213,"navTitle":1081,"group":1081,"status":1086},"Send invitation","\u002Fdocs\u002Fhttp-api\u002Fsend-invitation","docs\u002F09.http-api\u002F10.send-invitation",{"title":1215,"navTitle":1081,"group":1081,"status":1098,"path":1216,"stem":1217,"children":1218,"page":1133},"Integrations","\u002Fdocs\u002Fintegrations","docs\u002F10.integrations",[1219,1223],{"title":1220,"path":1221,"stem":1222,"navTitle":1081,"group":1081,"status":1098},"RSA Authentication Manager","\u002Fdocs\u002Fintegrations\u002Frsa-authentication-manager","docs\u002F10.integrations\u002F01.rsa-authentication-manager",{"title":1224,"path":1225,"stem":1226,"navTitle":1081,"group":1081,"status":1098},"Zapier","\u002Fdocs\u002Fintegrations\u002Fzapier","docs\u002F10.integrations\u002F02.zapier",{"title":1228,"path":1229,"stem":1230,"navTitle":1081,"group":1081,"status":1098},"Changelog","\u002Fdocs\u002Fchangelog","docs\u002F11.changelog",[1232,1234],{"title":1190,"path":1191,"stem":1192,"description":1233,"children":-1},"Check how many SMS credits are left on your account with the legacy HTTP API (checksmscredits.aspx).",{"title":1195,"path":1196,"stem":1197,"description":1235,"children":-1},"Check whether a keyword is still free on a short code before you register it, with the legacy HTTP API.",[1237,1241,1244,1247,1250,1253,1256,1259],[1238,1239],"path",{"d":1240},"M3 21l18 0",[1238,1242],{"d":1243},"M3 10l18 0",[1238,1245],{"d":1246},"M5 6l7 -3l7 3",[1238,1248],{"d":1249},"M4 10l0 11",[1238,1251],{"d":1252},"M20 10l0 11",[1238,1254],{"d":1255},"M8 14l0 3",[1238,1257],{"d":1258},"M12 14l0 3",[1238,1260],{"d":1261},"M16 14l0 3",[1263,1265,1268,1271,1274],[1238,1264],{"d":1240},[1238,1266],{"d":1267},"M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4",[1238,1269],{"d":1270},"M5 21l0 -10.15",[1238,1272],{"d":1273},"M19 21l0 -10.15",[1238,1275],{"d":1276},"M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4",[1278,1281,1284,1287],[1238,1279],{"d":1280},"M3 13a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -6",[1238,1282],{"d":1283},"M15 9a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -10",[1238,1285],{"d":1286},"M9 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -14",[1238,1288],{"d":1289},"M4 20h14",[1291,1294],[1238,1292],{"d":1293},"M10 3.2a9 9 0 1 0 10.8 10.8a1 1 0 0 0 -1 -1h-6.8a2 2 0 0 1 -2 -2v-7a.9 .9 0 0 0 -1 -.8",[1238,1295],{"d":1296},"M15 3.5a9 9 0 0 1 5.5 5.5h-4.5a1 1 0 0 1 -1 -1v-4.5",[1298,1301,1304],[1238,1299],{"d":1300},"M7 8l-4 4l4 4",[1238,1302],{"d":1303},"M17 8l4 4l-4 4",[1238,1305],{"d":1306},"M14 4l-4 16",[1308,1311,1315,1318],[1238,1309],{"d":1310},"M9 15l6 -6",[1238,1312],{"d":1313,"fill":1314},"M9 9.5a.5 .5 0 1 0 1 0a.5 .5 0 1 0 -1 0","currentColor",[1238,1316],{"d":1317,"fill":1314},"M14 14.5a.5 .5 0 1 0 1 0a.5 .5 0 1 0 -1 0",[1238,1319],{"d":1320},"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",[1322,1325,1328,1331],[1238,1323],{"d":1324},"M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572",[1238,1326],{"d":1327},"M12 6l-3.293 3.293a1 1 0 0 0 0 1.414l.543 .543c.69 .69 1.81 .69 2.5 0l1 -1a3.182 3.182 0 0 1 4.5 0l2.25 2.25",[1238,1329],{"d":1330},"M12.5 15.5l2 2",[1238,1332],{"d":1333},"M15 13l2 2",[1335,1338,1341,1344],[1238,1336],{"d":1337},"M12 18h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5",[1238,1339],{"d":1340},"M3 6l9 6l9 -6",[1238,1342],{"d":1343},"M15 18h6",[1238,1345],{"d":1346},"M18 15l3 3l-3 3",[1348,1351],[1238,1349],{"d":1350},"M21 14l-3 -3h-7a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1h9a1 1 0 0 1 1 1v10",[1238,1352],{"d":1353},"M14 15v2a1 1 0 0 1 -1 1h-7l-3 3v-10a1 1 0 0 1 1 -1h2",[1355,1358],[1238,1356],{"d":1357},"M15 12.9a5 5 0 1 0 -3.902 -3.9",[1238,1359],{"d":1360},"M15 12.9l-3.902 -3.899l-7.513 8.584a2 2 0 1 0 2.827 2.83l8.588 -7.515",[1362,1365,1368,1371],[1238,1363],{"d":1364},"M15 8h.01",[1238,1366],{"d":1367},"M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12",[1238,1369],{"d":1370},"M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5",[1238,1372],{"d":1373},"M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3",[1375,1378,1381,1384,1387,1390],[1238,1376],{"d":1377},"M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5",[1238,1379],{"d":1380},"M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5",[1238,1382],{"d":1383},"M3 21l2.5 -2.5",[1238,1385],{"d":1386},"M18.5 5.5l2.5 -2.5",[1238,1388],{"d":1389},"M10 11l-2 2",[1238,1391],{"d":1392},"M13 14l-2 2",[1394,1397],[1238,1395],{"d":1396},"M22 9l-10 -4l-10 4l10 4l10 -4v6",[1238,1398],{"d":1399},"M6 10.6v5.4a6 3 0 0 0 12 0v-5.4",[1401,1404,1407],[1238,1402],{"d":1403},"M18 8a3 3 0 0 1 0 6",[1238,1405],{"d":1406},"M10 8v11a1 1 0 0 1 -1 1h-1a1 1 0 0 1 -1 -1v-5",[1238,1408],{"d":1409},"M12 8l4.524 -3.77a.9 .9 0 0 1 1.476 .692v12.156a.9 .9 0 0 1 -1.476 .692l-4.524 -3.77h-8a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h8",[1411,1414,1417,1420,1423],[1238,1412],{"d":1413},"M6 4h-1a2 2 0 0 0 -2 2v3.5a5.5 5.5 0 0 0 11 0v-3.5a2 2 0 0 0 -2 -2h-1",[1238,1415],{"d":1416},"M8 15a6 6 0 1 0 12 0v-3",[1238,1418],{"d":1419},"M11 3v2",[1238,1421],{"d":1422},"M6 3v2",[1238,1424],{"d":1425},"M18 10a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",[1427,1430,1433,1436,1439,1442],[1238,1428],{"d":1429},"M8 21l8 0",[1238,1431],{"d":1432},"M12 17l0 4",[1238,1434],{"d":1435},"M7 4l10 0",[1238,1437],{"d":1438},"M17 4v8a5 5 0 0 1 -10 0v-8",[1238,1440],{"d":1441},"M3 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",[1238,1443],{"d":1444},"M17 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",[1446,1449,1452,1455],[1238,1447],{"d":1448},"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",[1238,1450],{"d":1451},"M16 19h6",[1238,1453],{"d":1454},"M19 16v6",[1238,1456],{"d":1457},"M6 21v-2a4 4 0 0 1 4 -4h4",3529977955]