Local knowledge for your AI tools
Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, 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)
| Parameter | In | Type | Description |
|---|---|---|---|
address | query | string | Street address in Prince George. Example: 123 Patricia Blvd. |
lat | query | number | Latitude. |
lng | query | number | Longitude. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/garbage/lookup?address=123%20Patricia%20Blvd"Example response (trimmed)
{
"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)
| Parameter | In | Type | Description |
|---|---|---|---|
q | query | string | At least 3 characters. Required. Example: 1100 Patr. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/garbage/suggest?q=1100%20Patr"Example response (trimmed)
{
"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)
| Parameter | In | Type | Description |
|---|---|---|---|
zone | query | string | Zone 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
curl "https://princegeorgepulse.ca/api/v1/garbage/schedule?zone=zone-z480-z1862"Example response (trimmed)
{
"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=geojsonfor a bare FeatureCollection
Also accepts fields (sparse fieldset) and format (json, md, geojson).
Example request
curl "https://princegeorgepulse.ca/api/v1/garbage/zones"Example response (trimmed)
{
"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.
- Cache: 1 h
- Source: Regional District of Fraser-Fort George: tipping fees and site pages
- Licence: Public fee schedule and hours published by the operator; facts copied with attribution and a link
- Paginated:
limit(default 100, max 200) andoffset; alsoformat=csv
| Parameter | In | Type | Description |
|---|---|---|---|
q | query | string | Material or section text. Example: drywall. |
Also accepts fields (sparse fieldset) and format (json, md, csv).
Example request
curl "https://princegeorgepulse.ca/api/v1/services/fees"Example response (trimmed)
{
"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"
}
}