The current API refreshes once per day using data directly from Mapbox. You can find the downloadable files here:


Native-Land.ca offers a few API options. You must always include one or more map types in your request.

  • ?maps= (find all territories, languages, or treaties)
  • &position= (find territories/languages/treaties for a location)
  • &name= (find territories/languages/treaties by name)
  • Embeddable map (iframe accepting position, name, or category queries)

More information on each type available below.

The data comes down from these as a list of features, though not a full geoJSON. This should still be useful in any web application. If needed, you can easily create a full geoJSON as follows:

var geoJSON = {
 "type": "FeatureCollection",
 "features": API_RESPONSE_HERE

Maps (?maps=map_type)

Ensure you always request at least one map type in each request. Two straightforward requests would be as follows:

  • https://native-land.ca/api/index.php?maps=languages
  • https://native-land.ca/api/index.php?maps=languages,territories

Position (?position=lat,lng)

Along with a map type, this will give you back the polygons (territories, languages, or treaties) that the point you specify is in. This allows you to tell users what areas their position occupies. Ensure you pass a valid lat/lng.

  • https://native-land.ca/api/index.php?maps=languages&position=42.553080,-86.473389

Name (?name=slug)

You must use the proper slug when retrieving specific nations. This is because nation names may contain unparseable characters. See the sidebar for a list of all slugs.

The name request will give you specific polygons according to the “names” of the nations, languages, or treaties that you submit. See the sidebar for a full list of these so you can refer appropriately to the feature(s) you want.

API requests can refer to multiple categories of maps at once. See the following sample requests:

  • https://native-land.ca/api/index.php?maps=languages&name=nakota,lakota
  • https://native-land.ca/api/index.php?maps=territories,treaties&name=mtis,treaty8
  • https://native-land.ca/api/index.php?maps=languages&name=witsuwiten


To create an iframe with a map displayed on it, just set the source of the iframe to the query you want to send. For instance

<iframe src="https://native-land.ca/api/embed/embed.html?maps=languages&name=witsuwiten"></iframe>

Will load the following:

You can use any name, category, or position query to get back these features on a map like this.