AAerialAlign

AerialAlign API

Give your mapping, photogrammetry, inspection, or asset platform cleaner drone photo coordinates without building a correction workflow yourself.

The API accepts GPS-tagged drone JPEGs, optional flight plans, optional known point locations, and returns corrected coordinates, expected improvement range, estimated horizontal error range, confidence, and CSV reporting. Results remain meter-level and are not a replacement for RTK, PPK, survey control, or ground control points.

For photogrammetry platforms

Run AerialAlign before processing so your pipeline receives cleaner camera coordinates and better quality signals.

For drone inspection systems

Attach improved coordinates to inspection images so assets, roads, roofs, fields, and sites line up more consistently.

For data pipelines

Submit a complete flight batch, receive corrected coordinates, then write them into metadata or pass them directly downstream.

Start integrating

API keys are available on paid plans. Create an account to test browser uploads, then upgrade when you are ready to connect AerialAlign to your application.

How the API improves your service

AerialAlign is designed to sit before photogrammetry, mapping, inspection, or GIS workflows. Your service sends the original drone photos, AerialAlign returns corrected coordinates and confidence data, and your service can use those coordinates when building maps, models, reports, or asset records.

The API keeps the correction workflow simple for your users. It applies a correction only when confidence is high enough; otherwise it returns safe metadata cleanup, a clear status, and an estimated error range so your application can decide how to proceed.

Correction endpoint

Send a complete flight batch as a multipart upload. A full connected flight usually produces better results than a handful of unrelated images. You can also include an optional flight plan or known point locations when your application has them. Known points are only used when enough camera metadata exists to apply them safely.

Request

POST https://www.aerialalign.com/api/v1/corrections
Authorization: Bearer aa_live_your_api_key
Content-Type: multipart/form-data

jobName=North field flight
files=@("IMG_0001.JPG", "IMG_0002.JPG")
flightPlan=@mission.kml optional
knownPointsJson={...} optional

cURL example

curl -X POST "https://www.aerialalign.com/api/v1/corrections" \
  -H "Authorization: Bearer aa_live_your_api_key" \
  -F "jobName=North field flight" \
  -F "files=@IMG_0001.JPG" \
  -F "files=@IMG_0002.JPG" \
  -F "flightPlan=@mission.kml" \
  -F 'knownPointsJson={"points":[{"label":"Paint mark","latitude":35.123456,"longitude":-78.123456,"observations":[{"fileName":"IMG_0001.JPG","pixelX":2030,"pixelY":1412,"imageWidth":4000,"imageHeight":3000}]}]}'

Response shape

{
  "jobId": "00000000-0000-0000-0000-000000000000",
  "status": "complete",
  "imageCount": 2,
  "correctedImageCount": 2,
  "planName": "Pro",
  "correctionLevelName": "Enhanced position improvement",
  "expectedImprovementRange": "40-65%",
  "expectedPlanErrorRange": "0.7-2.0 m",
  "averageHorizontalCorrectionMeters": 1.12,
  "maxHorizontalCorrectionMeters": 1.84,
  "estimatedCurrentHorizontalErrorMeters": 1.6,
  "estimatedCurrentHorizontalErrorLowerMeters": 0.9,
  "estimatedCurrentHorizontalErrorUpperMeters": 2.1,
  "estimatedCurrentHorizontalErrorRange": "0.9-2.1 m",
  "confidence": 0.82,
  "confidenceLabel": "High",
  "correctionApplied": true,
  "correctionStatus": "applied",
  "correctionStatusLabel": "Applied",
  "correctionMessage": "AerialAlign found a reliable correction and applied it to the downloadable images.",
  "flightPlanUploaded": true,
  "flightPlanWaypointCount": 12,
  "knownPointSubmitted": true,
  "knownPointApplied": true,
  "knownPointObservationCount": 3,
  "knownPointUsableObservationCount": 3,
  "opticalMatchingAttempted": true,
  "opticalMatchingApplied": true,
  "opticalMatchingPhotosAdjusted": 6,
  "reportCsvUrl": "https://www.aerialalign.com/api/v1/corrections/00000000-0000-0000-0000-000000000000/report.csv",
  "images": [
    {
      "fileName": "IMG_0001.JPG",
      "originalLatitude": 35.0000000,
      "originalLongitude": -78.0000000,
      "correctedLatitude": 35.0000100,
      "correctedLongitude": -78.0000140,
      "horizontalCorrectionMeters": 1.63,
      "estimatedHorizontalErrorAfterLowerMeters": 0.9,
      "estimatedHorizontalErrorAfterUpperMeters": 2.1
    }
  ]
}

Supporting endpoints

EndpointPurpose
GET /api/v1/usageReturns the authenticated account plan, quota, and current usage.
GET /api/v1/corrections/{jobId}Returns the saved correction result for a previous API job.
GET /api/v1/corrections/{jobId}/report.csvDownloads the correction report as CSV.
DELETE /api/v1/corrections/{jobId}Deletes the job record and uploaded source files.

The API returns corrected coordinates, estimated error ranges, confidence, correction status, photo batch check statistics, and summary metrics. Your application should write those coordinates into image metadata or pass them directly to mapping software.