Legal Land Description API for Developers
Convert PLSS township, range, and section to GPS coordinates with simple HTTP requests. Batch processing, autocomplete suggestions, and map tile overlays. Supports 30+ states and all 37 principal meridians.
// npm install townshipamerica
import { TownshipClient } from 'townshipamerica'
const client = new TownshipClient({ apiKey: 'your_api_key' })
const result = await client.search('14S 15E 6th Meridian')
console.log(result.latitude, result.longitude)Quick Start
Start converting legal land descriptions to GPS coordinates in under 5 minutes.
Create an Account
Sign up at townshipamerica.com/app and navigate to your account settings.
Two ways to get an API key:
- —Standalone API tiers (Build, Scale, Enterprise) — pay per endpoint based on volume. Pick this if you only need the API.
- —Pro+ ($100/mo) or Business plans — bundled API access (1K calls/mo per endpoint, 10K maps tiles) plus the full web app, mobile, and MCP server.
See pricing below.
Get Your API Key
Generate an API key from your dashboard. Keep it secure — it's your access token.
Official SDKs Available
Install the official client for your language — full types, batch endpoints, and error handling included.
Make Your First Request
Use your API key to convert a legal land description:
curl "https://developer.townshipamerica.com/search/legal-location?location=14S 15E 6th Meridian" \
-H "X-API-Key: your_api_key"Code Examples
curl "https://developer.townshipamerica.com/search/legal-location?location=14S+15E+6th+Meridian" \
-H "X-API-Key: 1234567890abcdefghij"// npm install townshipamerica
import { TownshipClient } from 'townshipamerica'
const client = new TownshipClient({ apiKey: '1234567890abcdefghij' })
const result = await client.search('14S 15E 6th Meridian')
console.log(result.latitude, result.longitude)# pip install townshipamerica
from townshipamerica import TownshipAmerica
client = TownshipAmerica(api_key="your_api_key")
result = client.search("14S 15E 6th Meridian")
print(result.features[0].properties)Try It Now
Live Demo/search/legal-location?location=NENE%2025%205N%2030E%20Mount%20Diablo%20MeridianAuthentication
All API requests require authentication using your API key.
Include your API key in the request header:
X-API-Key: your_api_keyBase URL:https://developer.townshipamerica.com
Convert Legal Description to Coordinates
Convert legal descriptions to coordinates and vice versa.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| location | string | Required | PLSS legal land description 14S 15E 6th Meridian |
Example 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": "..."
}
}]
}Convert Coordinates to Legal Description
Get the legal land description for any GPS coordinate.
Smart Suggestions
Real-time suggestions as users type legal descriptions.
Batch Processing
Process up to 100 locations in a single request.
Map Tiles API
PLSS grid overlay tiles for your mapping applications.
Tile URL Pattern
https://maps.townshipamerica.com/{layer}/{z}/{x}/{y}.mvt?api_key=... Available Layers
| State | Grid Layers | Label Layers |
|---|---|---|
| All PLSS States | twpfirst-divisionsecond-division | twp_labelfirst_division_labelsecond_division_label |
AI Agent Integration
Connect Claude Desktop, Cursor, Continue, or Cline directly to the PLSS API using the Model Context Protocol. Let AI agents convert legal land descriptions, look up coordinates, and export GeoJSON boundaries with your Township America API key.
The MCP server uses your Township America API key — whether from a standalone API plan or bundled with Pro+ ($100/mo) and Business. Quota and rate limits follow whichever plan your key belongs to.
Available Tools (6)
| Tool | Description |
|---|---|
plss_to_coordinates | Convert a PLSS legal land description to GPS coordinates |
coordinates_to_plss | Find the PLSS description for GPS coordinates |
plss_to_geojson | Get the GeoJSON boundary polygon for a PLSS description |
validate_description | Validate and normalize a PLSS description (local — no API call) |
batch_convert | Convert up to 1,000 PLSS descriptions in one request |
land_report | Federal Land Report — BLM ownership, mineral rights, water rights |
Prerequisites
- — A Township America API key — either from a standalone API plan (Build / Scale / Enterprise) or bundled with Pro+ or Business. Grab one from your dashboard.
- —Node.js 22+ (for
npx)
Connect from Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/claude/claude_desktop_config.json (Linux):
{
"mcpServers": {
"townshipamerica": {
"command": "npx",
"args": ["-y", "@townshipamerica/mcp-server"],
"env": {
"TA_API_KEY": "your_api_key_here"
}
}
}
} Replace your_api_key_here with your Pro+ API key. Restart Claude Desktop after saving.
Connect from Cursor
Open Cursor Settings → MCP, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"townshipamerica": {
"command": "npx",
"args": ["-y", "@townshipamerica/mcp-server"],
"env": {
"TA_API_KEY": "your_api_key_here"
}
}
}
}Connect from Continue
Add to ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@townshipamerica/mcp-server"],
"env": {
"TA_API_KEY": "your_api_key_here"
}
}
}
]
}
}Connect from Cline
Open Cline settings, navigate to MCP Servers, and add:
{
"mcpServers": {
"townshipamerica": {
"command": "npx",
"args": ["-y", "@townshipamerica/mcp-server"],
"env": {
"TA_API_KEY": "your_api_key_here"
}
}
}
}Troubleshooting
"TA_API_KEY environment variable is not set"
Add TA_API_KEY to the env block in your MCP config file, not as a shell environment variable. The MCP host passes env vars from the config.
"Quota exceeded" error
Your quota depends on your plan. Pro+/Business bundled access is 1,000 calls/month per endpoint. Standalone tiers go up to 100,000+/mo. Upgrade your plan below or wait for the monthly reset.
Server not appearing in your AI assistant
Restart the AI assistant after editing the config file. Verify your config is valid JSON. Run npx @townshipamerica/mcp-server in a terminal with TA_API_KEY set to check for startup errors.
Tool returns "Not found" for a valid description
PLSS covers 30 US states. Alaska, Hawaii, Texas, and some eastern states use different land survey systems and may not be in our database. Use the validate_description tool first to check your format.
Error Codes
| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Invalid legal land description |
| 401 | Unauthorized | Missing or invalid API key |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Server Error | Internal error — try again |
Rate Limits
Rate limits vary by plan tier.
Build
Scale
Enterprise
OpenAPI Specification
Download our OpenAPI 3.0 specification for code generation, testing, and documentation.
API Pricing
Simple, predictable pricing.
Build
For development & testing
- 1,000 requests/mo
- $0.02/request
- 1/sec rate limit
- Unlimited API keys
Scale
For production apps
- 10,000 requests/mo
- $0.01/request
- 5/sec rate limit
- Unlimited API keys
Enterprise
For high-volume needs
- 100,000 requests/mo
- $0.005/request
- 25/sec rate limit
- Unlimited API keys
Frequently Asked Questions
Is there a free PLSS API?
Yes. Township America offers a free tier with a limited number of requests per month — enough to build and test your integration before committing to a paid plan. See all plans.
How accurate is the PLSS geocoding?
Professional-grade accuracy sourced directly from BLM survey data. Results include a confidence score so your application can handle edge cases appropriately.
Can I batch convert PLSS descriptions via API?
Yes. The batch endpoint accepts arrays of up to 100 legal descriptions per request, returning coordinates for all of them in a single response. Batch conversion guide.
What response formats are supported?
All endpoints return JSON with GPS coordinates, confidence scores, parsed description components, and optionally GeoJSON geometry for boundary polygons.
Ready to convert legal land descriptions programmatically?
Get your API key and start converting township, range, and section to GPS coordinates in minutes.
Get API Key