원클릭으로
reykjavik
Reykjavík municipality CKAN + PX-Web — services, demographics, welfare. Opin Fjármál: vendor-level city spending 2014–2025.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Reykjavík municipality CKAN + PX-Web — services, demographics, welfare. Opin Fjármál: vendor-level city spending 2014–2025.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Iceland energy authority — electricity generation, use, fuel sales, power plants and licences. Use for energy-system analysis.
Fiskistofa — public WFS layers for fishing closures, regulations and fishing areas; paid REST catch/quota data is excluded.
Hafrannsóknastofnun / MFRI — annual fish-stock assessments, advice, landings and survey series in embedded tables.
Environment Agency of Iceland GIS — open WFS layers for contaminated land, water, protected areas, noise and wastewater.
Icelandic Met Office (Veðurstofa) — weather observations, stations, forecasts and earthquakes via the modern JSON API at api.vedur.is.
Iceland Tax Authority — annual reports (ársreikningar), company registry, ownership chain mapping by kennitala.
| name | reykjavik |
| description | Reykjavík municipality CKAN + PX-Web — services, demographics, welfare. Opin Fjármál: vendor-level city spending 2014–2025. |
Open data from Reykjavík City via two APIs:
589 CKAN datasets + 293 PX-Web tables covering municipal operations, social services, demographics, and infrastructure.
Full catalog: data/reykjavik_catalog.md — browse this first to find the right dataset before querying APIs.
Base URL: https://gagnagatt.reykjavik.is/api/3/action/
No authentication required. Returns CSV files directly.
Base URL: https://velstat.reykjavik.is/PxWeb/api/v1/is/VELSTAT/
No authentication required. Returns JSON metadata (GET) or CSV data (POST).
Categories:
| Path | Description |
|---|---|
000. Lykiltölur/ | Key statistics |
100. Manadarleg tolfraedi/ | Monthly statistics |
200. Arsskyrsla/ | Annual reports |
Subcategories (e.g., in 200. Arsskyrsla/):
02 Fjarhagsadstod/ - Financial assistance07 Barnavernd Reykjavikur/ - Child protection10. Heimilisofbeldi/ - Domestic violence11 Mannfjoldi/ - PopulationFetch all data from a table:
curl -X POST "https://velstat.reykjavik.is/PxWeb/api/v1/is/VELSTAT/200.%20Arsskyrsla/11%20Mannfjoldi/VEL11008.px" \
-H "Content-Type: application/json" \
-d '{"query": [], "response": {"format": "csv"}}' \
-o output.csv
# Convert encoding (output is Windows-1252)
iconv -f WINDOWS-1252 -t UTF-8 output.csv > output_utf8.csv
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_list" | jq '.result[:10]'
# Search by keyword
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_search?q=mannfjoldi&rows=5" | jq
# Filter by organization
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_search?fq=organization:velferdarsvid&rows=10" | jq
# Filter by group (category)
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_search?fq=groups:ibuar&rows=10" | jq
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_show?id=arsuppgjor-a-hluta-reykjavikurborgar" | jq
# Get resource URL from package_show, then download
curl -s "https://gagnagatt.reykjavik.is/api/3/action/package_show?id=arsuppgjor-a-hluta-reykjavikurborgar" | \
jq -r '.result.resources[0].url' | \
xargs curl -o data/raw/reykjavik/arsuppgjor.csv
| ID | Name | Description |
|---|---|---|
thjonustu-og-nyskopunarsvid | Þjónustu- og nýsköpunarsviðið | Service & Innovation (111 datasets) |
velferdarsvid | Velferðarsviðið | Welfare Services (85 datasets) |
skola-og-fristundasvid | Skóla- og frístundasviðið | Education & Recreation (44 datasets) |
umhverfis-og-skipulagssvid | Umhverfis- og skipulagssviðið | Environment & Planning |
fjarmala-og-ahettusjornunarsvid | Fjármála- og áhættustjórnarsviðið | Finance & Risk Management |
menningar-og-ithrottasvid | Menningar- og íþróttasviðið | Culture & Sports |
mannauds-og-starfsumhverfissvid | Mannauðs- og starfsumhverfissviðið | HR & Work Environment |
| ID | Name |
|---|---|
ibuar | Íbúar (Residents) |
lydheilsa_oryggi_lydraedi | Lýðheilsa, öryggi, lýðræði |
velferdarmal | Velferðarmál (Welfare) |
skolar-menntun-fraedsla | Skólar, menntun, fræðsla |
fjolskyldan | Fjölskyldan (Family) |
husnaedismarkadur_og_skipulagsmal | Húsnæðismarkaður og skipulagsmál |
umhverfi_og_audlindir | Umhverfi og auðlindir |
samgongur | Samgöngur (Transport) |
menning_ferdamal_og_tomstundir | Menning, ferðamál, tómstundir |
vinnumarkadur | Vinnumarkaður (Labor market) |
starfsemi_reykjavikurborgar | Starfsemi Reykjavíkurborgar |
Use this for: "What does Reykjavík spend on X?", "Who are Reykjavík's biggest vendors?", "How much does Reykjavík pay Strætó/SORPA/etc?"
Dataset: arsuppgjor on gagnagatt — CSV files per year, semicolon-delimited, 2014–2025.
Coverage: A-part only (tax-funded). Three funds: Reykjavíkurborg (Aðalsjóður), Eignasjóður fasteignastofa, Bílastæðasjóður. B-part entities (OR, Strætó, Félagsbústaðir, SORPA, etc.) are not included as buyers — but they appear as vendors when the A-part pays them.
Download URLs (latest years):
# 2024 full year (~94k rows)
curl -sL 'https://gagnagatt.reykjavik.is/dataset/75521327-9d99-47d1-b1fd-a273057cbb4b/resource/54bb63af-1037-47e9-9a00-165b758f09a9/download/uppg202412_island.csv' \
-o data/raw/reykjavik_accounts/uppg202412.csv
# 2025 Q1-Q3
curl -sL 'https://gagnagatt.reykjavik.is/dataset/75521327-9d99-47d1-b1fd-a273057cbb4b/resource/ccc2422a-63c1-4145-8579-7f4e383afbc6/download/uppg202509_island.csv' \
-o data/raw/reykjavik_accounts/uppg202509.csv
# For other years, use CKAN API:
curl -s 'https://gagnagatt.reykjavik.is/api/3/action/package_show?id=arsuppgjor' | jq '.result.resources[] | {name, url}'
CSV Schema (semicolon-delimited, UTF-8):
| Column | Description | Example |
|---|---|---|
uttak | Extract ID | UPPG202412 |
fyrirtaeki | Fund name | Reykjavíkurborg, Eignasjóður fasteignastofa |
samtala1 | Division (svið) | Skóla- og frístundasvið |
samtala2 | Department | Grunnskólar |
samtala3 | Sub-department | Grunnskólar |
samtala4 | Category | (often empty) |
samtala0 | Unit/school/office | Grandaskóli |
tegund1 | Expense type L1 | Rekstrargjöld |
tegund2 | Expense type L2 | Skrifstofu- og stjórnunarkostnaður |
tegund3 | Expense type L3 | Fjarskiptakostnaður |
tegund4 | Expense type L4 | (often empty) |
tegund0 | Expense type detail | Fjarskipti |
vm_numer | Vendor ID (internal) | 60829 |
vm_nafn | Vendor name | Sýn hf. |
ar | Year | 2024 |
arsfjordungur | Quarter (1-4) | 3 |
raun | Amount ISK | 8262 (positive=expense, negative=revenue) |
Key divisions (samtala1) in 2024:
Top external vendors (2024): Strætó (5.6 bn), SORPA (2 bn), Veitur/OR (1.5 bn), Slökkvilið (1.5 bn), Skólamatur (817 m).
Note: Salary rows have empty vm_numer/vm_nafn (personal data excluded). Internal transfers (Reykjavíkurborg ↔ Eignasjóður) are the largest "vendor" entries.
DuckDB queries:
-- Top vendors for a division
SELECT vm_nafn, sum(raun) as total
FROM read_csv('data/raw/reykjavik_accounts/uppg202412.csv', delim=';', header=true)
WHERE samtala1 = 'Velferðarsvið' AND raun > 0 AND vm_nafn IS NOT NULL AND vm_nafn != ''
GROUP BY 1 ORDER BY 2 DESC LIMIT 20
-- Spending by division over time (load multiple years)
SELECT ar, samtala1, sum(raun) as total
FROM read_csv('data/raw/reykjavik_accounts/uppg*.csv', delim=';', header=true, union_by_name=true)
WHERE raun > 0
GROUP BY 1, 2 ORDER BY 1, 3 DESC
-- All payments to a specific vendor
SELECT ar, arsfjordungur, samtala1, samtala0, tegund1, tegund2, raun
FROM read_csv('data/raw/reykjavik_accounts/uppg202412.csv', delim=';', header=true)
WHERE vm_nafn ILIKE '%strætó%'
ORDER BY raun DESC
| Dataset ID | Description |
|---|---|
arsuppgjor | Annual accounts A-part with vendor detail (2014-2025) |
arsuppgjor-b-hluta-reykjavikurborgar | Annual accounts section B (enterprises, no vendor detail) |
| Dataset ID | Description | Verified |
|---|---|---|
mannfjoldi_i_reykjavik_eftir_aldursbilum | Population by age group (1998-2018) | ✓ |
mannfjoldi_i_reykjavik_eftir_hverfum_og_kyni | Population by district and gender | |
mannfjoldi_og_ibudir_i_reykjavik | Population and housing | |
midborgin-okkar | Central district housing and population | |
fjoldi-ibua-eftir-hverfi-og-aldri | Population by district and age |
| Dataset ID | Description |
|---|---|
nemendur-i-tonlistarskola-* | Music school enrollment |
nemendafjoldi-i-fristundaheidmilum | After-school program enrollment |
grunnskolanemendur-* | Primary school students |
| Dataset ID | Description |
|---|---|
heimastudningur-* | Home support services |
fjoldi-*-fatlads-folks | Disability services |
felags-og-fjolskylduthjonusta-* | Social and family services |
| Dataset ID | Description |
|---|---|
neysluvatn-veitufra-rvk-efnamaelingar | Drinking water quality |
efnamaelingar-a-strondumog-i-sjorum | Coastal water quality |
rafmagn-og-heitavatn-og-kalt-vatn | Energy and water consumption |
sorphirda-* | Waste collection statistics |
| Dataset ID | Description |
|---|---|
sveitarstjornarkosningar-* | Municipal election results (1986-present) |
kjorsokn-* | Voter turnout data |
CKAN datasets:
| Dataset ID | Description |
|---|---|
erlendir_rikisborgarar_i_reykjavik_eftir_rikisfangi_med_ar_rikisfang_og_kyni_i_stafrofsrod | Foreign citizens by country, year, gender (1998-present) |
erlendir_rikisborgarar_i_reykjavik_eftir_hverfum | Foreign citizens by district |
erlendir_rikisborgarar_i_reykjavik_eftir_heimsalfum | Foreign citizens by continent |
atvinnuleysi_i_reykjavik_eftir_manudum_rikisfangi_og_kyni | Unemployment by nationality and gender |
algengustu_thjoderni_barna_af_erlendum_uppruna_i_leikskolum_borgarinnar | Most common nationalities in kindergartens |
algengustu_thjoderni_nemenda_i_grunnskolum_sem_fengu_kennslu_i_islensku_sem_odru_tungumali | Nationalities of students learning Icelandic as 2nd language |
fjoldi_barna_af_erlendum_uppruna_i_leikskolum_reykjavikur_eftir_thjonustumidstodvum | Foreign-origin children in kindergartens by district |
thjoderni_og_fjoldi_farthega_skemmtiferdaskipa_sem_fara_um_hafnir_faxafloahafna | Cruise passenger nationalities |
PX-Web tables (velstat.reykjavik.is):
| Table | Path | Description |
|---|---|---|
VEL11008.px | 200. Arsskyrsla/11 Mannfjoldi/ | Population by district and nationality (2010-2022) |
VEL11006.px | 200. Arsskyrsla/11 Mannfjoldi/ | Population by service center, age, nationality |
VEL02009.px | 200. Arsskyrsla/02 Fjarhagsadstod/ | Financial assistance recipients by nationality |
VST10006.px | 100. Manadarleg tolfraedi/10. Heimilisofbeldi/ | Domestic violence reports by nationality |
{
"success": true,
"result": {
"id": "6e0aca8d-4690-4209-a0e9-a87ebd2c412b",
"name": "arsuppgjor-a-hluta-reykjavikurborgar",
"title": "Ársuppgjör A-hluta Reykjávíkurborgar",
"notes": "Dataset description...",
"resources": [
{
"id": "60ab64ee-866a-4cd0-9b08-0d6ecda1b254",
"name": "uppg202509_island.csv",
"format": "CSV",
"url": "https://gagnagatt.reykjavik.is/dataset/.../download/uppg202509_island.csv"
}
],
"organization": {...},
"tags": [...]
}
}
Reykjavík CSVs use Icelandic locale formatting:
| Setting | Value |
|---|---|
| Delimiter | ; (semicolon) |
| Decimal | , (comma) |
| Encoding | UTF-8 |
SELECT *
FROM read_csv('data/raw/reykjavik/file.csv',
delim=';',
decimal_separator=','
)
import polars as pl
df = pl.read_csv('data/raw/reykjavik/file.csv',
separator=';',
decimal_comma=True
)
mlr --icsv --ifs ';' --ocsv cat data/raw/reykjavik/file.csv
Icelandic CSV format: Semicolon delimiter, comma decimal separator (see CSV Format above).
Naming conventions: Dataset IDs use Icelandic with hyphens or underscores. Years often appear at end (e.g., 2011-2022).
Multiple resources: Datasets often contain multiple CSV files for different time periods. Check resources array for all files.
License: Most datasets use "other-open" license allowing reuse.
Time series: Historical data is often split across multiple dataset IDs by year range.
Updates: Datasets are updated at varying frequencies. Check metadata_modified for last update.
| Icelandic | English |
|---|---|
| Ár | Year |
| Aldur | Age |
| Kyn | Gender |
| Fjöldi | Count/number |
| Hlutfall | Share/proportion |
| Heild / Alls | Total |
| Icelandic | English |
|---|---|
| Ársuppgjör | Annual accounts |
| Íbúar | Residents |
| Hverfi | District/neighborhood |
| Þjónusta | Service |
| Velferð | Welfare |
| Skólar | Schools |
| Fjölskylda | Family |
| Heimastudningur | Home support |
| Sorphirða | Waste collection |
| Neysluvatn | Drinking water |
| Kosningar | Elections |
| Mannfjöldi | Population |
| Ríkisfang | Citizenship/nationality |
| Erlendur/Erlendir | Foreign |
| Íslenskur/Íslenskt | Icelandic |
| Þjóðerni | Nationality/ethnicity |
| Uppruni | Origin |
| Atvinnuleysi | Unemployment |
| Fjárhagsaðstoð | Financial assistance |
| Heimilisofbeldi | Domestic violence |
| Gerandi | Perpetrator |
| Þolandi | Victim |
| Þjónustumiðstöð | Service center |
SQL queries go in /evidence-reports/sources/reykjavik/:
-- Example: Population time series from raw data
SELECT
Ár as year,
Fjöldi as population
FROM read_csv('../data/raw/reykjavik/mannfjoldi_aldursbil.csv',
delim=';',
decimal_separator=','
)
WHERE Aldur = 'Alls'
ORDER BY year
-- Example: From processed data (standard CSV format)
SELECT *
FROM read_csv('../data/processed/reykjavik_population.csv')
ORDER BY year
Run npm run sources to regenerate parquet files after updating CSVs.