Property Measurement API

Server-to-server API for measuring property square footage with built-in caching, retry logic, and Zapier integration.

Full Logging

See DeepLawn's real error messages and track every request

Smart Caching

Don't re-measure the same property within 30 days

Retry Logic

Automatic retry with exponential backoff (3 attempts)

1. Environment Setup
Add these environment variables to your Vercel project
DEEPLAWN_API_KEY=your_api_key_here
DEEPLAWN_CONTRACTOR_ID=your_contractor_id_here
DEEPLAWN_API_URL=https://api.deeplawn.com/getMeasurementByAddress?
2. Make Your First Request
Simple POST request to get property measurements
curl -X POST https://your-app.vercel.app/api/measurement \
  -H "Content-Type: application/json" \
  -d '{
    "address": "1010 E 400 S, Kokomo, IN 46902, USA",
    "propertyID": "12345"
  }'
3. Response
JSON response with measurement data
{
  "success": true,
  "propertyID": "12345",
  "address": "1010 E 400 S, Kokomo, IN 46902, USA",
  "sqft": 24508,
  "squareFeetByFeature": {
    "LAWN": 24508,
    "LOT": 37116.14
  },
  "imageUrl": "https://lawn-technologies-images.amazonaws.com/...",
  "boundary": [[40.4839, -86.1336], [40.4840, -86.1335], ...],
  "geojson": { ... },
  "cached": false,
  "measuredAt": "2026-01-03T03:49:41.627Z",
  "zapierSent": false
}
Rate Limits & Caching

Automatic Caching

Measurements are cached for 30 days by propertyID. Subsequent requests for the same property return instantly from cache without calling DeepLawn.

Force Refresh

Use forceRefresh: true to bypass cache and get a fresh measurement from DeepLawn.

Retry Logic

Failed requests are automatically retried up to 3 times with exponential backoff (1s, 2s, 4s).