129x
005814
2026-06-01

Using Geo-Zone Tool Online Service via API

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


Answer:

The Geo-Zone Tool provides a GraphQL-based API that allows you to retrieve snow, wind, and seismic load data directly from your own applications, scripts, or calculation workflows without opening the web interface.

Getting Started

The API can be used in three ways. Pre-built client libraries are available for Python and C#, which automatically handle authentication, request 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 end point, regardless of the programming language or platform you’re using.

Documentation and Resources

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

Authentication

Some queries, such as listing a country’s available standards and load zones, can be used without authentication. To query calculated load values for a specific location, you need an API token 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 unit. To be able to perform load queries without restrictions, you need a Geo-Zone Tool package.

Quick Start (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

An API token is required to retrieve specific load values. The following example calculates the snow load according to DIN EN 1991-1-3 for a location in Munich. The following load types are currently available: SNOW, WIND, SEISMIC, and TORNADO:

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 includes the resolved location, the assigned snow load zone, and the characteristic value s_k in kN/m². If no optional parameters are specified, the current map for the selected address is used. The consistent structure of the response allows you to use the same code for wind and seismic loads as well.

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


;