Crossposted from https://lemmy.blahaj.zone/post/48779421

I'm writing a program that can find info about a phone number. One problem appears to be that Google's phone number library doesn't provide enough info. For instance, take this number: +1 (613) 745-1576. My iPhone correctly says "Ottawa, Ontario, Canada", while Google's library doesn't return the city? How does my iPhone pick this up but not Google's own library? Is this provided by cell carriers? Is it something with the 745 block? If so, where can I find this info?

you are viewing a single comment's thread
view the rest of the comments
[–] 9 points 15 hours ago* (last edited 14 hours ago) (5 children)

The first 3 digits, i.e. the ones between the parentheses in your example, is called the area code.

Area codes in North America were divvied up by US and Canada, and they share the same phone number structure.

Older area codes tend to have a "1" or "0" in the middle, but that convention went away, as devices like fax machines(!) and mobile phones proliferated, and more numbers were needed to handle the load.

The various telephone companies coordinate through the North American Numbering Plan (NANP)

A list of area codes and where they're supposed to be assigned to: https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes

I say "supposed" because you can take a mobile phone number anywhere these days.


The 2nd 3 digits, e.g. "745" in your example, traditionally meant a certain area within the area code. So for example, phone numbers in the 613 area code having 2nd 3 digits of "743", "744" and "745" would typically be to addresses near each other.

That might designate a specific city, or a group of towns.

Once again, mobile phones have taken some of that meaning away as landlines are disappearing.

  • source
  • hideshow 5 child comments
  • [–] [S] 2 points 15 hours ago (3 children)

    I understood that, just how does my iPhone specifically find "Ottawa" specifically when 613 only identifies Eastern Ontario?

  • source
  • parent
  • hideshow 3 child comments