gasstorage APIgasstorage.dk ↗
Access Danish gas storage capacity, hourly nominations, and daily utilization data via 3 structured endpoints covering the gasstorage.dk dataset.
What is the gasstorage API?
The gasstorage.dk API exposes 3 endpoints covering Danish gas storage operations: daily capacity breakdowns, hourly injection and withdrawal nominations, and daily utilization figures. The get_capacities endpoint returns technical, reserved, TSO-reserved, and available capacity for volume, injection, and withdrawal. Data is sourced from the Danish Energy Data Service and covers MWh and kWh/h measurements across all tracked facilities.
curl -X GET 'https://api.parse.bot/scraper/b2c3b718-a2cb-47ed-b1bf-df2f5f025ae8/get_capacities?end=2026-07-10&limit=10&start=2026-06-11' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace gasstorage-dk-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
Gas Storage Denmark API - Usage Example
Get your API key from: https://parse.bot/settings
"""
from parse_apis.gas_storage_denmark_api import GasStorage, CapacityRecord, NominationRecord, UtilizationRecord
gas = GasStorage()
# List recent capacity records for the last week
for record in gas.capacityrecords.list(start="2024-01-01", end="2024-01-05", sort="GasDay desc"):
print(record.gas_day, record.capacity_volume_available, record.capacity_injection_available, record.capacity_withdrawal_available)
# List hourly nomination data
for nom in gas.nominationrecords.list(start="2024-01-01", end="2024-01-02"):
print(nom.hour_utc, nom.hour_dk, nom.nomination_injection_firm, nom.nomination_withdrawal_firm)
# List daily utilization data
for util in gas.utilizationrecords.list(start="2024-01-01", end="2024-01-05"):
print(util.gas_day, util.stored_total, util.injected_total, util.withdrawed_total)
Fetch daily storage capacity data including volume, injection, and withdrawal capacities. Each record shows technical capacity, reserved capacity, TSO-reserved capacity, and available capacity for volume (MWh), injection (MWh/h), and withdrawal (MWh/h). Paginates internally up to the requested limit. Default sort is GasDay descending.
| Param | Type | Description |
|---|---|---|
| end | string | End date in ISO format (e.g. '2024-12-31'). Filters records up to this date. |
| sort | string | Sort field and direction (e.g. 'GasDay asc' or 'GasDay desc'). |
| limit | integer | Maximum number of records to return. |
| start | string | Start date in ISO format (e.g. '2024-01-01'). Filters records from this date. |
| columns | string | Comma-separated list of columns to include (e.g. 'GasDay,CapacityVolumeAvailable,CapacityInjectionAvailable'). |
{
"type": "object",
"fields": {
"count": "integer - Number of records returned",
"total": "integer - Total records matching query",
"dataset": "string - Dataset name (StorageCapacity)",
"records": "array of capacity records with GasDay, CapacityVolumeTechnical, CapacityVolumeReserved, CapacityVolumeReservedTSO, CapacityVolumeAvailable, CapacityInjectionTechnical, CapacityInjectionReserved, CapacityInjectionReservedTSO, CapacityInjectionAvailable, CapacityWithdrawalTechnical, CapacityWithdrawalReserved, CapacityWithdrawalReservedTSO, CapacityWithdrawalAvailable"
},
"sample": {
"data": {
"count": 4,
"total": 4,
"dataset": "StorageCapacity",
"records": [
{
"GasDay": "2024-01-04T00:00:00",
"CapacityVolumeReserved": 10125000,
"CapacityVolumeAvailable": 0,
"CapacityVolumeTechnical": 10125000,
"CapacityInjectionReserved": 3252,
"CapacityVolumeReservedTSO": 1700000,
"CapacityInjectionAvailable": 528,
"CapacityInjectionTechnical": 3780,
"CapacityWithdrawalReserved": 5413,
"CapacityWithdrawalAvailable": 2087,
"CapacityWithdrawalTechnical": 7500,
"CapacityInjectionReservedTSO": 0,
"CapacityWithdrawalReservedTSO": 0
}
]
},
"status": "success"
}
}About the gasstorage API
Endpoints and Data Coverage
The API provides three endpoints. get_capacities returns daily records from the StorageCapacity dataset, with fields including CapacityVolumeTechnical, CapacityVolumeReserved, CapacityVolumeReservedTSO, and CapacityVolumeAvailable, all denominated in MWh. Injection and withdrawal capacity fields follow the same four-tier breakdown. get_nominations returns hourly records from the storagenomination dataset, distinguishing firm and interruptible components for both injection and withdrawal, reported in kWh/h. Timestamps are available in both UTC (HourUTC) and Danish local time (HourDK).
Filtering and Sorting
All three endpoints accept start and end date parameters in ISO format, a limit integer, and a sort string such as 'GasDay asc' or 'HourUTC desc'. The columns parameter lets you request a subset of fields, which is useful when you need only CapacityVolumeAvailable or NominationInjectionFirm without pulling full records. The response always includes count, total, and dataset metadata alongside the records array.
Utilization Detail
get_utilization covers the StorageUtilization dataset and provides daily figures including StoredTotal, StoredInt, Limit4Int, InjectedTotal, InjectedInt, InjCapExpected, WithdrawedTotal, and related withdrawal fields. This gives a day-level picture of how much gas was stored, injected, and withdrawn, including the interruptible portions and expected capacity bounds — useful for tracking seasonal fill cycles or comparing planned versus actual storage activity.
The gasstorage API is a managed, monitored endpoint for gasstorage.dk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gasstorage.dk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official gasstorage.dk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track daily available injection capacity (
CapacityInjectionAvailable) to identify storage headroom ahead of peak demand periods. - Monitor TSO-reserved capacity (
CapacityVolumeReservedTSO) separately from commercial reservations for regulatory analysis. - Analyze hourly firm versus interruptible nomination splits (
NominationInjectionFirm,NominationInjectionInterruptible) to model dispatch flexibility. - Build seasonal fill-cycle charts using
StoredTotalandInjectedTotalfrom the utilization endpoint. - Alert on low
CapacityVolumeAvailablethresholds relative toCapacityVolumeTechnicalfor energy supply monitoring. - Compare
InjCapExpectedagainstInjectedTotalto detect deviations from expected storage injection performance. - Feed daily utilization records into a gas market model to correlate storage levels with spot price movements.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.