# City spending: API reference

8 endpoints. Base URL `https://princegeorgepulse.ca/api/v1`. Conventions (envelope, paging, fields, formats, limits) are on the [overview](https://princegeorgepulse.ca/developers/). [All endpoints](https://princegeorgepulse.ca/developers/reference/).

## GET /api/v1/spending {#get-spending}

City spending and pay at a glance: totals by year for suppliers, grants, contract awards, council and staff pay.

One row per fiscal year with the count and total of payments to suppliers and grants over the reporting threshold, contract awards (by award date), mayor and council pay and expenses, and staff paid over the threshold (count, total, median). `datasets` says where each table comes from, when the City last edited it, the latest year it holds and whether a year that should be out by now is missing (`behind`). The City publishes the statement of financial information once a year.

- Cache: 6 h
- Source: [City of Prince George open data: statement of financial information (suppliers, grants, remuneration), contract awards, council by year](https://data-cityofpg.opendata.arcgis.com/)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending"
```

**Example response** (trimmed)

```json
{
  "data": {
    "years": [
      {
        "year": 2025,
        "suppliers": {
          "count": 374,
          "total": 233820917
        },
        "grants": {
          "count": 17,
          "total": 6487687
        },
        "contracts": {
          "count": 68,
          "total": 24518577
        },
        "council": null,
        "staff": null
      },
      {
        "year": 2024,
        "suppliers": {
          "count": 380,
          "total": 214327827
        },
        "grants": {
          "count": 12,
          "total": 5575787
        },
        "contracts": {
          "count": 99,
          "total": 35849508
        },
        "council": null,
        "staff": null
      },
      "… 10 more"
    ],
    "datasets": [
      {
        "id": "suppliers",
        "title": "Payments to suppliers",
        "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::suppliers-awards-over-25k-1",
        "editedAt": "2026-07-23T22:30:29.121Z",
        "rows": 4088,
        "firstYear": 2014,
        "latestYear": 2025,
        "expectedYear": 2025,
        "behind": false,
        "fetchedAt": "2026-10-02T03:12:41.121Z",
        "checkedAt": "2026-10-11T11:35:07.443Z",
        "error": null
      },
      {
        "id": "grants",
        "title": "Grants and contributions",
        "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::supplier-grants-over-25k",
        "editedAt": "2026-07-23T22:21:04.338Z",
        "rows": 171,
        "firstYear": 2014,
        "latestYear": 2025,
        "expectedYear": 2025,
        "behind": false,
        "fetchedAt": "2026-10-02T03:12:41.121Z",
        "checkedAt": "2026-10-11T11:35:07.443Z",
        "error": null
      },
      "… 4 more"
    ],
    "thresholds": {
      "suppliers": 25000,
      "grants": 25000,
      "staff": 75000
    },
    "links": {
      "reports": "https://www.princegeorge.ca/city-hall/annual-report-strategic-plan-corporate-plan",
      "bidding": "https://www.princegeorge.ca/business-development/bidding-opportunities",
      "page": "/spending/"
    }
  },
  "meta": {
    "source": "City of Prince George open data: statement of financial information (suppliers, grants, remuneration), contract awards, council by year",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
    "updatedAt": "2026-10-11T11:35:08.791Z",
    "ageSec": 447253,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George open data: statement of financial information (suppliers, grants, remuneration), contract awards, council by year, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/spending",
    "next": null,
    "docs": "/developers/reference/city-spending/#get-spending"
  }
}
```

## GET /api/v1/spending/suppliers {#get-spending-suppliers}

Payments to suppliers over $25,000 by year, as the City reports them.

Every supplier the City paid more than $25,000 in a fiscal year, from the statement of financial information it publishes each year. `total` is the City’s total for the year (`amount` by cheque or transfer, `card` by purchasing card, when split). `group=true` returns one row per supplier with the total across years (newest years first in `byYear`). Names are as the City publishes them.

- Cache: 6 h
- Source: [City of Prince George: payments to suppliers (statement of financial information)](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::suppliers-awards-over-25k-1)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 500) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `q` | query | string | Words in the name. Example: `Paving`. |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `group` | query | boolean | One row per name, totalled across years. |
| `sort` | query | string | amount (default: year, then largest first) or name. One of: `amount`, `name`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/suppliers"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "name": "Receiver General for Canada",
      "year": 2025,
      "total": 56058609.24,
      "amount": null,
      "card": null
    },
    {
      "name": "Minister of Finance",
      "year": 2025,
      "total": 22055957.64,
      "amount": null,
      "card": null
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: payments to suppliers (statement of financial information)",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::suppliers-awards-over-25k-1",
    "updatedAt": "2026-10-02T03:12:41.121Z",
    "ageSec": 1255000,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2025,
    "firstYear": 2014,
    "cityEditedAt": "2026-07-23T22:30:29.121Z",
    "behind": false,
    "expectedYear": 2025,
    "total": 4088,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/spending/suppliers",
    "next": "/api/v1/spending/suppliers?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-suppliers"
  }
}
```

## GET /api/v1/spending/grants {#get-spending-grants}

Grants and contributions over $25,000 by year, as the City reports them.

Every grant recipient the City paid more than $25,000 in a fiscal year, from the statement of financial information it publishes each year. `total` is the City’s total for the year (`amount` by cheque or transfer, `card` by purchasing card, when split). `group=true` returns one row per recipient with the total across years (newest years first in `byYear`). Names are as the City publishes them.

- Cache: 6 h
- Source: [City of Prince George: grants and contributions (statement of financial information)](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::supplier-grants-over-25k)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 500) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `q` | query | string | Words in the name. Example: `Society`. |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `group` | query | boolean | One row per name, totalled across years. |
| `sort` | query | string | amount (default: year, then largest first) or name. One of: `amount`, `name`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/grants"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "name": "PG Public Library",
      "year": 2025,
      "total": 4401235.95,
      "amount": null,
      "card": null
    },
    {
      "name": "Theatre North West Society",
      "year": 2025,
      "total": 466130,
      "amount": null,
      "card": null
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: grants and contributions (statement of financial information)",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::supplier-grants-over-25k",
    "updatedAt": "2026-10-02T03:12:41.121Z",
    "ageSec": 1255000,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2025,
    "firstYear": 2014,
    "cityEditedAt": "2026-07-23T22:21:04.338Z",
    "behind": false,
    "expectedYear": 2025,
    "total": 171,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/spending/grants",
    "next": "/api/v1/spending/grants?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-grants"
  }
}
```

## GET /api/v1/spending/contracts {#get-spending-contracts}

Contracts the City awarded: bid number, method, description, vendor, amount and date, newest first.

The City’s procurement contract awards. `method` puts the City’s own process label (`process`) in plain words: Pre-qualification, Standing offer, Request for proposals, Tender, Request for quotations, Direct award (exemption), Rotational list, Expression of interest, Supply agreement, Extension, Other, Not stated. `extension` marks extensions of earlier awards. A few awards have no date or amount in the source.

- Cache: 6 h
- Source: [City of Prince George: procurement contract awards](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::procurement-contract-awards)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 500) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `q` | query | string | Words in the bid number, description or vendor. Example: `snow`. |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `method` | query | string | Plain-words method. One of: `Pre-qualification`, `Standing offer`, `Request for proposals`, `Tender`, `Request for quotations`, `Direct award (exemption)`, `Rotational list`, `Expression of interest`, `Supply agreement`, `Extension`, `Other`, `Not stated`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/contracts"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "bid": "X25-091",
      "description": "Prince George Fire Rescue Wellness Program",
      "vendor": "Fire Health Services Ltd; JS Consulting",
      "amount": 70000,
      "awardedOn": "2025-06-27",
      "year": 2025,
      "method": "Direct award (exemption)",
      "process": "Exemption",
      "extension": false
    },
    {
      "bid": "P22-050*",
      "description": "Secruity Services Opt Yr 1",
      "vendor": "Paladin Security Groups Ltd",
      "amount": 295890.24,
      "awardedOn": "2025-06-27",
      "year": 2025,
      "method": "Request for proposals",
      "process": "Request for Proposal",
      "extension": false
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: procurement contract awards",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::procurement-contract-awards",
    "updatedAt": "2026-10-02T03:12:04.155Z",
    "ageSec": 1255037,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2025,
    "firstYear": 2015,
    "cityEditedAt": "2025-08-15T15:25:54.436Z",
    "behind": false,
    "expectedYear": null,
    "methods": [
      {
        "method": "Request for proposals",
        "count": 354,
        "total": 156368751
      },
      {
        "method": "Tender",
        "count": 224,
        "total": 104204781
      },
      "… 8 more"
    ],
    "…": "4 more keys"
  },
  "links": {
    "self": "/api/v1/spending/contracts",
    "next": "/api/v1/spending/contracts?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-contracts"
  }
}
```

