# Geocoder REST API API

> Geocoder REST API API on Apizie: 16 endpoints (Geocode an address, Find intersections near to a geographic point, Find nearest intersection to a geographic point, Find intersections in a geographic area, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:gov-bc-ca-geocoder`
- Category: Open Data
- Status: byok
- Source: https://dpdd.atlassian.net/servicedesk/customer/portal/1/group/7/
- Page: https://apizie.tech/api/open-data/gov-bc-ca-geocoder
- OpenAPI: https://apizie.tech/api/open-data/gov-bc-ca-geocoder/openapi.json

This API represents address cleaning, correction, completion, geocoding, reverse geocoding, and proximity resources for intersection addresses, physical addresses and their occupants in British Columbia. Please read…

## Endpoints

### Geocode an address
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-addresses-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| addressString | string | no | Civic or intersection address as a single string. See addressString |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| maxResults | integer | no | The maximum number of search results to return. |
| interpolation | string | no | accessPoint interpolation method. See interpolation |
| echo | boolean | no | If true, include unmatched address details such as site name in results. |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| autoComplete | boolean | no | If true, addressString is expected to contain a partial address that requires completion. Not supported for shp, csv, gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| minScore | integer | no | The minimum score required for a match to be returned. See minScore |
| matchPrecision | string | no | Example: street,locality. A comma separated list of individual match precision levels to include in results. See matchPrecision |
| matchPrecisionNot | string | no | Example: street,locality. A comma separated list of individual match precision levels to exclude from results. See matchPrecisionNot |
| siteName | string | no | A string containing the name of the building, facility, or institution (e.g., Duck Building, Casa Del Mar, Crystal Garden, Bluebird… |
| unitDesignator | string | no | The type of unit within a house or building. See unitDesignator |
| unitNumber | string | no | The number of the unit, suite, or apartment within a house or building. |
| unitNumberSuffix | string | no | A letter that follows the unit number as in Unit 1A or Suite 302B. |
| civicNumber | string | no | The official number assigned to a site by an address authority. See civicNumber |
| civicNumberSuffix | string | no | A letter or fraction that follows the civic number (e.g., the A in 1039A Bledsoe St). See civicNumberSuffix |
| streetName | string | no | The official name of the street as assigned by an address authority (e.g., the Douglas in 1175 Douglas Street). See streetName |
| streetType | string | no | The type of street as assigned by a municipality (e.g., the ST in 1175 DOUGLAS St). See streetType |
| streetDirection | string | no | The abbreviated compass direction as defined by Canada Post and B.C. civic addressing authorities. See streetDirection |
| streetQualifier | string | no | Example: the Bridge in Johnson St Bridge. The qualifier of a street name. See streetQualifier |
| localityName | string | no | The name of the locality assigned to a given site by an address authority. See localityName |
| provinceCode | string | no | The ISO 3166-2 Sub-Country Code. The code for British Columbia is BC. |
| localities | string | no | A comma separated list of locality names that matched addresses must belong to. For example, setting localities to Nanaimo only returns… |
| notLocalities | string | no | A comma-separated list of localities to exclude from the search. |
| bbox | string | no | Example: -126.07929,49.7628,-126.0163,49.7907. A bounding box (xmin,ymin,xmax,ymax) that limits the search area. See bbox |
| centre | string | no | Example: -124.0165926,49.2296251 . The coordinates of a centre point (x,y) used to define a bounding circle that will limit the search… |
| maxDistance | number | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| extrapolate | boolean | no | If true, uses supplied parcelPoint to derive an appropriate accessPoint. See extrapolate |
| parcelPoint | string | no | The coordinates of a point (x,y) known to be inside the parcel containing a given address. See parcelPoint |

### Find intersections near to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-intersections-near-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the… |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| outputSRS | integer | yes | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results to return. |
| minDegree | integer | no | The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1. |
| maxDegree | integer | no | The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4. |

### Find nearest intersection to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-intersections-nearest-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | Example: -122.377,50.121 The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS… |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| minDegree | integer | no | The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1. |
| maxDegree | integer | no | The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4. |

### Find intersections in a geographic area
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-intersections-within-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| bbox | string | yes | A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results |
| minDegree | integer | no | The minimum degree an intersection can have to be included in results. A dead-end has a degree of 1. |
| maxDegree | integer | no | The maximum degree an interesection can have to be included in results. A four-way stop has a degree of 4. |

### Get an intersection by its unique ID
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-intersections-intersection-id-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| intersectionID | string | yes | A unique intersection identifier |
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |

### Geocode an address and identify site occupants
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-occupants-addresses-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| addressString | string | no | Occupant name OR Occupant name ** address |
| tags | string | no | Example: schools;courts;employment A list of tags separated by semicolons. |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| maxResults | integer | no | The maximum number of search results to return. |
| interpolation | string | no | accessPoint interpolation method. See interpolation |
| echo | boolean | no | If true, include unmatched address details such as site name in results. |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| autoComplete | boolean | no | If true, addressString is expected to contain a partial address that requires completion. Not supported for shp, csv, gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| minScore | integer | no | The minimum score required for a match to be returned. See minScore |
| matchPrecision | string | no | Example: street,locality. A comma separated list of individual match precision levels to include in results. See matchPrecision |
| matchPrecisionNot | string | no | Example: street,locality. A comma separated list of individual match precision levels to exclude from results. See matchPrecisionNot |
| siteName | string | no | A string containing the name of the building, facility, or institution (e.g., Duck Building, Casa Del Mar, Crystal Garden, Bluebird… |
| unitDesignator | string | no | The type of unit within a house or building. See unitDesignator |
| unitNumber | string | no | The number of the unit, suite, or apartment within a house or building. |
| unitNumberSuffix | string | no | A letter that follows the unit number as in Unit 1A or Suite 302B. |
| civicNumber | string | no | The official number assigned to a site by an address authority. See civicNumber |
| civicNumberSuffix | string | no | A letter or fraction that follows the civic number (e.g., the A in 1039A Bledsoe St). See civicNumberSuffix |
| streetName | string | no | The official name of the street as assigned by an address authority (e.g., the Douglas in 1175 Douglas Street). See streetName |
| streetType | string | no | The type of street as assigned by a municipality (e.g., the ST in 1175 DOUGLAS St). See streetType |
| streetDirection | string | no | The abbreviated compass direction as defined by Canada Post and B.C. civic addressing authorities. See streetDirection |
| streetQualifier | string | no | The qualifier of a street name (e.g., the Bridge in Johnson St Bridge) |
| localityName | string | no | The name of the locality assigned to a given site by an address authority. See streetDirection |
| provinceCode | string | no | The ISO 3166-2 Sub-Country Code. The code for British Columbia is BC. |
| localities | string | no | A comma separated list of locality names that matched addresses must belong to. For example, setting localities to Nanaimo only returns… |
| notLocalities | string | no | A comma-separated list of localities to exclude from the search. |
| bbox | string | no | Example: -126.07929,49.7628,-126.0163,49.7907. A bounding box (xmin,ymin,xmax,ymax) that limits the search area. See bbox |
| centre | string | no | Example: -124.0165926,49.2296251 . The coordinates of a centre point (x,y) used to define a bounding circle that will limit the search… |
| maxDistance | number | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| extrapolate | boolean | no | If true, uses supplied parcelPoint to derive an appropriate accessPoint. See extrapolate |
| parcelPoint | string | no | The coordinates of a point (x,y) known to be inside the parcel containing a given address. See parcelPoint |

### Find occupants of sites near to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-occupants-near-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the… |
| tags | string | no | Example: schools;courts;employment A list of tags separated by semicolons. |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results to return. |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

### Find occupants of the site nearest to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-occupants-nearest-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | The point (x,y) from which the nearest site will be identified. The coordinates must be specified in the same SRS as given by the… |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| tags | string | no | Example: schools;courts;employment A list of tags separated by semicolons. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

### Find occupants of sites in a geographic area
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-occupants-within-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| bbox | string | yes | A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox |
| tags | string | no | Example: schools;courts;employment A list of tags separated by semicolons. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results to return. |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

### Get an occupant (of a site) by its unique ID
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-occupants-occupant-id-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| occupantID | string | yes | Occupant identifier |
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

### Get a comma-separated string of all pids for a given site
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-parcels-pids-site-id-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| siteID | string | yes | A unique, but not immutable, site identifier. |
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |

### Find sites near to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-sites-near-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | The point (x,y) from which the nearby sites will be identified. The coordinates must be specified in the same SRS as given by the… |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results to return. |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| excludeUnits | boolean | no | If true, excludes sites that are units of a parent site |
| onlyCivic | boolean | no | If true, excludes sites without a civic address |

### Find the site nearest to a geographic point
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-sites-nearest-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| point | string | yes | Centre point of search. See point |
| maxDistance | integer | no | The maximum distance (in metres) to search from the given point. If not specified, the search distance is unlimited. |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| excludeUnits | boolean | no | If true, excludes sites that are units of a parent site |
| onlyCivic | boolean | no | If true, excludes sites without a civic address |

### Find sites in a geographic area
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-sites-within-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| bbox | string | yes | A bounding box (xmin,ymin,xmax,ymax) used to limit the search area. See bbox |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| maxResults | integer | no | The maximum number of search results to return. |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| excludeUnits | boolean | no | If true, excludes sites that are units of a parent site |
| onlyCivic | boolean | no | If true, excludes sites without a civic address |

### Get a site by its unique ID
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-sites-site-id-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| siteID | string | yes | A unique, but not immutable, site identifier. |
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

### Represents all subsites of a given site
`GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-sites-site-id-subsites-output-format` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| siteID | string | yes | A unique, but not immutable, site identifier. |
| outputFormat | string | yes | Results format. See outputFormat . Note: GeoJSON and KML formats only support EPSG:4326 (outputSRS=4326) |
| outputSRS | integer | no | The EPSG code of the spatial reference system (SRS) to use for output geometries. See outputSRS |
| locationDescriptor | string | no | Describes the nature of the address location. See locationDescriptor |
| brief | boolean | no | If true, include only basic match and address details in results. Not supported for shp, csv, and gml formats. |
| setBack | integer | no | The distance to move the accessPoint away from the curb and towards the inside of the parcel (in metres). Ignored if locationDescriptor… |

## Example
```
curl "https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-addresses-output-format" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Geocoder REST API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/open-data:gov-bc-ca-geocoder/get-addresses-output-format with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Geocoder REST API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Geocoder REST API itself also needs your own key from gov.bc.ca.

### Can AI agents use the Geocoder REST API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:gov-bc-ca-geocoder.

### What is the status of the Geocoder REST API API?
Needs your own provider key (bring your own key)
