DeedPlotter AI is now BoundaryLogic. Read the story

What the API returns

The structured data and export formats the API returns: calls, checks, GeoJSON, DXF, Shapefile, CSV, PDF plot sheet.

Availability: Arranged through sales

The page to read when you are writing a technical spec: the data the API hands back and the formats it exports.

Structured data

Every processed legal description returns as structured data, not just a drawing:

  • The calls. Each bearing, distance, and curve the description contains, extracted and ordered. Curves carry their defining geometry: radius, arc length, direction, and central angle in degrees, minutes, and seconds.
  • The checks, for closed tracts. Area in square feet, perimeter, boundary closure percent, and boundary closure length, with nonClosure returned as null on a tract that closes. These are surfaced values for your review workflow; the professional verifies what they mean for the parcel.
  • Easements described from a centerline return the centerline and offset geometry generated from the stated width. See Plotting easements through the API.
curl -H "x-api-key: YOUR_API_KEY" https://api.boundarylogic.com/api/v1/partner/projects/1000001
{
  "statusCode": 200,
  "message": "GET Request successful.",
  "result": {
    "id": 1000001,
    "name": "Example Project A",
    "address": "Example County, TX",
    "latitude": 30.25,
    "longitude": -96.5,
    "created": "2026-08-30T14:05:12.412Z",
    "geoJsonUrl": "https://EXAMPLE-DOWNLOAD-URL/geojsons/1000001.geojson",
    "dxfUrl": "https://EXAMPLE-DOWNLOAD-URL/dxfs/1000001.dxf",
    "documents": [
      {
        "id": 2000001,
        "name": "Example Deed A",
        "created": "2026-08-30T14:05:31.908Z",
        "includedInProject": true,
        "legalDescriptions": [
          {
            "id": 3000001,
            "name": "Example Tract A",
            "geoJsonUrl": "https://EXAMPLE-DOWNLOAD-URL/geojsons/3000001.geojson",
            "dxfUrl": "https://EXAMPLE-DOWNLOAD-URL/dxfs/3000001.dxf",
            "startPointLatitude": 30.25,
            "startPointLongitude": -96.5,
            "perimeter": 700.84,
            "nonClosure": null,
            "area": 30058.412677,
            "boundaryClosurePercent": 99.998859,
            "boundaryClosureLength": 0.008,
            "rotateDegrees": null,
            "rotateMinutes": null,
            "calls": [
              {
                "id": 4000001,
                "order": 1,
                "abbreviation": "POB",
                "bearingDegrees": null,
                "bearingMinutes": null,
                "bearingSeconds": null,
                "bearingPrimaryDirection": null,
                "bearingSecondaryDirection": null,
                "bearingDistance": null,
                "arcRadius": null,
                "arcLength": null,
                "arcDirection": null,
                "arcCentralAngleDegrees": null,
                "arcCentralAngleMinutes": null,
                "arcCentralAngleSeconds": null
              },
              {
                "id": 4000002,
                "order": 2,
                "abbreviation": "L1",
                "bearingDegrees": 15,
                "bearingMinutes": 0,
                "bearingSeconds": 0,
                "bearingPrimaryDirection": "N",
                "bearingSecondaryDirection": "W",
                "bearingDistance": 150.24,
                "arcRadius": null,
                "arcLength": null,
                "arcDirection": null,
                "arcCentralAngleDegrees": null,
                "arcCentralAngleMinutes": null,
                "arcCentralAngleSeconds": null
              },
              {
                "id": 4000003,
                "order": 3,
                "abbreviation": "L2",
                "bearingDegrees": 75,
                "bearingMinutes": 0,
                "bearingSeconds": 0,
                "bearingPrimaryDirection": "N",
                "bearingSecondaryDirection": "E",
                "bearingDistance": 200.18,
                "arcRadius": null,
                "arcLength": null,
                "arcDirection": null,
                "arcCentralAngleDegrees": null,
                "arcCentralAngleMinutes": null,
                "arcCentralAngleSeconds": null
              },
              {
                "id": 4000004,
                "order": 4,
                "abbreviation": "L3",
                "bearingDegrees": 15,
                "bearingMinutes": 2,
                "bearingSeconds": 11,
                "bearingPrimaryDirection": "S",
                "bearingSecondaryDirection": "E",
                "bearingDistance": 150.31,
                "arcRadius": null,
                "arcLength": null,
                "arcDirection": null,
                "arcCentralAngleDegrees": null,
                "arcCentralAngleMinutes": null,
                "arcCentralAngleSeconds": null
              },
              {
                "id": 4000005,
                "order": 5,
                "abbreviation": "L4",
                "bearingDegrees": 75,
                "bearingMinutes": 1,
                "bearingSeconds": 40,
                "bearingPrimaryDirection": "S",
                "bearingSecondaryDirection": "W",
                "bearingDistance": 200.11,
                "arcRadius": null,
                "arcLength": null,
                "arcDirection": null,
                "arcCentralAngleDegrees": null,
                "arcCentralAngleMinutes": null,
                "arcCentralAngleSeconds": null
              }
            ]
          }
        ]
      }
    ]
  }
}

Download links are time-limited signed URLs, shortened in this example.

Export formats

  • GeoJSON (WGS84): per legal description, and consolidated per project for everything marked included.
  • DXF: CAD-ready geometry.
  • Shapefile and CSV.
  • The PDF plot sheet: the rendered deliverable with bearing and distance labels, curve data, point of beginning, north arrow, and scale.

Two levels of output

Per-description output serves review and record-by-record pipelines. Consolidated project output serves mapping: one file carrying every included boundary, ready for a parcel fabric or a CAD sheet set.

Still stuck?

If you cannot find an answer here, our team is glad to help.