---
name: ioc-sea-level-station-monitoring-ingestion
description: "How to get IOC Sea Level Station Monitoring Facility data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Call the IOC Sea Level Monitoring Facility REST API into pandas

Source entry: https://signal-lab-jet.vercel.app/datasets/ioc-sea-level-station-monitoring
Provider: https://www.ioc-sealevelmonitoring.org/
Checked against the provider's documentation: 2026-11-05

## Access
- Register as an API user at ioc-sealevelmonitoring.org/service.php to get REST web-service access.
- Non-commercial use only; commercial users must contact the relevant data originators.

## Request
```bash
curl 'https://www.ioc-sealevelmonitoring.org/bgraph.php?code=STATIONCODE&output=tab&period=1'
```

## Format
Per-station real-time sea-level value tables/graphs; registered REST API users get station metadata and data JSON per the Api Documentation linked from the Services page.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""IOC Sea Level Station Monitoring Facility: registered REST API -> pandas -> Parquet. Non-commercial use only; needs free registration."""
import os
import requests
import pandas as pd

API_KEY = os.environ["IOC_SEALEVEL_API_KEY"]
URL = "https://www.ioc-sealevelmonitoring.org/service.php"
r = requests.get(URL, params={"query": "stationinfo"}, headers={"Authorization": f"Bearer {API_KEY}"}, timeout=60)
r.raise_for_status()
df = pd.json_normalize(r.json())
df.to_parquet("ioc_sealevel_stations.parquet", index=False)
print(len(df), "stations")

```
Needs a personal, registered API key; not run.

## Limits
- Non-commercial use only; commercial users must contact the relevant data originators per the disclaimer's data policy.
- Disclaimer states the real-time data "has not undergone any quality control and data is provided as received."

## Quirks
- The public web view (no key) shows per-station graphs and tables; bulk/API access needs free registration as an API user.
- Long-term mean sea level (MSL) data is out of scope; it is served separately by PSMSL, BODC and UHSLC.

## Terms and attribution
- "Data and products available on this web-site may not be used for any commercial purposes. Commercial users should contact the relevant data originators."
- Cite: Flanders Marine Institute (VLIZ); Intergovernmental Oceanographic Commission (IOC) (2026): Sea level station monitoring facility. DOI: 10.14284/482
- Terms page: https://www.ioc-sealevelmonitoring.org/disclaimer.php

## Sources
- https://www.ioc-sealevelmonitoring.org/disclaimer.php: "Data and products available on this web-site may not be used for any commercial purposes. Commercial users should contact the relevant data originators."
- https://www.ioc-sealevelmonitoring.org/service.php: "Most of the station descriptive metadata and the station real-time data is accessible through a REST web service. Users are required to register for this service."

## 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-jet.vercel.app/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.
