Open Government, Switzerland API

Free to Use
48 D
Measured Score 0 50 100 Speed 5/30 Consistency 4/20 Security 20/20 Browser access 15/15 Transparency 4/15 TESTED 2026-08-10

Overview

The Switzerland Open Government Data API (opendata.swiss) provides a CKAN-based catalog of datasets from Swiss federal, cantonal, and municipal authorities. No API key is required, and it supports search, filtering, and direct dataset access. It is a reliable source for Swiss statistics, geography, and government records.

Beginner Tip

Use the CKAN API endpoint at opendata.swiss/api/3/action/ — start with package_list to see all dataset IDs, then use package_show?id=DATASET_ID to get download links for a specific dataset.

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.swiss/api/3/action/package_search?q=population&rows=5
Result
HTTP 200 · application/json · 103,763 bytes
Response time
563 ms (median of 3) · fastest 316 ms
Transport
TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Let's Encrypt
Browser CORS
Allowed — Access-Control-Allow-Origin: *
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
count integer 3135
facets object {0 fields}
results array [1 item]
sort string score desc, metadata_modified desc
search_facets object {0 fields}

Captured Response

Captured from a real request to https://opendata.swiss/api/3/action/package_search?q=population&rows=5 on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.

JSON Response · Captured
{
  "help": "https://ckan.opendata.swiss/api/3/action/help_show?name=package_search",
  "success": true,
  "result": {
    "count": 3135,
    "facets": {},
    "results": [
      {
        "…": "(45 more fields)"
      }
    ],
    "sort": "score desc, metadata_modified desc",
    "search_facets": {}
  }
}

Field Reference

success Indicates whether the API action completed successfully

Implementation Example

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

Request
const url = "https://handbook.opendata.swiss/de/content/nutzen/";
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.

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.

KeyError on result field in response The API returned success: false due to an invalid action or parameter name
Always check the success field first; valid actions include package_list, package_search, and package_show
Dataset description is in German, French, or Italian Switzerland is multilingual and metadata is published in official languages
Look for language-specific fields in the response; use the title.fr or title.de keys for specific languages
Rate limiting with many rapid requests The public API has undocumented rate limits to protect the server
Add a short delay (0.5 to 1 second) between requests and use pagination via the rows parameter to batch results efficiently

Measured Score Breakdown

Live HTTP request to the API endpoint

Speed 5/30
Consistency 4/20
Security 20/20
Browser access 15/15
Transparency 4/15
Endpoint Response Time 563ms

Fully tested on Aug 10, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS UNKNOWN
Category Government
Difficulty Beginner
Endpoint last called: 2026-08-10

Similar APIs

View All →