API v1 · Stable

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.

Get API Key →
Convert LLD to Coordinates
// 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)
Powering land data workflows in
Oil & Gas
Real Estate
Insurance
Agriculture
Getting Started

Quick Start

Start converting legal land descriptions to GPS coordinates in under 5 minutes.

1

Create an Account

Sign up at townshipamerica.com/app and navigate to your account settings.

2

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.

npm install townshipamerica
npm →
pip install townshipamerica
PyPI →
3

Make Your First Request

Use your API key to convert a legal land description:

terminal
curl "https://developer.townshipamerica.com/search/legal-location?location=14S 15E 6th Meridian" \
  -H "X-API-Key: your_api_key"

Code Examples

cURL
curl "https://developer.townshipamerica.com/search/legal-location?location=14S+15E+6th+Meridian" \
  -H "X-API-Key: 1234567890abcdefghij"
TypeScript SDK npm →
// 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)
Python SDK PyPI →
# 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
GET/search/legal-location?location=NENE%2025%205N%2030E%20Mount%20Diablo%20Meridian
Response
Response will appear here...
Security

Authentication

All API requests require authentication using your API key.

Include your API key in the request header:

X-API-Key: your_api_key

Base URL:https://developer.townshipamerica.com

Convert Coordinates to Legal Description

Get the legal land description for any GPS coordinate.

GET/search/coordinates
Autocomplete API

Smart Suggestions

Real-time suggestions as users type legal descriptions.

GET/autocomplete/legal-location
Maps API

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 Statestwpfirst-divisionsecond-divisiontwp_labelfirst_division_labelsecond_division_label
Land Report API

Federal & Texas Land Report

Per-tract intelligence: soils, surface & mineral estate, critical habitat, flood zones, elevation summary, wildfire risk, and Texas survey overlays. Auto-detects PLSS vs. Texas OTLS abstract grid.

GET/land-report

Supported Input Formats

The grid is auto-detected from the description — pass either a PLSS section or a Texas OTLS abstract identifier.

Grid Format Example
PLSSTownship / Range / SectionT4N R5E Sec 12 Sixth PM
PLSSQuarter-sectionNESW Sec 12 T4N R5E Sixth PM
Texas OTLSAbstract / Block / CountyAbstract 1301 Block 4 Reeves County
Texas OTLSAbstract / Survey / CountyAbstract 123 H&GN RR Co Reeves County

PLSS Layers

15 layers
  • surface_management
    BLM Surface Management· BLM SMA
  • og_leases
    Oil & Gas Leases· BLM MLRS
  • geothermal_leases
    Geothermal Leases· BLM MLRS
  • rights_of_way
    Rights-of-Way· BLM MLRS
  • mining_claims
    Mining Claims· BLM
  • public_access
    Public Access· BLM PLAD
  • flood_zones
    Flood Zones· FEMA NFHL
  • wetlands
    Wetlands· USFWS NWI
  • critical_habitat
    Critical Habitat· USFWS ECOS
  • fireshed
    Wildfire (Fireshed)· USFS
  • wildfire_risk_communities
    Wildfire Risk (WRC)· USFS
  • soils
    Soils· NRCS SSURGO
  • crop_history
    Crop History· USDA CDL
  • orphaned_wells
    Orphaned Wells· USGS DOW
  • elevation
    Elevation Summary· USGS 3DEP

Texas OTLS Layers

17 layers
  • state_leases
    State O&G Leases· TX GLO
  • state_units
    Pooled Units· TX GLO
  • psf_lands
    PSF Lands· TX GLO
  • state_agency_lands
    State Agency Lands· TX GLO
  • upland_leases
    Upland Surface Leases· TX GLO
  • active_wells
    Active Wells· TX RRC
  • pipelines
    Pipelines· TX RRC T-4
  • pending_permits
    Pending Permits· TX RRC W-1
  • coastal_erosion
    Coastal Erosion· TX GLO
  • flood_zones
    Flood Zones· FEMA NFHL
  • wetlands
    Wetlands· USFWS NWI
  • soils
    Soils· NRCS SSURGO
  • critical_habitat
    Critical Habitat· USFWS ECOS
  • fireshed
    Wildfire (Fireshed)· USFS
  • wildfire_risk_communities
    Wildfire Risk (WRC)· USFS
  • orphaned_wells
    Orphaned Wells· USGS DOW
  • elevation
    Elevation Summary· USGS 3DEP
Pro+ feature

The Land Report API is included on Pro+, Business, and Enterprise plans. Run any PLSS section or Texas OTLS abstract — coverage is nationwide for PLSS, statewide for Texas.

Full guide →
MCP Server

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 a standalone Township America API key from your dashboard. Pro+ or Business unlocks MCP access; quota and rate limits follow your API subscription tier (Build / Scale / Enterprise).

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

Prerequisites

  • A standalone Township America API key (Build / Scale / Enterprise) from your dashboard. Pro+ or Business unlocks MCP server access.
  • 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):

claude_desktop_config.json
{
  "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:

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:

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:

cline_mcp_settings.json
{
  "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 standalone API tier. Build = 1,000 calls/month per endpoint; Scale and Enterprise go higher. Upgrade at /app/api 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.

Reference

Error Codes

Code Status Description
400Bad RequestInvalid legal land description
401UnauthorizedMissing or invalid API key
429Too Many RequestsRate limit exceeded
500Server ErrorInternal error — try again

Rate Limits

Rate limits vary by plan tier.

Build

1 req/sec
1,000 req/month

Scale

5 req/sec
10,000 req/month

Enterprise

25 req/sec
100,000 req/month

OpenAPI Specification

Download our OpenAPI 3.0 specification for code generation, testing, and documentation.

openapi.yaml

OpenAPI 3.0 · YAML format

Use with popular tools
Swagger UI Postman Insomnia OpenAPI Generator
Plans

API Pricing

Simple, predictable pricing.

Monthly
Annual Save 2 months

Build

For development & testing

$20 /month

  • 1,000 requests/mo
  • $0.02/request
  • 1/sec rate limit
  • Unlimited API keys
Get Started
Most Popular

Scale

For production apps

$100 /month

  • 10,000 requests/mo
  • $0.01/request
  • 5/sec rate limit
  • Unlimited API keys
Get Started

Enterprise

For high-volume needs

$500 /month

  • 100,000 requests/mo
  • $0.005/request
  • 25/sec rate limit
  • Unlimited API keys
Get Started
Need higher volume? Contact us for enterprise solutions.

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