Next free-source hunt
We check for new free data every weekday.
Datasets / Transport & Shipping
ssb.no/

Statistics Norway vessels in foreign-going trade (StatBank 07321)

Freeauth: noneCC-BY-4.0#transport-shipping#maritime#shipping#norway#freight#api✓ verified Nov 6, 2026

Statistics Norway vessels in foreign-going trade (StatBank 07321)

Statistics Norway (SSB) StatBank table 07321, "Vessels in foreign going trade (NOK million), by contents and year," is available keylessly through SSB's PxWebApi (meta at data.ssb.no/api/v0/en/table/07321). Contents include voyage freights, contracts of affreightment, liner freights, pax freights, timecharter and bareboat freight series.

Coverage

Annual NOK-million freight and charter series for Norwegian vessels in foreign-going trade from 2001 onward (API meta listed years from 2001 on the check date). Exact latest year in each contents series follows the live StatBank table.

Verdict

This is Norway's official freight-and-charter revenue series for vessels in foreign-going trade — an on-the-water economic signal for Norwegian shipping — queryable without a key via SSB's PxWebApi. SSB's API page says "Like the rest of ssb.no, the APIs use the license CC BY 4.0," so attribute Statistics Norway when you reuse the figures.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Query SSB StatBank table 07321 via PxWebApi. Checked against the provider's documentation on Nov 6, 2026.

Raw skill file (/skills/ssb-vessels-foreign-going-trade.md)Also in our MCP server: call get_ingestion_skill with {"slug": "ssb-vessels-foreign-going-trade"}.

Access

  • No key. POST JSON query to data.ssb.no/api/v0/en/table/07321.

Request

bash
curl -sS -X POST 'https://data.ssb.no/api/v0/en/table/07321' -H 'Content-Type: application/json' -d '{"query":[{"code":"ContentsCode","selection":{"filter":"item","values":["Reisecert"]}},{"code":"Tid","selection":{"filter":"top","values":["5"]}}],"response":{"format":"json-stat2"}}' 

Format

JSON-stat2 table with ContentsCode (freight/charter measures) and Tid (year).

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""SSB StatBank 07321 vessels in foreign-going trade sample query (JSON-stat2 → labeled rows)."""
import requests
import pandas as pd
from itertools import product

URL = "https://data.ssb.no/api/v0/en/table/07321"
query = {
    "query": [
        {"code": "ContentsCode", "selection": {"filter": "item", "values": ["Reisecert", "Fraktkontr", "Linjefrakt"]}},
        {"code": "Tid", "selection": {"filter": "top", "values": ["10"]}},
    ],
    "response": {"format": "json-stat2"},
}
r = requests.post(URL, json=query, timeout=60)
r.raise_for_status()
js = r.json()
vals = js.get("value") or []
dims = js.get("id") or []
size = js.get("size") or []
dimension = js.get("dimension") or {}

def labels_for(dim_id: str):
    cat = dimension[dim_id]["category"]
    index = cat["index"]
    # index maps category-id -> position
    by_pos = [None] * len(index)
    for key, pos in index.items():
        by_pos[pos] = key
    lab = cat.get("label") or {}
    return by_pos, lab

# JSON-stat stores values in row-major order with the last dimension changing fastest.
axes = [list(range(s)) for s in size]
rows = []
for coords in product(*axes):
    flat = 0
    mul = 1
    for c, s in zip(reversed(coords), reversed(size)):
        flat += c * mul
        mul *= s
    row = {"value": vals[flat]}
    for dim_id, c in zip(dims, coords):
        by_pos, lab = labels_for(dim_id)
        cid = by_pos[c]
        row[dim_id] = cid
        row[f"{dim_id}_label"] = lab.get(cid, cid)
    rows.append(row)

df = pd.DataFrame(rows)
print("HTTP", r.status_code, "rows", len(df), "label", js.get("label"))
print(df.head().to_string(index=False))
df.to_parquet("ssb_07321_sample.parquet", index=False)

Run by us on 2026-11-06 (python 3 | pandas | requests). Result: SSB API meta for table 07321 returned HTTP 200 on 2026-11-06 with contents codes including Reisecert (Voyage freights) and years from 2001.

Limits

  • Not stated numeric rate limit on the checked SSB API page.

Quirks

  • JSON-stat2 value[] is unlabeled until expanded with ContentsCode and Tid dimensions into columns.
  • SSB APIs use CC BY 4.0 — attribute Statistics Norway.

Terms and attribution

  • SSB: "Like the rest of ssb.no, the APIs use the license CC BY 4.0."
  • Table 07321 title: "Vessels in foreign going trade (NOK million), by contents and year."

Sources

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