Fetch all data (JSON)
curl https://api.eolas.fyi/v1/series/nz_ward_2019/data \
-H "X-API-Key: your_key_here"
Filter by date range
curl "https://api.eolas.fyi/v1/series/nz_ward_2019/data?start=2020-01-01&end=2024-12-31" \
-H "X-API-Key: your_key_here"
Download as CSV
curl "https://api.eolas.fyi/v1/series/nz_ward_2019/data?format=csv" \
-H "X-API-Key: your_key_here" -o nz_ward_2019.csv
Fetch all data (JSON)
curl https://api.eolas.fyi/v1/series/nz_ward_2019/data ^
-H "X-API-Key: your_key_here"
Filter by date range
curl "https://api.eolas.fyi/v1/series/nz_ward_2019/data?start=2020-01-01&end=2024-12-31" ^
-H "X-API-Key: your_key_here"
Download as CSV
curl "https://api.eolas.fyi/v1/series/nz_ward_2019/data?format=csv" ^
-H "X-API-Key: your_key_here" -o nz_ward_2019.csv
PowerShell alternative
Invoke-RestMethod `
-Uri "https://api.eolas.fyi/v1/series/nz_ward_2019/data" `
-Headers @{ "X-API-Key" = "your_key_here" } | ConvertTo-Json
Install the client library
pip install vswarehouse
Fetch all data
from vswarehouse import Client
client = Client("your_key_here")
df = client.get("nz_ward_2019")
print(df.head())
Filter by date range
df = client.get("nz_ward_2019", start="2020-01-01", end="2024-12-31")
print(df.head())
Download as CSV
df = client.get("nz_ward_2019")
df.to_csv("nz_ward_2019.csv", index=False)
Snowflake access is available on the
Enterprise plan. Data is served as a zero-copy Iceberg share — no ETL, always up to date.
One-time setup — mount the share
CREATE DATABASE vs_warehouse
FROM SHARE MRWTYQY-WZ79363.vs_warehouse_share;
Query this dataset
SELECT *
FROM vs_warehouse.STATS_NZ.NZ_WARD_2019
ORDER BY date DESC
LIMIT 100;
Filter by date range
SELECT *
FROM vs_warehouse.STATS_NZ.NZ_WARD_2019
WHERE date >= '2020-01-01'
AND date <= '2024-12-31'
ORDER BY date;
Export to CSV from a worksheet
-- Run the query above, then use
-- Results → Download as CSV in the Snowflake UI
Install the client library
remotes::install_github("phildonovan/vswarehouse-r")
Fetch all data
library(vswarehouse)
vs_key("your_key_here")
df <- vs_get("nz_ward_2019")
head(df)
Filter by date range
df <- vs_get("nz_ward_2019", start = "2020-01-01", end = "2024-12-31")
head(df)
Download as CSV
df <- vs_get("nz_ward_2019")
write.csv(df, "nz_ward_2019.csv", row.names = FALSE)
Open Power BI Desktop → Home → Transform data → Advanced Editor, paste the query below.
Fetch all data
let
apiKey = "your_key_here",
url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data",
source = Json.Document(Web.Contents(url,
[Headers = [#"X-API-Key" = apiKey]])),
toTable = Table.FromList(source, Splitter.SplitByNothing(), {"Record"}),
cols = Record.FieldNames(toTable{0}[Record]),
result = Table.ExpandRecordColumn(toTable, "Record", cols)
in
result
Filter by date range
let
apiKey = "your_key_here",
url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data?start=2020-01-01&end=2024-12-31",
source = Json.Document(Web.Contents(url,
[Headers = [#"X-API-Key" = apiKey]])),
toTable = Table.FromList(source, Splitter.SplitByNothing(), {"Record"}),
cols = Record.FieldNames(toTable{0}[Record]),
result = Table.ExpandRecordColumn(toTable, "Record", cols)
in
result
In Excel: Data → Get Data → From Other Sources → Blank Query → Advanced Editor, paste the query below. Requires Excel 365 or Excel 2016+.
Fetch all data
let
apiKey = "your_key_here",
url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data",
source = Json.Document(Web.Contents(url,
[Headers = [#"X-API-Key" = apiKey]])),
toTable = Table.FromList(source, Splitter.SplitByNothing(), {"Record"}),
cols = Record.FieldNames(toTable{0}[Record]),
result = Table.ExpandRecordColumn(toTable, "Record", cols)
in
result
Filter by date range
let
apiKey = "your_key_here",
url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data?start=2020-01-01&end=2024-12-31",
source = Json.Document(Web.Contents(url,
[Headers = [#"X-API-Key" = apiKey]])),
toTable = Table.FromList(source, Splitter.SplitByNothing(), {"Record"}),
cols = Record.FieldNames(toTable{0}[Record]),
result = Table.ExpandRecordColumn(toTable, "Record", cols)
in
result
In Google Sheets: Extensions → Apps Script, paste the script below, then run getVSData(). It will write the data into the active sheet.
Fetch all data
function getVSData() {
const apiKey = "your_key_here";
const url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data";
const res = UrlFetchApp.fetch(url, { headers: { "X-API-Key": apiKey } });
const data = JSON.parse(res.getContentText());
const sheet = SpreadsheetApp.getActiveSheet();
const headers = Object.keys(data[0]);
const rows = data.map(r => headers.map(h => r[h] ?? ""));
sheet.clearContents();
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
sheet.getRange(2, 1, rows.length, headers.length).setValues(rows);
}
Filter by date range
function getVSData() {
const apiKey = "your_key_here";
const url = "https://api.eolas.fyi/v1/series/nz_ward_2019/data?start=2020-01-01&end=2024-12-31";
const res = UrlFetchApp.fetch(url, { headers: { "X-API-Key": apiKey } });
const data = JSON.parse(res.getContentText());
const sheet = SpreadsheetApp.getActiveSheet();
const headers = Object.keys(data[0]);
const rows = data.map(r => headers.map(h => r[h] ?? ""));
sheet.clearContents();
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
sheet.getRange(2, 1, rows.length, headers.length).setValues(rows);
}