Skip to content
PG Pulse
PG Pulse

Try searching for

Local knowledge for your AI tools

Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, no key needed.

Connect your AI assistant
View as MarkdownFree, no key needed

Garbage & recycling: API reference

5 endpoints. Base URL https://princegeorgepulse.ca/api/v1. Conventions (envelope, paging, fields, formats, limits) are on the overview. All endpoints.

GET /api/v1/garbage/lookup #

Find the garbage/recycling zone for an address or a point.

Pass address, or lat and lng. Then call /garbage/schedule with the returned match.zone.

  • Cache: 1 h (live source, cached on our server)
  • Source: City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data
  • Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca/gov/content/data/policy-standards/data-policies/open-data/open-government-licence-bc) (BC Address Geocoder)
ParameterInTypeDescription
addressquerystringStreet address in Prince George. Example: 123 Patricia Blvd.
latquerynumberLatitude.
lngquerynumberLongitude.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/garbage/lookup?address=123%20Patricia%20Blvd"

Example response (trimmed)

json
{
  "data": {
    "query": "123 Patricia Blvd",
    "match": {
      "address": "123 Patricia Blvd",
      "zone": "zone-z480-z1862",
      "garbage": "Green",
      "recycling": "Pink",
      "exact": true
    },
    "suggestions": [],
    "location": {
      "lat": 53.9125491,
      "lng": -122.7274219,
      "address": "123 Patricia Blvd, Prince George, BC"
    },
    "method": "recyclecoach"
  },
  "meta": {
    "source": "City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data",
    "sourceUrl": "https://www.princegeorge.ca/city-services/garbage-recycling",
    "updatedAt": null,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca…",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/garbage/lookup?address=123%20Patricia%20Blvd",
    "next": null,
    "docs": "/developers/reference/garbage-and-recycling/#get-garbage-lookup"
  }
}

GET /api/v1/garbage/suggest #

Address suggestions (autocomplete) with zones.

  • Cache: 1 h (live source, cached on our server)
  • Source: City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data
  • Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca/gov/content/data/policy-standards/data-policies/open-data/open-government-licence-bc) (BC Address Geocoder)
ParameterInTypeDescription
qquerystringAt least 3 characters. Required. Example: 1100 Patr.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/garbage/suggest?q=1100%20Patr"

Example response (trimmed)

json
{
  "data": [
    {
      "address": "735 Patricia Blvd",
      "zone": "zone-z480-z1862",
      "garbage": "Green",
      "recycling": "Pink"
    },
    {
      "address": "675 Patricia Blvd",
      "zone": "zone-z480-z1862",
      "garbage": "Green",
      "recycling": "Pink"
    },
    "… 8 more"
  ],
  "meta": {
    "source": "City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data",
    "sourceUrl": "https://www.princegeorge.ca/city-services/garbage-recycling",
    "updatedAt": null,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca…",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/garbage/suggest?q=1100%20Patr",
    "next": null,
    "docs": "/developers/reference/garbage-and-recycling/#get-garbage-suggest"
  }
}

GET /api/v1/garbage/schedule #

Dated pickup schedule for a zone (garbage, recycling, holidays, events).

data.ics links an iCalendar file of the same schedule (served by /api/tools/garbage). Printable calendar: https://www.princegeorge.ca/media/5048

  • Cache: 1 h (live source, cached on our server)
  • Source: City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data
  • Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca/gov/content/data/policy-standards/data-policies/open-data/open-government-licence-bc) (BC Address Geocoder)
ParameterInTypeDescription
zonequerystringZone string from /garbage/lookup (e.g. zone-z480-z1862). Required. Example: zone-z480-z1862.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/garbage/schedule?zone=zone-z480-z1862"

Example response (trimmed)

