Dataspryva

Use Google Maps Timezone & Local Time Lookup with Python

Resolve the IANA timezone, current local time, UTC offset, and daylight-saving information for any coordinate. Accepts single or batch lat/lng inputs.

1. Choose the data you need

Review the published README for supported collection modes, examples, and limits. The recipe below uses the current published input definition.

2. Prepare a source-based input

This JSON contains published prefills and required-field defaults. Review every value for your task before running it; it is not a promise of successful collection.

{
  "language": "en",
  "location": {
    "lat": 40.7128,
    "lng": -74.006
  },
  "mode": "coordinates"
}

Download input.example.json and save your reviewed copy as input.json.

FieldTypeRequiredDescription
modestringoptionalCoordinates resolves latitude/longitude pairs. Place looks up an address, landmark or business name. Place ID resolves a Google Place ID or Maps URL. Mixed processes every filled list in one run.
locationobjectoptionalOne coordinate as {"lat": 40.7128, "lng": -74.006}. Decimal degrees, WGS84.
locationsarrayoptionalA list of coordinates, each {"lat": 40.7128, "lng": -74.006}.
addressstringoptionalOne address, landmark, business name or postcode. Example: Eiffel Tower, Paris.
addressesarrayoptionalOne address, landmark, business name or postcode per line.
placeIdstringoptionalOne Google Place ID (starts with ChIJ) or a full Google Maps place URL.
placeIdsarrayoptionalOne Google Place ID or Google Maps place URL per line.
languagestringoptionalLanguage Google Maps uses for returned place names, addresses and country names. It does not translate the query itself.
countrystringoptionalOptional ISO 3166-1 alpha-2 country code. The country name is added to place and address queries so an ambiguous search resolves in that country first. Leave empty for no bias. Coordinates are unaffected.

3. Start an Actor run

Set APIFY_TOKEN in your environment. Python 3.10 or newer is sufficient; this recipe uses no third-party packages.

Execution may incur charges. Review current pricing on Apify. The request asks for a 120-second timeout and a charge limit; these settings are subject to Apify’s pricing and do not guarantee an all-inclusive spending cap.

import json
import os
import urllib.request

# Save the schema-derived example as input.json; review and edit it first.
with open("input.json", encoding="utf-8") as stream:
    actor_input = json.load(stream)

token = os.environ["APIFY_TOKEN"]
request = urllib.request.Request(
    "https://api.apify.com/v2/acts/3gGc1bBnFZySrtNrc/runs?timeout=120&maxTotalChargeUsd=0.50",
    data=json.dumps(actor_input).encode("utf-8"),
    headers={"Authorization": "Bearer " + token, "Content-Type": "application/json"},
    method="POST",
)
# This starts a potentially billable run. Do not automatically retry this POST.
with urllib.request.urlopen(request, timeout=40) as response:
    run = json.load(response)["data"]
print("Run ID:", run["id"])
print("Status:", run["status"])
# Inspect and download results in Apify Console once the run succeeds.

4. Inspect the actual results

Open the run in Apify Console and wait for a successful completion. Use the published output schema to locate results and the dataset schema to understand declared views. Missing or optional record fields must not be treated as guaranteed values.

One record per resolved place, address, Place ID or coordinate, with the IANA timezone, current local and UTC time, UTC offset, daylight-saving detail and the matched Google Maps place.

Questions before you run

Which inputs are required?

No top-level fields are marked required in the published schema. Conditional requirements can still apply; check the README.

What does this guide verify?

The fields, prefills, and schema links are rendered from the published build. This is a usage recipe, not a paid live extraction test. Source availability and collection results can vary.

What if the run request times out?

Check Apify Console before retrying. The first request may already have created a run. Do not automatically repeat a run-creation POST.

Generated from source build xJteA5XTOmDKdewKf and its README and schemas. Source changes regenerate this guide; no third-party editorial claims are inferred.