PLSS API for developers and GIS professionals
The Township America API geocodes PLSS legal descriptions programmatically. Search, autocomplete, batch, and map tile endpoints cover all 30 PLSS states and the Texas survey grid. Add PLSS support to your application in an afternoon.
Building PLSS support from scratch is not trivial
If your application handles land records, mineral rights, agricultural data, or public land management, you will eventually encounter PLSS legal descriptions as user input or stored data. The US has 37 principal meridians, each with its own baseline and township numbering. Descriptions appear in dozens of formatting variations. Building a parser and geocoder that handles all of them correctly takes months.
The Township America API wraps that complexity in a simple HTTP call. Send a PLSS description as a string and get back GeoJSON with the boundary polygon, centroid, and normalized legal location. The API handles meridian identification, format normalization, and edge cases, so your team ships the feature without becoming PLSS experts.
The API covers all 30 PLSS states and 37 principal meridians, plus the Texas Abstract/Block/Survey grid.
A simple conversion request
One GET request. A description string in, GeoJSON out. This example resolves Township 14 South, Range 15 East, 6th Principal Meridian, in Kansas.
curl "https://developer.townshipamerica.com/search/legal-location?location=14S+15E+6th+Meridian" \
-H "X-API-Key: your_api_key"
# Response
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": { "type": "Polygon", "coordinates": [...] },
"properties": {
"shape": "grid",
"search_term": "14S 15E 6th Meridian",
"legal_location": "14S 15E 6th Meridian",
"unit": "Township",
"survey_system": "PLSS",
"county": "...", "state": "..."
}
}]
}How developers and GIS professionals use the API
Land management app with PLSS geocoding
A land management application needs to geocode PLSS descriptions that users enter as property locations. The developer wires the Township America autocomplete endpoint into the location input field: users type a partial description and see ranked suggestions as they type. When they select one, the app calls the search endpoint and pins the returned centroid on the map, with the boundary polygon drawn around it.
Data engineer enriching a mineral rights database
A data engineer has 50,000 mineral rights records stored with PLSS descriptions but no GPS coordinates. They write a pipeline that reads records in batches of 100, sends each batch to the Township America batch endpoint, and writes the returned coordinates back to the database. The entire dataset is enriched overnight. Going forward, new records are geocoded at write time with a call to the search endpoint.
GIS analyst integrating PLSS conversion into ArcGIS
A GIS analyst receives a dataset of oil and gas well locations described in PLSS notation and needs to display them on a map. They write a Python script using ArcPy that reads each legal description, calls the Township America API, and uses the returned coordinates to create point features. The script runs inside ArcGIS Pro as a geoprocessing tool, so other team members can use it without touching the API directly.
API endpoints
Search endpoint
Convert a PLSS or Texas legal description to its boundary polygon and centroid, or coordinates back to a legal description. Authenticate with an API key header.
Autocomplete endpoint
Return ranked PLSS suggestions as users type, with optional limit and proximity parameters.
Batch endpoint
Send up to 100 legal descriptions or coordinate pairs per request. Split larger datasets across multiple requests.
Maps endpoint
PLSS grid vector tiles (MVT) for Mapbox GL JS, MapLibre, and other vector tile clients.
Texas TXSS abstracts, also covered
Texas RRC counties, abstracts, and surveys matter for developer integration workflows just as much as PLSS sections. Township America converts both PLSS section descriptions and Texas Abstract / Block & Section / Survey-name descriptions. One resolver, one API, both systems.
A-123 Reeves County, TXBlock 5, Sec 14, T&P Survey, ReevesJohn Smith Survey, Bexar CountyWorkflows by role
Detailed Township America setup guides for the roles in this vertical.
Two ways to work with Township America in code
Standalone API tiers from $20/mo
Build / Scale / Enterprise plans for API-only integrations, priced per endpoint. No web app features included. See request volumes and rate limits.
$60/mo per user: web app + MCP access
The Business plan bundles MCP server access for AI agent workflows, batch conversion (2,500 records/month per organization), all exports, the mobile app, and every web app feature. The REST API is a separate subscription.
See all AI features →Frequently asked questions
What does the Township America API return?
A GeoJSON FeatureCollection. For each match you get the boundary polygon and centroid of the described unit, with the normalized legal location, unit (township, section, or quarter-quarter), survey system, county, and state as properties.
Is there a batch endpoint for processing large datasets?
Yes. The batch endpoint accepts up to 100 legal descriptions (or coordinate pairs) per request and returns results for all of them in one response. For larger datasets, split the work across multiple requests. Useful for enriching mineral rights databases, land management records, or historical document archives.
Does the API support autocomplete for PLSS input fields?
Yes. The autocomplete endpoint accepts a partial PLSS description and returns ranked suggestions as the user types. Use the limit parameter to cap the number of results and proximity to favor suggestions near a location.
How do I get started with the API?
Pick an API tier (Build, Scale, Enterprise) on the API page, create an API key in the developer portal, and make your first request. The quickstart walks through authentication and a first search request, with examples for the TypeScript SDK, the Python SDK, and curl.
Developer resources
Add PLSS geocoding to your application
Pick an API tier, create a key, and make your first call from the quickstart.