IP Timezone API

Get the IANA timezone for any IPv4 or IPv6 address, together with country, region and city, in one JSON call. Use it to show local times, schedule emails and pre-fill timezone settings without asking the user.

Sign up Read the docs

Free: 1,000 req/month · HTTPS · personal & non-commercial use

Example

Look up one IP and keep the timezone and location with jq:

GET /v0/ip/{ip}
$ curl -s https://api.networkdatalabs.com/v0/ip/8.8.8.8 \
    -H "Authorization: Bearer YOUR_API_KEY" \
    | jq '.location | {timezone, country_code, region, city}'

{
  "timezone": "America/Los_Angeles",
  "country_code": "US",
  "region": "California",
  "city": "Mountain View"
}

timezone is an IANA name such as America/Los_Angeles or America/Chicago, so it plugs straight into Intl.DateTimeFormat, Python’s zoneinfo or any date library, and daylight saving time is handled by your runtime. Have a list? POST /v0/bulk (paid plans) takes up to 100 IPs per request with the same schema; each IP counts toward the monthly quota.

Response fields

  • location.timezone — IANA timezone name, or null when there is no location for the IP.
  • Location — country_code, country, region, region_code, city, latitude, longitude, accuracy_radius_km and confidence.
  • Network — ASN, AS organization and ISP, from the same call.

It’s the same GET /v0/ip/{ip} lookup as our IP geolocation API: timezone is included on every plan, including Free.

What teams use it for

  • Local times in the UI — show dates, deadlines and event times in the visitor’s timezone on first load
  • Sending at the right hour — schedule emails, notifications and reminders for the recipient’s morning, not yours
  • Default settings — pre-fill the timezone field at signup and let the user confirm it
  • Consistency checks — compare the IP timezone with the browser’s reported timezone as one signal in your own risk logic

What it doesn’t do

  • It’s the IP’s timezone, not the user’s setting. Behind a VPN or a privacy relay, it’s the timezone of the exit location. Let users override it.
  • It can be null. Bogon, private and some anycast addresses may have no location, so handle a missing timezone with a fallback such as UTC.

FAQ

What format is the timezone in?

An IANA timezone database name (for example America/Los_Angeles), not a fixed UTC offset, so daylight saving changes are handled correctly by your date library.

Does it support IPv6?

Yes. GET /v0/ip/{ip} and POST /v0/bulk accept both IPv4 and IPv6 addresses (for example 2001:4860:4860::8888). Malformed IPs return 400 INVALID_IP.

Is there a free plan?

Yes: 1,000 requests per UTC calendar month with geolocation (including timezone) + ASN, 1 request/second, for personal and non-commercial use. Paid plans start at $9/month ($90/year), are coming soon, and have no overage charges.

Start building

Sign up for a free account, or read the quickstart and full reference in the docs.

Sign up Read the docs

Related APIs