## GET /api/v1/spending/remuneration/council {#get-spending-remuneration-council}

Mayor and council pay, vehicle allowance, expenses and benefits by year.

As reported in the City’s statement of financial information: `payTaxable` and `payNonTaxable` (the City labels these taxable and non-taxable remuneration), `vehicle` allowance, `total` as the City publishes it, then `expenses` and `benefits`. One row per person, position and year (a person who changed position in a year has two rows).

- Cache: 6 h
- Source: [City of Prince George: elected officials’ remuneration and expenses (statement of financial information)](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::elected-officials-remuneration)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 500) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `q` | query | string | Words in the name. Example: `Hall`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/remuneration/council"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "year": 2022,
      "name": "Hall, Lyn FJ",
      "position": "Mayor",
      "payTaxable": 115246.66,
      "payNonTaxable": null,
      "vehicle": 7670.45,
      "total": 122917.11,
      "expenses": 9238.94,
      "benefits": 167.56,
      "contracts": null
    },
    {
      "year": 2022,
      "name": "Yu, Simon",
      "position": "Mayor",
      "payTaxable": 17865.66,
      "payNonTaxable": null,
      "vehicle": 1363.64,
      "total": 19229.3,
      "expenses": 19.77,
      "benefits": 15.36,
      "contracts": null
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: elected officials’ remuneration and expenses (statement of financial information)",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::elected-officials-remuneration",
    "updatedAt": "2026-10-02T03:12:04.155Z",
    "ageSec": 1255037,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2022,
    "firstYear": 2014,
    "cityEditedAt": "2024-01-03T18:51:14.553Z",
    "behind": true,
    "expectedYear": 2025,
    "total": 91,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/spending/remuneration/council",
    "next": "/api/v1/spending/remuneration/council?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-remuneration-council"
  }
}
```

## GET /api/v1/spending/remuneration/staff/summary {#get-spending-remuneration-staff-summary}

Staff paid over the threshold: count, total, median and pay bands for a year, by department.

Aggregates of the City’s list of employees paid more than $75,000 in a fiscal year (no names). `departments` groups by the department or position the City lists. Defaults to the latest year published.

- Cache: 6 h
- Source: [City of Prince George: employee remuneration over the threshold (statement of financial information)](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::employee-remuneration-75k)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/remuneration/staff/summary"
```