json
{
  "data": {
    "zone": "zone-z480-z1862",
    "garbage": "Green",
    "recycling": "Pink",
    "next": {
      "garbage": "2026-10-20",
      "recycling": "2026-10-20"
    },
    "events": [
      {
        "date": "2026-10-20",
        "items": [
          "{…}",
          "{…}"
        ]
      },
      {
        "date": "2026-10-27",
        "items": [
          "{…}"
        ]
      },
      "… 21 more"
    ],
    "range": {
      "from": "2025-10-20",
      "to": "2027-06-25"
    },
    "ics": "/api/tools/garbage?zone=zone-z480-z1862&format=ics"
  },
  "meta": {
    "source": "City of Prince George (Recycle Coach), BC Address Geocoder, City of Prince George open data",
    "sourceUrl": "https://www.princegeorge.ca/city-services/garbage-recycling",
    "updatedAt": "2026-10-16T10:48:23.775Z",
    "ageSec": 0,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf); Open Government Licence – British Columbia (https://www2.gov.bc.ca…",
    "attribution": "City of Prince George, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/garbage/schedule?zone=zone-z480-z1862",
    "next": null,
    "docs": "/developers/reference/garbage-and-recycling/#get-garbage-schedule"
  }
}

GET /api/v1/garbage/zones #

City garbage collection zones as GeoJSON.

  • Cache: 24 h (live source, cached on our server)
  • Source: City of Prince George open data
  • Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
  • GeoJSON: add format=geojson for a bare FeatureCollection

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/garbage/zones"

Example response (trimmed)

json
{
  "data": {
    "type": "FeatureCollection",
    "crs": {
      "type": "name",
      "properties": {
        "name": "EPSG:4326"
      }
    },
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.77084,
                53.85203
              ],
              [
                -122.76242,
                53.85227
              ],
              "… 21 more"
            ]
          ]
        },
        "properties": {
          "Zone": "Blue"
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.77481,
                53.86836
              ],
              [
                -122.77085,
                53.86763
              ],
              "… 34 more"
            ]
          ]
        },
        "properties": {
          "Zone": "Blue"
        }
      },
      "… 25 more"
    ]
  },
  "meta": {
    "source": "City of Prince George open data",
    "sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
    "updatedAt": "2026-10-11T22:33:10.287Z",
    "ageSec": 389713,
    "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)"
  },
  "links": {
    "self": "/api/v1/garbage/zones",
    "next": null,
    "docs": "/developers/reference/garbage-and-recycling/#get-garbage-zones"
  }
}

GET /api/v1/services/fees #

Landfill tipping fees as published by the operator.

Every row of the operator’s tipping fee tables (refuse, demolition and construction waste, recyclables, volume-based load classes, compost), re-read daily. fees maps each published column (e.g. "minimum fee", "weight based tipping fee") to the value exactly as published.

ParameterInTypeDescription
qquerystringMaterial or section text. Example: drywall.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/services/fees"

Example response (trimmed)

json
{
  "data": [
    {
      "section": "Refuse",
      "material": "Refuse",
      "fees": {
        "minimum fee": "$6 up to 100 kg",
        "weight based tipping fee": "$110/tonne"
      },
      "sourceUrl": "https://www.rdffg.ca/TippingFees",
      "fetchedAt": "2026-10-15T12:15:01.854Z"
    },
    {
      "section": "Refuse",
      "material": "Bulky waste",
      "fees": {
        "minimum fee": "$6 up to 50 kg",
        "weight based tipping fee": "$129.75/tonne"
      },
      "sourceUrl": "https://www.rdffg.ca/TippingFees",
      "fetchedAt": "2026-10-15T12:15:01.854Z"
    },
    "… 31 more"
  ],
  "meta": {
    "source": "Regional District of Fraser-Fort George: tipping fees and site pages",
    "sourceUrl": "https://www.rdffg.ca/TippingFees",
    "updatedAt": "2026-10-15T12:15:01.854Z",
    "ageSec": 81202,
    "license": "Public fee schedule and hours published by the operator; facts copied with attribution and a link",
    "attribution": "Regional District of Fraser-Fort George, via PG Pulse (princegeorgepulse.ca)",
    "total": 33,
    "count": 33,
    "limit": 100,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/services/fees",
    "next": null,
    "docs": "/developers/reference/garbage-and-recycling/#get-services-fees"
  }
}

Add PG Pulse to your home screen

Your browser installs apps from its Share menu.

  1. Tap Share in the browser toolbar (at the bottom of the screen on iPhone, at the top on iPad).
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. PG Pulse opens from its icon like any other app.