Build amazing apps with our API

Use our API to build fast and reliable apps across different platforms.

Township America API

Township America provides API endpoints to add legal land description search and grid map visualization into any app you build. Our API endpoints fully support the PLSS grid for the following states: Alabama, Alaska, Arizona, Arkansas, California, Colorado, Florida, Idaho, Illinois, Indiana, Iowa, Kansas, Louisiana, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Mexico, North Dakota, Ohio, Oklahoma, Oregon, South Dakota, Utah, Washington, Wisconsin, and Wyoming.

Simple pricing, flexible plans

Township America offers a simple and flexible pricing model for our API offerings, including Search, Autocomplete, Batch, and Maps. You can choose from three different tiers to fit your requirements. Each tier comes with a limit on concurrent requests and a monthly quota for total API calls. You can choose to pay monthly or annually, and cancel at any time.

Get started quickly with our APIs by following our quick-start guides. These guides provide step-by-step instructions and examples to help you get up and running with our APIs in no time.

If your project requires a customized API or a higher usage limit, don't hesitate to reach out to us . We're here to collaborate and provision the perfect API solution to suit your specific needs.

Search

Geocode, quickly and accurately.

$10/month

Get started today
  • Access a complete PLSS database covering 30 states.
  • Query townships, sections, quarter-sections, quarter-quarter sections, lots, surveys, and more.
  • 1 request per second.
  • 1,000 requests per month.

Autocomplete

Geocode with smart suggestions.

$10/month

Get started today
  • Access a complete PLSS database covering 30 states.
  • Query townships, sections, quarter-sections, quarter-quarter sections, lots, surveys, and more.
  • 1 request per second.
  • 1,000 requests per month.

Batch

Geocode large datasets efficiently.

$20/month

Get started today
  • Access a complete PLSS database covering 30 states.
  • Query townships, sections, quarter-sections, quarter-quarter sections, lots, surveys, and more.
  • 100 records per request.
  • 1 request per second.
  • 1,000 requests per month.

Maps

Display legal survey grids in your app.

$10/month

Get started today
  • Access a complete PLSS database covering 30 states.
  • Display ownships, sections, quarter sections, LSDs, and more.
  • Deliver maps using our fast, smooth, and customizable vector tiles.
  • Unlimited requests per second.
  • 10,000 requests per month.

How to use the Search API

Using the Search API, you can convert legal land descriptions to geographic coordinates. You can also find the legal land location associated with a pair of longitude and latitude. The API accepts input parameters as query strings and returns a GeoJSON response in return.

Convert legal land description to geographic coordinates (longitude and latitude)

  • Base URL: https://developer.townshipamerica.com
  • Endpoint: GET /search/legal-location
  • Parameters:
    • location (required): 14S 15E 6th Meridian

      In legal land descriptions, the Meridian typically represents the final component. However, for API calls, there is an alternative option to use the County and State in place of the Meridian. For instance, both 14S 15E 6th Meridian and 14S 15E Osage County Kansas will produce identical results.

  • Authentication (Header): X-API-Key: 1234567890abcdefghij
  • Response: GeoJSON FeatureCollection, which includes the legal land location block and its center point.

Curl

JavaScript

Python

API Response

Convert geographic coordinates (longitude and latitude) to legal land description

  • Base URL: https://developer.townshipamerica.com
  • Endpoint: GET /search/coordinates
  • Parameters:
    • location (required): -118.267644,42.105493
    • unit (optional): Second Division

      This is an optional parameter, allowing you to specify the desired grid resolution. Allowed inputs are Township, First Division, Second Division, and all, which returns all the grid blocks that contain the input coordinates. In case you do not specify the unit, the API will return the smallest grid block that contains the input coordinates.

  • Authentication (Header): X-API-Key: 1234567890abcdefghij
  • Response: GeoJSON FeatureCollection, which includes the legal land location block and its center point.

Curl

JavaScript

Python

API Response

How to use the Autocomplete API

Using the Autocomplete API, you can search for legal land descriptions using partial or full text and get up to 10 results that matched the input in return. The result includes the input search term, the matched legal land description, and their associated geographic coordinates. The API accepts input parameters as query strings and returns a GeoJSON response in return.

Note that you can only use the Autocomplete API to convert legal land descriptions to geographic coordinates. Use the Search API to convert geographic coordinates to legal land descriptions.

  • Base URL: https://developer.townshipamerica.com
  • Endpoint: GET /autocomplete/legal-location
  • Parameters:
    • location (required): 16N 12E

      In legal land descriptions, the Meridian typically represents the final component. However, for API calls, there is an alternative option to use the County and State in place of the Meridian. For instance, both 16N 12E Indian Meridian and 16N 12E Okmulgee County Oklahoma will produce identical results.

    • limit (optional): 5

      This is an optional parameter, specifying the maximum number of results to return. The default is 3 and the maximum supported is 10.

    • proximity (optional): -118.267644,42.105493

      This is an optional parameter, biasing the response to favor results that are closer to the specified coordinates. Allowed values are longitude,latitude and latitude,longitude.

  • Authentication (Header): X-API-Key: 1234567890abcdefghij
  • Response: GeoJSON FeatureCollection, which includes the matched legal land descriptions and their center points.

