CKAN Data API

Få tillgång till resursens data via ett webb-API med kraftfullt frågestöd.. Ytterligare information finns i huvud-CKAN Data API- och DataStore-dokumentationen.

Kodexempel

Hämta 5 resultat som innehåller "SE1" i valfritt fält:
curl https://data.svk.se/sv/api/action/datastore_search \
  -d '
{
  "resource_id": "6351d2cc-1657-43eb-b112-b8408c700529",
  "limit": 5,
  "q": "SE1"
}'
const resp = await fetch(`https://data.svk.se/sv/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json'
    },
    body: JSON.stringify({
        resource_id: '6351d2cc-1657-43eb-b112-b8408c700529',
        limit: 5,
        q: 'SE1'
    })
})
await resp.json()
$json = @'
{
  "resource_id": "6351d2cc-1657-43eb-b112-b8408c700529",
  "limit": 5,
  "q": "SE1"
}
'@
$response = Invoke-RestMethod https://data.svk.se/sv/api/action/datastore_search`
  -Method Post -Body $json
$response.result.records

(med hjälp av ckanapi-klientbiblioteket)

from ckanapi import RemoteCKAN

rc = RemoteCKAN('https://data.svk.se/sv/')
result = rc.action.datastore_search(
    resource_id="6351d2cc-1657-43eb-b112-b8408c700529",
    limit=5,
    q="SE1",
)
print(result['records'])
library(httr2)

req <- request("https://data.svk.se/sv/api/action/datastore_search")
result <- req %>% 
    req_body_json(list(
        resource_id = '6351d2cc-1657-43eb-b112-b8408c700529',
        limit = 5,
        q = 'SE1'))
    req_perform %>% 
    resp_body_json
Get results filtered by the contents of specific fields:
curl https://data.svk.se/sv/api/action/datastore_search \
-d '
{
  "resource_id": "6351d2cc-1657-43eb-b112-b8408c700529",
  "filters": {
    "start_time_sweden": "2022-06-14T12:00:00",
    "start_time_utc": "2022-06-14T10:00:00"
  }
}'
const resp = await fetch(`https://data.svk.se/sv/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json'
    },
    body: JSON.stringify({
        resource_id: '6351d2cc-1657-43eb-b112-b8408c700529',
        filters: {
            start_time_sweden: "2022-06-14T12:00:00"
            ,
            start_time_utc: "2022-06-14T10:00:00"

        }
    })
})
await resp.json()
$json = @'
{
  "resource_id": "6351d2cc-1657-43eb-b112-b8408c700529",
  "filters": {
    "start_time_sweden": "2022-06-14T12:00:00",
    "start_time_utc": "2022-06-14T10:00:00"
  }
}
'@
$response = Invoke-RestMethod https://data.svk.se/sv/api/action/datastore_search`
  -Method Post -Body $json
$response.result.records
from ckanapi import RemoteCKAN

ck = RemoteCKAN('https://data.svk.se/sv/')
result = ck.action.datastore_search(
  resource_id="6351d2cc-1657-43eb-b112-b8408c700529",
  filters={
        "start_time_sweden": "2022-06-14T12:00:00",
        "start_time_utc": "2022-06-14T10:00:00"
    },
)
print(result['records'])
library(httr2)

req <- request("https://data.svk.se/sv/api/action/datastore_search")
result <- req %>%
    req_body_json(list(
        resource_id = '6351d2cc-1657-43eb-b112-b8408c700529',
        filters = list(
            start_time_sweden = "2022-06-14T12:00:00",
            start_time_utc = "2022-06-14T10:00:00")))
    req_perform %>%
    resp_body_json

Vissa API-slutpunkter kan nås med hjälp av en GET-frågesträng.

Exempelfråga (första 5 svaren)

https://data.svk.se/sv/api/action/datastore_search?resource_id=6351d2cc-1657-43eb-b112-b8408c700529&limit=5

Query example (results containing 'SE1')

https://data.svk.se/sv/api/action/datastore_search?resource_id=6351d2cc-1657-43eb-b112-b8408c700529&q=SE1