Landspect API
In buildThe landman buys the seat.
The API is free.
The API is how finished land work leaves Landspect and lands in your system of record, built against a boundary we publish and version.
Who it is for
The firm, not the landman.
Field landmen are independent contractors. They pick their own tools and buy their own seats, and a firm cannot tell them otherwise. So the landman buys the seat at $249, and the integration costs the firm nothing.
What the firm actually needs is different anyway. You already run a system of record. You need the work product to show up in it, structured, attributable, and on your schedule.
The split
- The landman buys a seat
- Runs title, plots the deeds, builds the runsheet. Owns the judgment and the work.
- The firm integrates for free
- Finished tracts, chains, ownership, and plats flow into Kudu, Quorum, iLandMan, or whatever you run, as the project record.
- Your connector pulls
- v1 is read only. You GET on your own schedule, which means no queue of ours can back up into your platform.
What it returns
Four objects, structured.
The scope we are building first is the smallest useful thing to move: a tract and everything hanging off it.
Tracts
The subject tract as a record: legal description, county and state, gross acres, and where it stands in the workflow.
Runsheet and chain
Every instrument in order, with recording reference, instrument type, dates, grantor, grantee, and what was conveyed.
Ownership
Computed interest by owner, typed and carried to the decimal, with net acres where gross acreage is known.
Plat GeoJSON
The plotted boundary served as raw GeoJSON, so a GIS stack can point straight at the URL. It carries a note on whether the tract is anchored to a surveyed point of beginning or dropped at the county centroid.
Example
Ask for a tract, get the whole record.
Five read endpoints. A bearer key on the header, JSON on the way back.
Illustrative. The API is in build, so treat the payload below as the shape rather than a final field list. The contract gets settled with your technical lead before anyone writes a connector.
| GET | /api/v1/tracts | List tracts, cursor paged |
| GET | /api/v1/tracts/{id} | One tract record |
| GET | /api/v1/tracts/{id}/runsheet | Chain of title, in order |
| GET | /api/v1/tracts/{id}/ownership | Computed positions |
| GET | /api/v1/tracts/{id}/plat | GeoJSON FeatureCollection |
Request
GET /api/v1/tracts/9f3c1a7e/ownership HTTP/1.1
Host: app.landspect.com
Authorization: Bearer lsk_live_ab12...Response
{
"data": {
"tractId": "9f3c1a7e",
"tractName": "Tract 4",
"positions": [
{
"ownerName": "Redbird Minerals LLC",
"interestType": "mineral",
"fraction": 0.25,
"nma": 40,
"leaseStatus": "leased",
"leaseDetails": "Bighorn Operating LLC, recorded 2011-08-19",
"sourceInstrument": "Vol 884 / Pg 102"
},
{
"ownerName": "Estate of Halvor T. Lindstrom",
"interestType": "mineral",
"fraction": 0.75,
"nma": 120,
"leaseStatus": "open",
"leaseDetails": null,
"sourceInstrument": "Vol 12 / Pg 331"
}
],
"computedAt": "2026-07-30T16:04:11Z"
}
}Owner mailing addresses are deliberately not in the payload. API access is a firm-level arrangement scoped with you, not something the seat trial hands out.
How we draw the line
We publish the boundary. Your engineers build your side.
This is not a custom integration we build for you and then own. It is a contract you can code against, which is the only version of this that survives your next platform decision.
The version lives in the path
You build against v1 and v1 keeps behaving like v1. When the shape has to change, it ships beside it as a new version instead of landing on your connector unannounced.
We write the contract down
Field by field, including the ones that carry legal weight, so your engineers are reading a spec rather than reverse-engineering a payload.
Keys are scoped to your firm
A key reads your firm's data and nothing else. We mint it, show it once, and store only a hash, so a lost key is revoked rather than recovered.
We stay out of your system of record
Landspect is not trying to become Kudu, Quorum, or iLandMan. Your team builds your side, which keeps your platform and your roadmap yours.
Status
In build. Talk to us now and help set the contract.
We are picking the first data contract with design-partner firms. Bring your technical lead and the object you most need moved, and we will scope it against your system of record.