Skip to content

Time zone mismatch

published · September 12, 2026

A time zone mismatch is when the zone a visitor's browser reports keeps a different clock from the zone their IP address is located in, a cheap and strong signup signal.

A time zone mismatch is the disagreement between the zone a visitor's browser reports — Intl.DateTimeFormat().resolvedOptions().timeZone, which the operating system sets — and the zone the visitor's IP address is located in. The two are set by different things: the address by the network the request arrived from, the browser zone by the device the person is holding. When someone in one country routes through an address in another, the clocks disagree, and the browser is the half that is hard to fake without noticing.

What Spaw answers

Send the browser's zone as browser_timezone with a lookup (the browser endpoint takes it too) and timezone_matches answers: true when the browser's zone is the located zone or keeps the same clock right now (Paris and Berlin both do), false when the clocks differ, null when there is nothing to compare or the located zone is unknown. The located zone is timezone, settled by the curated country and region map or, for split countries such as the United States, by the nearest listed place inside the located country, which timezone_source reports.

What it does not mean

A mismatch is one signal, not a verdict: a traveller, a laptop that never had its clock changed, and a corporate gateway in another city all produce one honestly. It carries no weight in the score for that reason; it is a fact for a signup flow to weigh beside the others.

Related

markdown version: /glossary/timezone-mismatch.md

Verify addresses the same way

The Spaw API runs every check described here on each lookup, with an SMTP handshake that never sends mail. 10 free lookups a month, no card required.

Get your API key

More glossary

  • Area-code overlay

    An area-code overlay is a new area code added over the same area as an existing one, instead of splitting it, so neighbours can hold different codes and local calls need ten digits.

  • Calling window

    A calling window is the span of local hours a sender contacts people in. Spaw answers in_call_window from the number's time zones: clock arithmetic, not compliance advice.

  • Fictional number

    A fictional number sits in a range kept out of service for films, TV and other fiction: 555-0100 to 555-0199 in North America, and ranges Ofcom, ARCEP, ACMA and ComReg reserve elsewhere.

  • International (exit) prefix

    An international prefix is what is dialled to leave a country before the calling code: 00 in most of the world, 011 in North America. Spaw reads it and suggests a fix in did_you_mean.

  • International network number

    An international network number sits under a calling code the ITU gives a global service rather than a country, such as +870, +881, +882 or +883, so its country is null.

  • Live carrier check (HLR lookup)

    A live carrier check asks the mobile networks, at the moment of the lookup, whether a number is in service, which network serves it and whether it is roaming. On Spaw it is not enabled.

  • Number pooling (thousands-blocks)

    Number pooling splits a North American central office code into ten blocks of a thousand numbers, each assigned to a carrier separately, so one code can hold several carriers' numbers.

  • Number portability

    Number portability lets a subscriber keep a phone number when changing carrier. The number's block stays listed under the carrier it was issued to, so block data names the original holder.