{"api":"phone-check","method":"libphonenumber-js/max 1.13.9","ruleset":{"library":"libphonenumber-js/max","version":"1.13.9","metadata_format":4,"regions":245,"calling_codes":206,"non_geographic_calling_codes":9,"regions_without_plan":["AQ","BV","GS","HM","PN","TF","UM"],"regions_not_iso":["AC","TA","XK"],"published":null,"note":"Every field here is read from the metadata this Worker loaded, not written by hand. `published` is null because libphonenumber ships no publication date with its numbering tables — the library version is the only stamp we can verify, and we will not invent one. Numbering plans change by regulator proclamation, so a range allocated after this library version was cut may not be recognised here."},"regions_supported":245,"regions":["AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"],"regions_not_supported":["AQ","BV","GS","HM","PN","TF","UM"],"regions_not_iso":["AC","TA","XK"],"reserved_ranges":[{"code":"NANPA_FICTIONAL_555_01XX","label":"NANP fictional-use block","range":"(NPA) 555-0100 to 555-0199, in every geographic North American area code","source":"NANPA / ATIS-0300115 “555 NXX Line Number Reference Document” — line numbers 0100 through 0199 in the 555 NXX are reserved for fictional use in every NANP area code; the rest of the 555 NXX is assignable."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (major city area codes)","range":"0113 / 0114 / 0115 / 0116 / 0117 / 0118 / 0121 / 0131 / 0141 / 0151 / 0161 496 0000 to 496 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (Tyneside, Durham and Wearside)","range":"0191 498 0000 to 498 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (London)","range":"020 7946 0000 to 7946 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (Northern Ireland)","range":"028 9018 0000 to 9018 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (Cardiff)","range":"029 2018 0000 to 2018 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_GEOGRAPHIC","label":"Ofcom drama block (01632, an area code that is not in use)","range":"01632 960000 to 960999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_MOBILE","label":"Ofcom drama block (mobile)","range":"07700 900000 to 900999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_FREEPHONE","label":"Ofcom drama block (freephone)","range":"0808 157 0000 to 157 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."},{"code":"OFCOM_DRAMA_PREMIUM_RATE","label":"Ofcom drama block (premium rate)","range":"0909 879 0000 to 879 0999","source":"Ofcom, “Telephone numbers for use in TV and radio drama programmes” (1 March 2019) — blocks set aside for drama so that broadcast numbers never ring a real subscriber."}],"reserved_ranges_scope":"Reserved/fictional blocks are checked for +1 (NANPA 555-0100–555-0199) and +44 (the Ofcom drama ranges) only — 10 published blocks, last read back against the source documents on 2026-08-09. No other regulator publishes one we can machine-check, so outside those two calling codes no reserved-range test runs at all.","reserved_ranges_reviewed":"2026-08-09","pricing":"Quoted in each paid endpoint's own 402 challenge; GET /.well-known/x402 prices this whole origin in one free call.","methodology":"Pure in-Worker validation using Google's libphonenumber metadata (compiled in). We parse the number, normalize to E.164, classify the line type, and test whether it CONFORMS to the region's published numbering plan — i.e. matches a number pattern that plan allows. Digits inside a regulator-published reserved/fictional block are flagged separately, for +1 and +44. Deterministic and private — numbers never leave the Worker and nothing is stored.","limitations":"Numbering-plan CONFORMANCE only. A VALID verdict means the digits match a pattern the plan publishes — it does NOT mean the range was ever issued to a carrier, and it does not mean the line is live. Conformance and issuance genuinely diverge: NANPA's 555-0100–555-0199 fiction block conforms to the US plan and is issued to nobody, which is why it now answers RESERVED_RANGE rather than VALID. We also CANNOT tell you who owns a number, whether it was ported, or its spam reputation — those require paid telco APIs (HLR lookup, carrier data). Seven assigned ISO regions have no plan at all in these tables: AQ, BV, GS, HM, PN, TF, UM. This list is not ISO 3166-1: it also carries AC, TA, XK, which ISO does not assign as country codes (AC and TA are exceptionally reserved, XK is user-assigned) but which are real dialable plans.","not_checked":["block_allocation","carrier_lookup","line_activity_hlr","ported_status","spam_reputation"],"line_types":["mobile","fixed_line","fixed_line_or_mobile","toll_free","premium_rate","shared_cost","voip","personal_number","pager","uan","voicemail","unknown"],"verdicts":{"VALID":"The digits CONFORM to the applied numbering plan — they match a number pattern that plan publishes. Conformance, not issuance: NOT proof the range was ever handed to a carrier, and NOT proof a line exists.","RESERVED_RANGE":"The digits sit inside a block its regulator publishes as reserved for fiction or drama and never issued to a subscriber. `reserved.hit` names the block and cites the document; `valid` still reports plan conformance separately, because most of these blocks conform perfectly.","POSSIBLE_BUT_INVALID":"The length is plausible under the applied plan, but the digits fall in no number range it publishes. The plan that was applied is named in `plan` and in every evidence line.","INVALID":"Not even a possible number under the applied plan, or unparseable.","NO_RULES_FOR_RANGE":"We hold NO numbering plan for this range, so validity is undeterminable — `valid` is null, never false. This is our coverage gap, never a claim that the number is bad."},"endpoints":[{"method":"GET","path":"/phone-check/check","params":"number (required), region (optional for +E.164)"},{"method":"GET","path":"/phone-check/batch","params":"numbers (comma-separated list), region"}],"examples":["/phone-check/check?number=%2B14155552671","/phone-check/check?number=07400%20123456&region=GB","/phone-check/batch?numbers=%2B14155552671,%2B447400123456"],"disclaimer":"Numbering-plan CONFORMANCE only. Confirms a number is well-formed and matches a number pattern its region's published numbering plan allows — NOT that the range was ever issued to a carrier, NOT that anyone holds the number, and NOT that the line is active or reachable. Regulator-published reserved/fictional blocks are flagged for +1 and +44 only; no allocation, carrier lookup, HLR, or line-activity check is performed. All information is provided \"AS IS\" without warranty of any kind, for informational purposes only. We accept no responsibility or liability for any decision, loss, or action taken in reliance on it. Always verify independently before acting."}