**Example response** (trimmed)

```json
{
  "data": {
    "year": 2022,
    "count": 365,
    "total": 39114631,
    "median": 100436,
    "mean": 107163,
    "top": 267200,
    "bands": [
      {
        "from": 75000,
        "to": 100000,
        "count": 181
      },
      {
        "from": 100000,
        "to": 125000,
        "count": 91
      },
      "… 3 more"
    ],
    "departments": [
      {
        "department": "Firefighter",
        "count": 75,
        "total": 8891892,
        "median": 120599
      },
      {
        "department": "Fire Captain",
        "count": 17,
        "total": 2530131,
        "median": 147824
      },
      "… 178 more"
    ],
    "years": [
      {
        "year": 2022,
        "count": 365,
        "total": 39114631,
        "median": 100436
      },
      {
        "year": 2021,
        "count": 330,
        "total": 33727468,
        "median": 97369
      },
      "… 7 more"
    ]
  },
  "meta": {
    "source": "City of Prince George: employee remuneration over the threshold (statement of financial information)",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::employee-remuneration-75k",
    "updatedAt": "2026-10-02T03:12:04.155Z",
    "ageSec": 1255037,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2022,
    "firstYear": 2014,
    "cityEditedAt": "2024-01-03T19:28:53.887Z",
    "behind": true,
    "expectedYear": 2025
  },
  "links": {
    "self": "/api/v1/spending/remuneration/staff/summary",
    "next": null,
    "docs": "/developers/reference/city-spending/#get-spending-remuneration-staff-summary"
  }
}
```