Curl

JavaScript

Python

API Response

How to use the Batch API

Using the Batch API, you can convert legal land descriptions to geographic coordinates and vice versa, much like our Search API. However, what sets the Batch API apart is its ability to process up to 100 records in a single API call. The API accepts the input parameters as a JSON object using HTTP POST and returns a GeoJSON response in return.

Convert legal land description to geographic coordinates (longitude and latitude)

  • Base URL: https://developer.townshipamerica.com
  • Endpoint: POST /batch/legal-location
  • Message Body (JSON): [ "164N 41W 5th Meridian", "NWSE 15 15N 20W Custer County Oklahoma", "36 95N 30W 5th Meridian" ]

    In legal land descriptions, the Meridian typically represents the final component. However, for API calls, there is an alternative option to use the County and State in place of the Meridian. For instance, both 164N 41W 5th Meridian and 164N 41W Roseau County Minnesota will produce identical results.

  • Authentication (Header): X-API-Key: 1234567890abcdefghij
  • Response: GeoJSON FeatureCollection, which includes the legal land location blocks and their center points.

Curl

JavaScript

Python

API Response

Convert to geographic coordinates (longitude and latitude) to legal land description

  • Base URL: https://developer.townshipamerica.com
  • Endpoint: POST /batch/coordinates
  • Message Body (JSON): {"coordinates": [[-110.086743843, 54.28602155], [-110.011880321, 54.336941143], [-110.074171308, 54.336931111]], "unit": "Township"}

    unit is an optional parameter, allowing you to specify the desired grid resolution. Allowed inputs are Township, First Division, Second Division, and all. In case you do not specify the unit, the API will return the smallest grid block that contains the input coordinates.

  • Authentication (Header): X-API-Key: 1234567890abcdefghij
  • Response: GeoJSON FeatureCollection, which includes the legal land location block and its center point.

Curl

JavaScript

Python

API Response

How to use the Maps API

The Maps API allows you to display legal survey grids on maps for both web and mobile applications by serving geospatial data in the vector tiles format. You can make use of various web mapping libraries to render these vector tiles, such as Mapbox GL JS, OpenLayers, and Leaflet. See here for a complete example.

Each grid block (e.g., Township) is represented by two vector tile layers: one for the grid and another for labels. The grid tile layer contains the geometries of the block, showing boundaries, while the label tile layer displays names and other properties. For instance, the Township grid tile is accessible at: https://maps.townshipamerica.com/twp/{z}/{x}/{y}.mvt?api_key=.... The corresponding label tile for the same block is available at: https://maps.townshipamerica.com/twp_label/{z}/{x}/{y}.mvt?api_key=....

Each vector tile layer is documented in a metadata file, which provides details such as the tile URL, source layer, supported zoom levels, and properties. For example, the metadata URL for the Township grid is: https://maps.townshipamerica.com/twp.json?api_key=..., and the metadata URL for the Township label is: https://maps.townshipamerica.com/twp_label.json?api_key=.... The metadata document for the Township label contains the following information:

These metadata files include information necessary for integrating and utilizing the vector tiles effectively within your applications.

The PLSS grid

The Maps API offers the PLSS grid in three distinct resolutions: Township, First Division, and Second Division. For each block, there are two vector tile sources: one for the grid and another for the labels. For instance, here is the tile URL for displaying the township block and its corresponding label.

Mapbox GL JS

The tables below contain information that can be used to display and label the grid layers for Townships, First Divisions, and Second Divisions on the map.

Grid type Grid tile URL Source layer Source zoom level Properties
Townshiphttps://maps.townshipamerica.com/twp/{z}/{x}/{y}.pbf?api_key=...twp0 - 12id
First Divisionhttps://maps.townshipamerica.com/first-division/{z}/{x}/{y}.pbf?api_key=...first_division10 - 12id
Second Divisionhttps://maps.townshipamerica.com/second-division/{z}/{x}/{y}.pbf?api_key=...second_division12 - 14id
Label type Label tile URL Source layer Source zoom level Properties
Townshiphttps://maps.townshipamerica.com/twp_label/{z}/{x}/{y}.pbf?api_key=...twp_label0 - 12label, meridian, state
First Divisionhttps://maps.townshipamerica.com/first_division_label/{z}/{x}/{y}.pbf?api_key=...first_division_label10 - 12label, meridian, state
Second Divisionhttps://maps.townshipamerica.com/second_division_label/{z}/{x}/{y}.pbf?api_key=...second_division_label12 - 14label, meridian, state

Here is an example that demonstrates an interactive map displaying the Township, First Division, and Second Division grids and their corresponding labels, similar to the grid maps available on townshipamerica.com. Give it a try and let us know if you have any questions. Happy coding!