DSM and True Ortho API

The DSM and True Ortho API uses the Staticmap v2 API to return coverage information and raster image content for a user-specified area. First, call GET /staticmap/v2/coverage.json to find available surveys and retrieve a transaction token. Then call GET /staticmap/v2/surveys/{surveyId}/{type}.{format} to download imagery for the same area.

The DSM and True Ortho API provides access to DetailDsm, TrueOrtho, and Vert imagery for a user-specified area.

Subscription required. The DSM and True Ortho API requires a separate subscription. Contact your Nearmap Account Manager to enable access.

Content types

TypeDescription
DetailDsmDigital Surface Model — elevation data derived from captured imagery, representing the top of visible surfaces (roofs, trees, ground).
TrueOrthoGeometrically corrected aerial imagery with no building lean or perspective distortion.
VertStandard top-down vertical imagery.

Each content type may have a different native pixel resolution. The coverage.json response includes pixelSizes per type, allowing you to calculate the appropriate size parameter for your image request.


How it works

The API follows a two-step transaction model. You must complete both steps in sequence.

Step 1 - Request coverage

Call GET /staticmap/v2/coverage.json with your AOI (defined by a center point and radius). The response returns available surveys along with a Transaction Token to authorize subsequent image requests for the same AOI.

Step 2 - Request imagery

Call GET /staticmap/v2/surveys/{surveyId}/{type}.{format} using the surveyId and transactionToken from the coverage response. Repeat this call with different type values to retrieve multiple content types for the same area until the token expires.


Endpoints

Get coverage and transaction token

GET https://api.nearmap.com/staticmap/v2/coverage.json

Returns available survey resources for the given AOI, ordered from most to least recent, along with a Transaction Token to use for image retrieval.

View endpoint reference →

Query parameters

ParameterRequiredDescription
apikeyYesYour Nearmap API key. See Authentication.
pointYesCentre of the AOI as longitude,latitude (WGS84 decimal degrees). Example: 144.967761,-37.821139.
radiusYesRadius of the AOI in metres. Maximum: 100.
resourcesYesComma-separated list of content types to check availability for. Accepted values: Vert, DetailDsm, TrueOrtho. Example: Vert,DetailDsm,TrueOrtho.
sinceNoReturn only surveys captured on or after this date. Accepts YYYY-MM-DD or a relative value such as 24M (24 months ago).
untilNoReturn only surveys captured on or before this date (YYYY-MM-DD).
filterNoControls whether returned surveys must match all requested resource types (allTypes, default) or at least one requested type (anyTypes).

Example request

GET https://api.nearmap.com/staticmap/v2/coverage.json?point=144.967761,-37.821139&radius=50&resources=Vert,DetailDsm,TrueOrtho&since=24M&filter=allTypes&apikey={YOUR_API_KEY}

Example response

{
  "surveys": [
    {
      "captureDate": "2021-10-27",
      "firstPhotoTime": "2021-10-26T22:02:08Z",
      "id": "96a07752-41b1-11ec-b551-0303fe0a0115",
      "lastPhotoTime": "2021-11-29T22:01:51Z",
      "pixelSizes": {
        "DetailDsm": 0.15,
        "TrueOrtho": 0.055,
        "Vert": 0.055
      }
    }
  ],
  "limit": 20,
  "offset": 0,
  "total": 1,
  "transactionToken": "{YOUR_TRANSACTION_JWT}"
}

Response fields

FieldDescription
surveys[].idSurvey ID. Pass this as surveyId in the image retrieval endpoint.
surveys[].captureDateSurvey date in the local timezone of the capture location.
surveys[].firstPhotoTime / lastPhotoTimeUTC timestamps of the first and last photos in the survey.
surveys[].pixelSizesGround Sample Distance (GSD) in meters for each available content type. Use these to calculate the appropriate size for image requests.
transactionTokenToken authorizing image retrieval for this AOI. Valid for 30 days from the coverage call, this can be reused for all subsequent image requests within the same AOI.

Retrieve imagery

GET https://api.nearmap.com/staticmap/v2/surveys/{surveyId}/{type}.{format}

Returns a raster image for the specified survey, content type, and output format, centered on the same point and radius as the coverage request.

View endpoint reference →

Path parameters

ParameterDescription
surveyIdThe survey ID from the coverage.json response.
typeContent type: DetailDsm, TrueOrtho, or Vert.
formatformat can be tif, jpg, png, jgw, pgw, or tfw. tif is recommended for GeoTIFF for DSM and True Ortho.

Query parameters

ParameterRequiredDescription
transactionTokenYesThe token returned by coverage.json.
pointYesCentre of the AOI as longitude,latitude. Must match the AOI from the coverage call.
radiusYesRadius in meters. Must be within the AOI from the coverage call. Maximum: 100.
sizeYesOutput image dimensions in pixels as {width}x{height}. Maximum: 5000x5000. The image resolution (GSD) is determined by (2 × radius) / size.

Example request — True Ortho as GeoTIFF

GET https://api.nearmap.com/staticmap/v2/surveys/dc26410e-6331-11ea-9feb-eb1617c46d8e/TrueOrtho.tif?point=151.0904291,-33.724291&radius=100&size=5000x5000&transactionToken={TRANSACTION_TOKEN}

Example request — DSM

GET https://api.nearmap.com/staticmap/v2/surveys/dc26410e-6331-11ea-9feb-eb1617c46d8e/DetailDsm.tif?point=151.0904291,-33.724291&radius=100&size=5000x5000&transactionToken={TRANSACTION_TOKEN}

Service limits

LimitValue
Maximum AOI radius100 m (equivalent to a 200×200 m area)
Maximum image dimensions5000×5000 px
Transaction token validity30 days from the coverage call

Transaction costs

The coverage response creates a transaction token. Once you successfully retrieve the first image with that token, the transaction is counted against your monthly allowance. Additional image requests within the same AOI do not incur extra usage costs for 30 days from the coverage call.


Controlling image resolution

Image resolution (pixel size / GSD) is a function of radius and size:

GSD (m/px) = (2 × radius) / pixel_dimension

For example, with radius=100 and size=5000x5000:

GSD = (2 × 100) / 5000 = 0.04 m/px

Note that DSM and True Ortho have different native resolutions (DetailDsm ≈ 0.15 m, TrueOrtho ≈ 0.055 m). Requesting both at the same size will over- or under-sample one relative to its native resolution. Refer to the pixelSizes values in the coverage response to calculate the optimal size for each type independently.


Related


Read the coverage response

The transaction token encodes the user credentials and restricts the image to be returned for the same area as the one requested by the coverage request.

IMPORTANT: Keep your Transaction Token in a safe place. Persist your token if you want to reuse it and download multiple images.