---
name: bsh-geoseaportal-open-data-ingestion
description: "How to get BSH GeoSeaPortal open maritime geodata data into a pandas DataFrame in memory (the provider's terms limit storage or leave it unclear): access, the request, the format, limits, quirks and terms."
---

# Probe BSH GeoSeaPortal open-data pages in memory

Source entry: https://signal-lab.qdt.ai/datasets/bsh-geoseaportal-open-data
Provider: https://www.bsh.de/EN/TOPICS/Geoinformation_and_Open_Data/geoinformation_and_open_data_node.html
Checked against the provider's documentation: 2026-11-06

## Access
- No key. HTTPS GET of BSH open-data and GDI public-services pages.

## Request
```bash
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.
```python
"""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.
- Terms page: https://www.gesetze-im-internet.de/geonutzv/__2.html

## 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"

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab.qdt.ai/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