## GET /api/v1/spending/remuneration/staff {#get-spending-remuneration-staff}

Staff paid over the threshold by year, by name, as the City publishes them.

The City’s statutory list of employees paid more than $75,000 in a fiscal year (name, department or position as listed, remuneration, expenses), unchanged. For counts and medians use /spending/remuneration/staff/summary.

- Cache: 6 h
- Source: [City of Prince George: employee remuneration over the threshold (statement of financial information)](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::employee-remuneration-75k)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 500) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `q` | query | string | Words in the name or department. Example: `Fire`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/remuneration/staff"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "year": 2022,
      "name": "Babicz, Walter",
      "department": "City Manager",
      "remuneration": 267200.07,
      "expenses": 7745.35
    },
    {
      "year": 2022,
      "name": "Davey, Adam D",
      "department": "Director, Public Safety",
      "remuneration": 188675.23,
      "expenses": 1406.94
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: employee remuneration over the threshold (statement of financial information)",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::employee-remuneration-75k",
    "updatedAt": "2026-10-02T03:12:04.155Z",
    "ageSec": 1255037,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2022,
    "firstYear": 2014,
    "cityEditedAt": "2024-01-03T19:28:53.887Z",
    "behind": true,
    "expectedYear": 2025,
    "total": 2877,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/spending/remuneration/staff",
    "next": "/api/v1/spending/remuneration/staff?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-remuneration-staff"
  }
}
```

## GET /api/v1/spending/council-years {#get-spending-council-years}

Who sat on council each year: the mayor and councillors as the City lists them.

- Cache: 24 h
- Source: [City of Prince George: mayor and council by year](https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::council-mayor-breakdown-by-year)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated: `limit` (default 50, max 200) and `offset`; also `format=csv`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `year` | query | integer | Fiscal year (calendar year), e.g. 2024. Example: `2024`. |
| `limit` | query | integer | Items per page (default 50, max 500 unless noted). Example: `20`. |
| `offset` | query | integer | Items to skip. Use `links.next` to page. Example: `0`. |

Also accepts `fields` (sparse fieldset) and `format` (`json`, `md`, `csv`).

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/spending/council-years"
```

**Example response** (trimmed)

```json
{
  "data": [
    {
      "year": 2022,
      "mayor": "Yu, S.",
      "councillors": [
        "Skakun, B.",
        "Klassen, T.",
        "… 6 more"
      ]
    },
    {
      "year": 2021,
      "mayor": "Hall, L.",
      "councillors": [
        "Skakun, B.",
        "McConnachie, T.",
        "… 6 more"
      ]
    },
    "… 48 more"
  ],
  "meta": {
    "source": "City of Prince George: mayor and council by year",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/datasets/CityofPG::council-mayor-breakdown-by-year",
    "updatedAt": "2026-10-02T03:12:04.155Z",
    "ageSec": 1255037,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)",
    "latestYear": 2022,
    "firstYear": 1915,
    "cityEditedAt": "2023-07-26T22:23:55.620Z",
    "behind": false,
    "expectedYear": null,
    "total": 108,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/spending/council-years",
    "next": "/api/v1/spending/council-years?offset=50",
    "docs": "/developers/reference/city-spending/#get-spending-council-years"
  }
}
```
