Umeå Open Data API

Beginner's Pick Open Data / No Auth Required Beginner HTTPS CORS
Free to Use 1000 per window (994 remaining at test time)
61 C
Measured Score 0 50 100 Speed 3/30 Consistency 8/20 Security 20/20 Browser access 15/15 Transparency 15/15 TESTED 2026-08-10

Overview

The Umeå Open Data API gives free access to public datasets published by the city of Umeå, Sweden, covering topics like transportation, demographics, and local services. No API key is required—you can start exploring directly from the interactive console at the API URL. It is a great sandbox for practicing open data queries in a real municipal context.

Beginner Tip

Use the interactive Swagger console at https://opendata.umea.se/api/explore/v2.1/console to browse available datasets and test queries before writing any code—no signup needed.

Measurement Record

What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.

Request
GET https://opendata.umea.se/api/explore/v2.1/catalog/datasets?limit=5&lang=en
Result
HTTP 200 · application/json · 33,911 bytes · compressed
Response time
828 ms (median of 3) · fastest 628 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Let's Encrypt
Browser CORS
Allowed — Access-Control-Allow-Origin: *
Rate limit
1000 per window (994 remaining at test time)
Served by
openresty
Recorded
2026-08-10

Fields Returned

Top-level fields present in the response we captured, with the type and value we actually received.

Field Type Value received
visibility string domain
fields array [1 item]
dataset_id string energiforbrukning-i-geografiska-omradet-03060…
dataset_uid string da_gfp40v
has_records boolean true
features array [1 item]
attachments array [0 items]
alternative_exports array [0 items]
data_visible boolean true
metas object {1 fields}

Captured Response

Captured from a real request to https://opendata.umea.se/api/explore/v2.1/catalog/datasets?limit=5&lang=en on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "total_count": 334,
  "results": [
    {
      "visibility": "domain",
      "fields": [
        {
          "…": "(5 more fields)"
        }
      ],
      "dataset_id": "energiforbrukning-i-geografiska-omradet-030607-rosendal",
      "dataset_uid": "da_gfp40v",
      "has_records": true,
      "features": [
        "analyze"
      ],
      "attachments": [],
      "alternative_exports": [],
      "data_visible": true,
      "metas": {
        "…": "(3 more fields)"
      }
    }
  ]
}

Field Reference

total_count Total number of datasets matching the query in the catalog.
results Array of dataset metadata objects returned for this page.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://opendata.umea.se/api/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

How This API Fails

We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.

HTTP 404 Requesting a path that does not exist application/json
{
  "error_code": "NotFoundResource",
  "message": "The requested dataset apisscore-nonexistent-path does not exist."
}
HTTP 400 Sending an invalid value for "limit" application/json
{
  "error_code": "InvalidRESTParameterError",
  "message": "Invalid value for limit API parameter: int is expected."
}

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

Empty results array Querying a dataset that has no records matching your filter, or using the wrong dataset identifier.
Browse the catalog endpoint first to confirm the dataset id, then remove filters to verify data exists.
CORS error in browser Browser enforcing same-origin policy on cross-origin requests.
The API supports CORS, so ensure you are calling the correct HTTPS endpoint; using a proxy or server-side request also resolves this.
404 Not Found on dataset endpoint Typo in dataset id or the dataset has been removed from the portal.
Re-query the /catalog/datasets endpoint to get a fresh list of valid dataset identifiers.

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 3/30
Consistency 8/20
Security 20/20
Browser access 15/15
Transparency 15/15
Endpoint Response Time 828ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS YES
Category Open Data
Difficulty Beginner
Endpoint last called: 2026-08-10

Related Tags

Similar APIs

View All →