Land Report API Guide
Pull per-tract intelligence — soils, surface and mineral estate, critical habitat, flood zones, elevation, wildfire risk, and Texas survey overlays — for any PLSS section or Texas OTLS abstract via a single REST endpoint.
The Land Report API returns multi-layer intelligence for a single legal description — federal datasets (BLM, FEMA, USFWS, USFS, NRCS, USGS, USDA) plus Texas state datasets (GLO, RRC) joined onto a PLSS section or a Texas OTLS abstract. One request, fifteen-plus layers, JSON response.
Quick start
Get a Pro+ subscription or a Land Report API key
The Land Report is a Pro+ feature. Web app users on Pro+ / Business / Enterprise can use GET /api/plss/land-report directly with their session cookie. Developers integrating from their own apps subscribe to the standalone Land Report API at API → Land Report in the dashboard and use the resulting key with X-API-Key.
Make a request
Send GET /land-report?description=... with your API key. The grid is auto-detected — pass either a PLSS section identifier or a Texas OTLS abstract.
Parse the layered response
The response includes a section block (resolved identifiers + geometry metadata) and a report block keyed by layer (soils, og_leases, flood_zones, …). Each layer is an array of objects, empty when no records intersect the tract.
Try the API live at developer.townshipamerica.com or explore a sample report at /app/report.
Endpoint
GET https://developer.townshipamerica.com/land-report?description=T4N+R5E+Sec+12+Sixth+PM
Headers:
X-API-Key: your_api_key
That's the whole request surface — one query parameter, one header.
Supported input formats
The Lambda inspects the description string and routes to the correct grid (PLSS or Texas OTLS) automatically. You don't pass a grid hint.
| Grid | Format | Example |
|---|---|---|
| PLSS | Township / Range / Section | T4N R5E Sec 12 Sixth PM |
| PLSS | Quarter-section | NESW Sec 12 T4N R5E Sixth PM |
| Texas OTLS | Abstract / Block / County | Abstract 1301 Block 4 Reeves County |
| Texas OTLS | Abstract / Survey / County | Abstract 123 H&GN RR Co Reeves County |
PLSS coverage is nationwide across all 30+ PLSS states. Texas OTLS coverage is statewide for Texas only.
Response shape
{
"description": "T4N R5E Sec 12 Sixth PM",
"grid": "plss",
"section": {
"legal_location": "T4N R5E Sec 12 Sixth PM",
"state": "Wyoming",
"county": "Albany"
},
"report": {
"surface_management": [...],
"og_leases": [...],
"flood_zones": [...],
"soils": [...],
"elevation": { ... },
"...": "..."
},
"generated_at": "2026-05-22T12:34:56Z"
}
For Texas inputs the section block carries survey_name, county_fips, abstract_no, block_no, and acreage instead of state + county.
Available layers
The set of layers in the report block depends on the grid.
PLSS layers (15)
| Key | Layer | Source |
|---|---|---|
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)
Texas tracts get the federal layers above (minus the BLM-only datasets that don't apply to Texas state lands) plus Texas-specific overlays:
| Key | Layer | Source |
|---|---|---|
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 |
Code examples
cURL
curl "https://developer.townshipamerica.com/land-report?description=T4N+R5E+Sec+12+Sixth+PM" \
-H "X-API-Key: YOUR_API_KEY"
TypeScript
const response = await fetch(
"https://developer.townshipamerica.com/land-report" +
"?description=" +
encodeURIComponent("T4N R5E Sec 12 Sixth PM"),
{
headers: { "X-API-Key": process.env.TOWNSHIP_API_KEY }
}
);
const report = await response.json();
// Surface ownership
const blmAdmin = report.report.surface_management?.[0]?.admin_unit ?? "Private";
// Flood risk
const inSfha = report.report.flood_zones?.some((z) => z.sfha === "T");
// Soil productivity
const primeAcres = report.report.soils?.filter((s) => s.prime_farmland?.startsWith("Prime")).length;
Python
import os
import requests
response = requests.get(
"https://developer.townshipamerica.com/land-report",
params={"description": "Abstract 1301 Block 4 Reeves County"},
headers={"X-API-Key": os.environ["TOWNSHIP_API_KEY"]}
)
report = response.json()
# Texas state lease ownership
for lease in report["report"].get("state_leases", []):
print(lease["lessee"], lease["status"], lease["royalty_rate"])
# Active wells on the tract
print(f"{len(report['report'].get('active_wells', []))} producing wells")
Use cases
- Land due diligence. Compose a one-page tract summary for acquisitions — surface ownership, mineral split, flood exposure, prime farmland acreage, active wells.
- Title and lease research. Pull federal and state leases by section / abstract without scraping BLM MLRS or TX GLO portals.
- Underwriting and insurance. Score wildfire risk (USFS WRC), flood exposure (FEMA NFHL), and erosion exposure (TX GLO coastal) for a portfolio.
- Energy operations. Look up federal leasehold status, BLM rights-of-way, orphaned wells, and adjacent active Texas wells in one call.
- Conservation and habitat compliance. Detect critical habitat (USFWS ECOS) and wetland intersections (USFWS NWI) before fieldwork.
- AI agents and LLM workflows. The Land Report layer is exposed via the MCP server — point Claude Desktop, Cursor, or Cline at it and let agents pull tract-level reports inside chat.
Pricing
The Land Report API has its own tiered pricing — separate from Search / Autocomplete / Batch / Maps.
| Tier | Monthly Reports | Rate Limit | Price |
|---|---|---|---|
| Build | 100 | 1/sec | $50/mo |
| Scale | 1,000 | 5/sec | $250/mo |
| Enterprise | 10,000 | 25/sec | $1,000/mo |
Annual billing saves two months. See live pricing on the API page.
Web app Pro+ subscribers get unlimited Land Report views inside the in-app workbench — the API tiers are for programmatic / third-party app usage.
Rate limits and errors
| Code | Reason |
|---|---|
| 400 | Missing or unparseable description parameter |
| 401 | Missing or invalid API key |
| 403 | API key is not entitled to the Land Report API |
| 404 | No PLSS section or Texas abstract matched |
| 429 | Tier rate limit exceeded |
| 500 | Upstream data source failure — try again |
Rate limits are enforced per API key, per second. Tier monthly caps roll over on the first of each month.
Related guides
- API integration guide — how to subscribe, create keys, and call the developer API in general.
- Search API guide — convert any single PLSS description to coordinates.
- Python SDK guide — install and use the Python client.
- MCP server — expose the Land Report to AI agents via Model Context Protocol.
Next steps
- Subscribe at API → Land Report in your dashboard.
- Generate an API key on the Build, Scale, or Enterprise tier.
- Try a sample report inside the Land Report workbench before integrating.
Related Guides
Legal Land Description API Integration Guide
Integrate legal land description APIs into your applications. Convert PLSS descriptions to coordinates, add autocomplete search, process batch records, and display survey grid maps. REST API with JSON responses.
Google Sheets Add-on — PLSS to GPS Conversion in Spreadsheets
Convert PLSS legal land descriptions to GPS coordinates directly in Google Sheets. Free add-on with 10 conversions/month, unlimited with API key. Batch column conversion, cell formulas, and API key management.
Python SDK Quick Start — PLSS Coordinate Conversion in Python
Install the townshipamerica Python package and convert PLSS legal land descriptions to GPS coordinates in four lines of code. Typed responses, sync and async clients.