# Awards: API reference

4 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/awards/seasons {#get-awards-seasons}

PG Pulse Awards seasons with phase and key dates.

- Cache: 5 min
- Source: [PG Pulse Awards (community voting)](https://princegeorgepulse.ca/vote/)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

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

**Example request**

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

**Example response** (trimmed)

```json
{
  "data": [
    {
      "slug": "best-of-pg-2026",
      "name": "Best of PG 2026",
      "blurb": "Prince George picks its favourite places, people and nights out. Nominate who deserves it, then vote once a day in every category.",
      "phase": "nominations",
      "phaseLabel": "Nominations open",
      "dates": {
        "nominationsOpen": "2026-09-30",
        "nominationsClose": "2026-10-21",
        "votingOpen": "2026-10-28",
        "votingClose": "2026-11-25",
        "resultsAt": "2026-12-03"
      },
      "nextMilestone": {
        "label": "Nominations close",
        "date": "2026-10-21",
        "days": 5
      },
      "nominees": 44,
      "voters": null,
      "url": "/vote/",
      "api": "/api/v1/awards/seasons/best-of-pg-2026"
    }
  ],
  "meta": {
    "source": "PG Pulse Awards (community voting)",
    "sourceUrl": "https://princegeorgepulse.ca/vote/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/awards/seasons",
    "next": null,
    "docs": "/developers/reference/awards/#get-awards-seasons"
  }
}
```

## GET /api/v1/awards/seasons/{season} {#get-awards-seasons-season}

One season with its categories.

- Cache: 5 min
- Source: [PG Pulse Awards (community voting)](https://princegeorgepulse.ca/vote/)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `season` | path | string | Season slug (see /awards/seasons). Required. |

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

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/awards/seasons/best-of-pg-2026"
```

**Example response** (trimmed)

```json
{
  "data": {
    "slug": "best-of-pg-2026",
    "name": "Best of PG 2026",
    "blurb": "Prince George picks its favourite places, people and nights out. Nominate who deserves it, then vote once a day in every category.",
    "phase": "nominations",
    "phaseLabel": "Nominations open",
    "dates": {
      "nominationsOpen": "2026-09-30",
      "nominationsClose": "2026-10-21",
      "votingOpen": "2026-10-28",
      "votingClose": "2026-11-25",
      "resultsAt": "2026-12-03"
    },
    "nextMilestone": {
      "label": "Nominations close",
      "date": "2026-10-21",
      "days": 5
    },
    "nominees": 44,
    "voters": null,
    "url": "/vote/",
    "api": "/api/v1/awards/seasons/best-of-pg-2026",
    "categories": [
      {
        "slug": "best-restaurant",
        "name": "Best restaurant",
        "group": "food-drink",
        "groupLabel": "Food and drink",
        "description": "The place you take visitors to show off Prince George.",
        "url": "/vote/best-of-pg-2026/best-restaurant/",
        "api": "/api/v1/awards/seasons/best-of-pg-2026/best-restaurant"
      },
      {
        "slug": "best-breakfast",
        "name": "Best breakfast or brunch",
        "group": "food-drink",
        "groupLabel": "Food and drink",
        "description": "Eggs, hash browns and bottomless coffee done right.",
        "url": "/vote/best-of-pg-2026/best-breakfast/",
        "api": "/api/v1/awards/seasons/best-of-pg-2026/best-breakfast"
      },
      "… 79 more"
    ]
  },
  "meta": {
    "source": "PG Pulse Awards (community voting)",
    "sourceUrl": "https://princegeorgepulse.ca/vote/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/awards/seasons/best-of-pg-2026",
    "next": null,
    "docs": "/developers/reference/awards/#get-awards-seasons-season"
  }
}
```

## GET /api/v1/awards/seasons/{season}/{category} {#get-awards-seasons-season-category}

One award category: nominees, ballot (with trending bands) or winners and finalists, depending on the phase.

Mirrors the public page. Raw vote counts are never returned while a season keeps them hidden, and results never include totals.

- Cache: 5 min
- Source: [PG Pulse Awards (community voting)](https://princegeorgepulse.ca/vote/)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `season` | path | string | Season slug. Required. |
| `category` | path | string | Category slug. Required. Example: `best-restaurant`. |

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

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/awards/seasons/best-of-pg-2026/best-restaurant"
```

**Example response** (trimmed)

```json
{
  "data": {
    "slug": "best-restaurant",
    "name": "Best restaurant",
    "group": "food-drink",
    "groupLabel": "Food and drink",
    "description": "The place you take visitors to show off Prince George.",
    "url": "/vote/best-of-pg-2026/best-restaurant/",
    "phase": "nominations",
    "nominees": [
      {
        "slug": "betulla-burning",
        "name": "Betulla Burning",
        "kind": "business",
        "ref": "betulla-burning",
        "subtitle": "Restaurants · 1253 3rd Ave",
        "profile": "/business/betulla-burning/",
        "url": "/vote/best-of-pg-2026/best-restaurant/betulla-burning/"
      },
      {
        "slug": "gramas-kitchen",
        "name": "Grama's Kitchen",
        "kind": "business",
        "ref": "gramas-kitchen",
        "subtitle": "Restaurants · 901 Central St W",
        "profile": "/business/gramas-kitchen/",
        "url": "/vote/best-of-pg-2026/best-restaurant/gramas-kitchen/"
      }
    ]
  },
  "meta": {
    "source": "PG Pulse Awards (community voting)",
    "sourceUrl": "https://princegeorgepulse.ca/vote/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/awards/seasons/best-of-pg-2026/best-restaurant",
    "next": null,
    "docs": "/developers/reference/awards/#get-awards-seasons-season-category"
  }
}
```

## GET /api/v1/awards/honours {#get-awards-honours}

Awards and nominations for one business, artist or real estate agent.

- Cache: 5 min
- Source: [PG Pulse Awards (community voting)](https://princegeorgepulse.ca/vote/)
- Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `kind` | query | string | business, dj (any local artist profile) or realtor. One of: `business`, `dj`, `realtor`. Example: `business`. |
| `ref` | query | string | Business, artist or agent slug. Required. Example: `camelot-restaurant`. |

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

**Example request**

```bash
curl "https://princegeorgepulse.ca/api/v1/awards/honours?kind=business&ref=camelot-restaurant"
```

**Example response** (trimmed)

```json
{
  "data": [],
  "meta": {
    "source": "PG Pulse Awards (community voting)",
    "sourceUrl": "https://princegeorgepulse.ca/vote/",
    "updatedAt": null,
    "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
    "attribution": "PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/awards/honours?kind=business&ref=camelot-restaurant",
    "next": null,
    "docs": "/developers/reference/awards/#get-awards-honours"
  }
}
```
