BSH GeoSeaPortal open maritime geodata
BSH GeoSeaPortal open maritime geodata
Germany's Federal Maritime and Hydrographic Agency (BSH) publishes spatial data and spatial data services through the GeoSeaPortal and GDI-BSH public services, covering hydrographic, oceanographic, ice, water-level and related North Sea / Baltic products.
Coverage
German federal maritime spatial/ocean products exposed via GeoSeaPortal / GDI-BSH as listed on the BSH Geoinformation and Open Data and public-services pages. Exact layer inventory and history depth are Not stated as one fixed table on those pages.
Verdict
This is BSH's official open maritime geodata desk for agents watching German North Sea and Baltic hydrography, water levels, ice and related sea-use layers. BSH states spatial data and services in the GeoSeaPortal "are freely accessible" and, under GeoNutzV, "may be used without restrictions if a source note is added." Add the required source attribution.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Probe BSH GeoSeaPortal open-data pages in memory. Checked against the provider's documentation on Nov 6, 2026.
Access
- No key. HTTPS GET of BSH open-data and GDI public-services pages.
Request
curl -sS -L -o bsh-geo.html 'https://www.bsh.de/EN/TOPICS/Geoinformation_and_Open_Data/geoinformation_and_open_data_node.html'Format
HTML entry points to GeoSeaPortal / GDI-BSH spatial data services (WMS/WFS family); not a single JSON table.
Load into pandas (in memory)
Needs Python 3 with requests and pandas. The provider's terms limit storage or leave it unclear, so this snippet does not write a file.
"""Probe BSH GeoSeaPortal open-data pages in memory (GeoNutzV; writes no file)."""
import requests
import pandas as pd
pages = [
"https://www.bsh.de/EN/TOPICS/Geoinformation_and_Open_Data/geoinformation_and_open_data_node.html",
"https://gdi.bsh.de/public/public_services.html",
]
rows = []
for url in pages:
r = requests.get(url, timeout=30)
r.raise_for_status()
rows.append({"url": url, "status": r.status_code, "bytes": len(r.content)})
print(pd.DataFrame(rows).to_string(index=False))
Run by us on 2026-11-06 (python 3 | requests). Result: BSH Geoinformation and Open Data page and gdi.bsh.de public services page returned HTTP 200 on 2026-11-06.
Limits
- Not stated numeric rate limit on the checked BSH pages.
Quirks
- Reuse under GeoNutzV requires a source note.
- Do not invent a JSON REST API — start from the GeoSeaPortal / GDI service list.
- This snippet writes no file; it only probes the HTML entry points in memory.
Terms and attribution
- BSH: GeoSeaPortal spatial data and services "are freely accessible" and under GeoNutzV "may be used without restrictions if a source note is added."
- GeoNutzV §2: federal geodata provided geldleistungsfrei for commercial and non-commercial use; this probe does not store or cache geodata payloads.
Sources
- https://www.bsh.de/EN/TOPICS/Geoinformation_and_Open_Data/geoinformation_and_open_data_node.html: “freely accessible”
- https://www.gesetze-im-internet.de/geonutzv/__2.html: “kommerzieller und nicht kommerzieller Nutzung geldleistungsfrei”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer