29x
005814
2026-06-01

Using the Geo-Zone Tool Online Service via the API

How do I use the Geo-Zone Tool API to query load zone data?


Answer:

The Geo-Zone Tool provides an API based on GraphQL that allows you to query snow, wind, and earthquake zone data directly from your own applications, scripts, or calculation processes without opening the web interface.

Getting Started

The API can be used in three ways. Ready-made client libraries are available for Python and C#, which automatically handle authentication, query construction, and response processing. You write a typed function call in your language and receive a structured data object in return. Alternatively, you can send GraphQL queries directly to the HTTPS endpoint, regardless of the programming language or platform used.

Documentation and Resources

The complete API documentation with interactive schema explorer, available queries, and sample requests can be found in the API Documentation.

Authentication

Some queries, such as listing available standards and load zones of a country, can be used without authentication. Querying calculated load values for a specific location requires an API token that is linked to your Geo-Zone Tool package. This token corresponds to the API key and is described in the Key Management section.

For each load query, the quota is reduced by one counter. To perform load queries without restriction, you need a Geo-Zone Tool package.

Quickstart (Python)

The following shows how to retrieve load zone data using the Python library. First, install the client library:


pip install dlubal.api.geo-zone-tool

Querying specific load values requires an API token. The following example determines the snow load according to DIN EN 1991-1-3 for a location in Munich. The load types SNOW, WIND, SEISMIC, and TORNADO are currently available:


from dlubal.api import geo_zone_tool
from dlubal.api.geo_zone_tool import LoadZoneType, Language
gzt = geo_zone_tool.GeoZoneTool("")

result = gzt.get_load_zone_characteristics(
	#necessary Parameter
	address="45.985,14.734",   #address or coordinates (latitude, longitude)
	load_zone_type=LoadZoneType.SNOW,  #WIND SNOW SEISMIC TORNADO
	#optional Parameter
	# standard="EN 1991-1-3",
	# annex="Germany",
	# layer_id=1,
	# language=Language.EN
)

#print(result)

print(result.geo_location.city)
for chars in result.characteristics:
    print(f"{chars.standard} / {chars.annex}")
    zone = chars.zone_characteristics
    print(f"  Zone: {zone.zone.value}")
    for c in zone.characteristics:
        print(f"  {c.name} = {c.calculated_value}")

The response contains the resolved location, the assigned snow load zone, and the characteristic value s_k in kN/m². Without optional parameters, the current map for the selected address is used. The consistent structure of the response allows the same code to be used for wind and earthquake loads as well.


Munich
EN 1991-1-3 / DIN EN 1991-1-3
  Zone: 1a*
  s_k = 1.15


;