GET /curated/datasets
List all curated (scraped) datasets with content hashes and staleness info.
stale
optional
Filter by stale=true for datasets needing refresh
| Name | Required | Default | Description |
|---|---|---|---|
stale |
No | - | Filter by stale=true for datasets needing refresh |
curl https://nordapi.ee/api/v1/curated/datasets
{
"count": 19,
"data": [
{
"ai_notes": "TLT (Tallinn) public-transport static GTFS feed (buses, trams, trolleybuses). routes.txt + stops.txt extracted from transport.tallinn.ee/data/gtfs.zip. Distinct from the live GPS feed. Updated daily; content hash detects feed changes.",
"category": "estonia",
"content_hash": "b4bee70351c297c604588988ac482093c91590735876e357ff1568667a6808a2",
"dataset_id": "estonian_tlt_gtfs",
"has_data": true,
"last_checked": "2026-10-03T05:20:02Z",
"last_updated": "2026-10-03T05:20:02Z",
"manual_update": true,
"source_url": "https://transport.tallinn.ee/data/gtfs.zip",
"stale": false
},
{
"ai_notes": "Vilnius public-transport GTFS feed (buses + trolleybuses). routes.txt + stops.txt extracted from stops.lt/vilnius/vilnius/gtfs.zip. Updated daily; content hash detects feed changes.",
"category": "lithuania",
"content_hash": "bf7e11986a73428be714e11b5be880ec326affec4df2df90765cb96b9419ae8e",
"dataset_id": "lithuania_vilnius_gtfs",
"has_data": true,
"last_checked": "2026-10-03T05:10:01Z",
"last_updated": "2026-10-03T05:10:01Z",
"manual_update": true,
"source_url": "https://www.stops.lt/vilnius/vilnius/gtfs.zip",
"stale": false
},
{
"ai_notes": "Rīgas satiksme GTFS feed (Riga buses, trams, trolleybuses). routes.txt + stops.txt extracted from the newest zip in the data.gov.lv dataset marsrutu-saraksti-rigas-satiksme-sabiedriskajam-transportam (one zip a month). Content hash detects feed changes.",
"category": "latvia",
"content_hash": "82cf04d494ee576a48e0df8b82b2374de02f78a9db00d6e5980add8c330d9b1a",
"dataset_id": "latvia_riga_transport",
"has_data": true,
"last_checked": "2026-10-03T05:00:03Z",
"last_updated": "2026-10-03T05:00:03Z",
"manual_update": true,
"source_url": "https://data.gov.lv/dati/dataset/6d78358a-0095-4ce3-b119-6cde5d0ac54f/resource/2e9922e8-d863-41d3-9ff4-9a97ec9031a3/download/marsrutusaraksti08_2026.zip",
"stale": false
},
{
"ai_notes": "Tallinn traffic intersection cameras — camera list HTML-scraped from ristmikud.tallinn.ee. Live JPEG frames served via camera_image_url/1; this curated row snapshots the catalog and marks it as a scraped source.",
"category": "tallinn",
"content_hash": "20494e75f3ae7b611c8edd62a3fc0ef015d06bdb5b165a37c400e9994c1b4d7d",
"dataset_id": "tallinn_cameras",
"has_data": true,
"last_checked": "2026-10-03T04:55:02Z",
"last_updated": "2026-10-03T04:55:02Z",
"manual_update": true,
"source_url": "https://ristmikud.tallinn.ee/index.php/cams",
"stale": false
},
{
"ai_notes": "Estonia-Russia border queue lengths, HTML-scraped from GoSwift (eestipiir.ee). Served live per-request by queue_status/0; this curated row is a periodic snapshot marking it as a scraped source.",
"category": "estonia",
"content_hash": "5d15c3d6ac53ff53b50b126f8c9831d76352c830bc3cad27e90e43805a9f4463",
"dataset_id": "estonian_border",
"has_data": true,
"last_checked": "2026-10-03T04:50:07Z",
"last_updated": "2026-10-03T04:50:07Z",
"manual_update": true,
"source_url": "https://www.eestipiir.ee/yphis/borderQueueInfo.action?request_locale=en",
"stale": false
},
{
"ai_notes": "Estonian professional qualifications from kutseregister.ee open-data XML. standards: professional standards (\"estqf_level\" = EstQF/EKR level 1-8, \"name\" = Estonian name). awarding_bodies: bodies that grant qualifications. fields: occupational field classifier.",
"category": "estonia",
"content_hash": "eb7bdec6d11936cc5895cffc1efb3d1c7e35cc4a7f448cf7575bdd9ff1eba48d",
"dataset_id": "estonian_qualifications",
"has_data": true,
"last_checked": "2026-10-03T04:40:05Z",
"last_updated": "2026-10-03T04:40:05Z",
"manual_update": true,
"source_url": "https://www.kutseregister.ee/ctrl/et/Avaandmed/kutsestandardid/xml/1",
"stale": false
},
{
"ai_notes": "4169 facilities + 3215 organizations from the Estonian Sports Register open data JSON (spordiregister.ee/opendata/files/). Replaced scraping with direct downloads. Facilities: name<-rajatisnimi, municipality<-kov, county<-maakond, type<-liik, owner<-omaniknimi. Organizations: name<-nimi, type<-esrliik. Nested paigad/sport detail dropped to keep the dataset lean. content_hash covers facilities+organizations bodies concatenated.",
"category": "estonia",
"content_hash": "945e4f7bdc13e5359556f9fb1e495efff2b6f689938981a6b541add935a9cbb5",
"dataset_id": "estonian_sports",
"has_data": true,
"last_checked": "2026-10-03T04:20:08Z",
"last_updated": "2026-10-03T04:20:08Z",
"manual_update": true,
"source_url": "https://www.spordiregister.ee/opendata/files/spordiehitised.json",
"stale": false
},
{
"ai_notes": "22,000+ medical devices + incident reports from msa.sm.ee XML open data. Includes manufacturers, distributors, risk classes, UDI codes.",
"category": "estonia",
"content_hash": "879880f08af07b0f275b04285d4a8058686babe9e9c36d802e1c54a36888d94d",
"dataset_id": "estonian_medical_devices",
"has_data": true,
"last_checked": "2026-10-03T04:05:01Z",
"last_updated": "2026-10-03T04:05:01Z",
"manual_update": true,
"source_url": "https://msa.sm.ee/avaandmed/ms_seadmed.php",
"stale": false
},
{
"ai_notes": "496 Estonian cemeteries across 15 counties, crawled from kalmistud.ee (plain HTML, no JS). Keyed by county name. Each item: name, url, id, parish, region. Crawl path: /counties → /county/{id} → /cemeteries/parish/{id} → /cemetery/{id}.",
"category": "estonia",
"content_hash": "34ae16754c9f4f9282899a5bfdc27cddb05d8118b51cb043c0f0ffa99a1162ca",
"dataset_id": "estonian_cemeteries",
"has_data": true,
"last_checked": "2026-10-03T03:16:48Z",
"last_updated": "2026-10-03T03:16:48Z",
"manual_update": true,
"source_url": "https://kalmistud.ee/counties",
"stale": false
},
{
"ai_notes": "Tallinn legal acts from teele.tallinn.ee documents API (~3000 most recent of ~132k). Split into council_acts/government_acts by unit type. anna_teada problem reports preserved from prior scrape (no live source).",
"category": "tallinn",
"content_hash": "a49ba3cb9c758c86d2f31997a9e1f1e0e6da44f6350ef476c2be1c2036ea94a7",
"dataset_id": "tallinn_legal_and_reports",
"has_data": true,
"last_checked": "2026-10-03T03:00:28Z",
"last_updated": "2026-10-03T03:00:28Z",
"manual_update": true,
"source_url": "https://teele.tallinn.ee/api/documents?pageSize=100",
"stale": false
},
{
"ai_notes": "70 Estonian museums from the muis.ee OAI-PMH repository (verb=ListSets). Top-level sets only (setSpec without ':'). 'spec' is the OAI setSpec, 'url' is the public collection-browse page on muis.ee. Sub-collections (setSpec containing ':') are excluded.",
"category": "estonia",
"content_hash": "42bf77e9c44ea1e1043d50fcf42a9afd6782420b412a9725d508df58b9e7dae2",
"dataset_id": "estonian_museums_muis",
"has_data": true,
"last_checked": "2026-10-03T02:40:03Z",
"last_updated": "2026-10-03T02:40:03Z",
"manual_update": true,
"source_url": "https://www.muis.ee/OAIService/OAIService",
"stale": false
},
{
"ai_notes": "Estonian cultural monuments from register.muinas.ee REST API (limit=20000). Active (non-deleted) monuments only. \"type\" is the first entry of the source \"types\" array (e.g. Kinnismälestis); \"classifications\" holds the heritage classes (e.g. ajaloomälestis, arheoloogiamälestis).",
"category": "estonia",
"content_hash": "71f224e8595aef691285335db3f908569f4207e10061eb9d5846e30be61763a2",
"dataset_id": "estonian_monuments",
"has_data": true,
"last_checked": "2026-10-03T02:30:27Z",
"last_updated": "2026-10-03T02:30:27Z",
"manual_update": true,
"source_url": "https://register.muinas.ee/rest/v1/monuments?limit=20000",
"stale": false
},
{
"ai_notes": "246 active public ports from the Estonian Port Register API (sadamaregister.ee/api/ports/public-active). Replaced HTML scraping with direct JSON endpoint. type = stringified portFunction code, water_body = bodyOfWaterName. Per-port detail available at /api/ports/{id}/public-details.",
"category": "estonia",
"content_hash": "9902ee78f2da53256832a2f772ac5917b82bd5ff7df240c0189681c11c4238da",
"dataset_id": "estonian_ports",
"has_data": true,
"last_checked": "2026-10-03T02:20:01Z",
"last_updated": "2026-10-03T02:20:01Z",
"manual_update": true,
"source_url": "https://sadamaregister.ee/api/ports/public-active",
"stale": false
},
{
"ai_notes": "209 Tallinn parking zones with GPS polygon boundaries from parkimine.ee. Includes opening hours and street addresses.",
"category": "tallinn",
"content_hash": "cc3d2c84de7ba19baf00247b2de127c6745aef9ccc63f503ca87cf66298171b4",
"dataset_id": "tallinn_parking_zones",
"has_data": true,
"last_checked": "2026-10-03T02:10:02Z",
"last_updated": "2026-10-03T02:10:02Z",
"manual_update": true,
"source_url": "https://www.parkimine.ee/_ajax/map/permit-types",
"stale": false
},
{
"ai_notes": "1,654 navigational marks from NMA SOAP XML. Coords divided by 60000000. Types: Tuletorn (lighthouse), Tulepaak (beacon), Poi (buoy), Tooder (spar buoy). Updated daily by Transpordiamet.",
"category": "estonia",
"content_hash": "b171001bf9c329babdb3cd9ddbb2f873a513bb96b3b77c83b7befed8464896ec",
"dataset_id": "estonian_nav_marks",
"has_data": true,
"last_checked": "2026-10-03T02:00:02Z",
"last_updated": "2026-10-03T02:00:02Z",
"manual_update": true,
"source_url": "https://nma.vta.ee/xml_file",
"stale": false
},
{
"ai_notes": "17,000+ spatial plans from planeeringud.ee (PLANK). Read-only since Dec 2025. Types: detailplaneering, üldplaneering, maakonnaplaneering. Fetched via POST /plank-web/api/planeering/otsing.",
"category": "estonia",
"content_hash": "53fcf96cb0f1e1e2afb7ce58ceea14be31bec00bf7c461b007520bf7d0a475ff",
"dataset_id": "estonian_plans",
"has_data": true,
"last_checked": "2026-08-31T03:37:49Z",
"last_updated": "2026-08-31T03:37:49Z",
"manual_update": true,
"source_url": "https://planeeringud.ee",
"stale": false
},
{
"ai_notes": "Refreshed 2026-08-12 from MTR public search via PinchTab eval-extraction (reads <td> cells directly, empties preserved -> exact field alignment). All 8 categories: live counts + 20 sample entries each (160 total, 0 misaligned). Tarvik (tarvik.ttja.ee) is LOGIN-ONLY, not a public source; MTR public search remains the public register. Refresh: PinchTab open eriotsing/<slug> -> click Otsi -> eval the results <table>.",
"category": "estonia",
"content_hash": "51e1c73eefd115618797124f627c2de6ee0c418f417a8536591dd1e85ddcd634",
"dataset_id": "estonian_mtr",
"has_data": true,
"last_checked": "2026-08-12T14:46:24Z",
"last_updated": "2026-08-12T14:46:24Z",
"manual_update": true,
"source_url": "https://mtr.ttja.ee/taotleja/andmeotsing",
"stale": false
},
{
"ai_notes": "2026-08-12: re-verified all 5 registries (emde.ee, llr.ee, netikaart.ee, teeregister.mnt.ee, volis.ee) — all HTTP 200 / accessible; catalog descriptions still accurate. This dataset is a static descriptive catalog/survey (not time-series), so verification = refresh. netikaart.ee still redirects to ttja.ee; volis.ee now lands at /gvolis/. Sources are PinchTab-surveyed; re-survey descriptions only if a registry is restructured.",
"category": "estonia",
"content_hash": "9de6a5887e491e50210c4d04b54f268e7dd1372fcdff7617ccab880dc39a2787",
"dataset_id": "estonian_misc_registries",
"has_data": true,
"last_checked": "2026-08-12T13:34:52Z",
"last_updated": "2026-08-12T13:34:52Z",
"manual_update": true,
"source_url": "multiple",
"stale": false
},
{
"ai_notes": "2026-08-10: health-checked all 21 hardcoded YouTube webcam URLs in estonian_webcams.ex; replaced dead Matsalu cam (AWp8hJQdQCk -> R2Jh3vskbAE). Channels: @Riigimets, @Kotkaklubi, @Teetormaja, @urmaslett. Seasonal: fish May-Jun, stork Apr-Aug.",
"category": "webcams",
"content_hash": "3f3bdf66c9268c22868823c5bce0213078048650331b2723758b0e92bc99a470",
"dataset_id": "estonian_webcams_youtube",
"has_data": true,
"last_checked": "2026-08-11T19:42:14Z",
"last_updated": "2026-08-11T19:42:14Z",
"manual_update": true,
"source_url": "https://www.youtube.com/@Riigimets/streams",
"stale": false
}
],
"success": true
}