About the Damage Conflation API
The Damage Conflation API returns building-level damage classifications for catastrophe events, based on Nearmap imagery. After an event, Nearmap flies the affected area several times over the following days. Damage Conflation combines every observation of an event into one dataset, and delivers one row per building, with a final damage rating, the probability for each damage class, and a building outline. Partly obscured observations are combined with clearer ones, yielding more complete and reliable results. Conflation re-runs each time a new survey for the event is published.
The Damage Conflation API is designed for:
- ImpactResponse workflows - Rapid, event-scale retrieval of damage assessments to support triage and claims prioritization. Query a single dataset for the whole event instead of reconciling survey tiles from multiple surveys. Each building has one final rating, so you can prioritize claims or response work across thousands or millions of buildings.
- Ratings from every pass - Each building is rated from every observation of the event. Clearer images are more reliable than obscured ones, so a single smoky or cloudy pass does not decide the rating.
- Query by address - Send an address instead of an Area of Interest (AOI) to get damage for the buildings at that property. The address must consist of a street address, city, state, zip and country.
- Stable building outline - A building outline that stays usable even when the post-event image shows rubble.
When to use this API
Use the Damage Conflation API:
- After an event has occurred
- After Nearmap has processed the imagery for a post-catastrophe survey
- When you want to assess an entire event
Damage Conflation is available only for catastrophe events that Nearmap has captured and tagged. You need the event ID from the Coverage API, which is the postCatEventId tag. An ordinary survey has no event ID and no conflation result.
For the first hours of an event, before conflation has finished, you can view damage using the AI Feature API. When using the AI Feature API to retrieve singular/non-conflation values from catastrophe surveys, use packs=postcat , and add include=damage to request the damage ratings.
Before you start
- Confirm that your subscription includes ImpactResponse and Damage Classifications AI, and covers the area you want to query.
- Set up your integration to watch for ImpactResponse events.
- Call the Coverage API to retrieve the latest surveys.
- Read the event ID from each new survey. Surveys in the same event share one event ID. Use
postCatEventName and postCatEventDate to tell events apart, because an area can fall inside more than one. - Wait until processing is complete.
- Decide where to store the data, for example in your GIS or insurance system.
- Call the Damage Conflation API.
Damage Conflation has a rate limit. If you send requests exceeding the limit, the API returns HTTP 429. Responses include the headers X-Ratelimit-Limit, X-Ratelimit-Remaining and X-Ratelimit-Reset, which show your current rate usage.
For detailed information about each step listed above, see the Damage Conflation API handbook page.
Given below are the responses you might see in response to your API call, and a sample response.
Responses you might see
The table below lists the responses the API returns and the action you need to take based on the response you see.
Response | What it means | What to do |
|---|
200 with buildings | Results for your area. | If the response includes nextCursor, send the same request again with that value as cursor to request the next page. |
200, no buildings | Your area is outside the event, or no damage was found. | Check your area against the event footprint. |
400 BAD_AOI_ADDRESS | The request had no area of interest or address, or had both. | Send either an aoi polygon or an address, not both. |
400 BAD_AOI | The area of interest is not a valid polygon or multipolygon. | Send a closed ring, with at least four points, which does not cross itself. |
400 BAD_ADDRESS | The address is missing a field. | Send streetAddress, city, state, zip and country. |
400 BAD_REQUEST_BODY | The request body is not valid JSON, or a value has the wrong type. | Check the body against the API reference. |
401 | No valid API key was sent. | Send your API key as the apikey query parameter or in the Authorization header. |
403 "no access to area" | Your subscription doesn't cover that area, or Nearmap has no coverage there. | Check your subscription with your account manager. Check that your coordinates are longitude then latitude. |
404 | The event ID was not found, or the event has no results yet. For an address, no parcel was found. | Check the event ID. For a recent event, try again later. |
429 | You are sending requests too quickly. | Slow down and retry. |
500 | The request could not be processed due to a temporary problem. | Pass the cursor back exactly as you received it. Use a limit of 1 or more. Check your coordinates and area. |
No response | The request did not go through. | Set a timeout and retry. |
Sample response
- The response below shows one building.
- The event rating is Destroyed, with a probability of 0.978.
- Before the event, the building was rated NoDamage.
-
rawRatings gives the probability for each damage class, and classRatios lists the evidence behind the rating.
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-100.00008971405619, 40.00000461033479],
[-99.99998896584611, 40.00002172018569],
[-100.00001028594382, 40.00009538966521],
[-100.00011103415389, 40.00007827981431],
[-100.00008971405619, 40.00000461033479]
]
]
},
"id": "3f6c2a10-8d47-5b21-9a3e-0c5d7e1b4f92",
"properties": {
"areaSqft": 796,
"areaSqm": 73.92,
"confidence": 0.9257812,
"damage": {
"event": {
"rating": "Destroyed",
"confidence": 0.97835683,
"rawRatings": {
"Affected": 0.0012413142,
"Destroyed": 0.97835683,
"Major": 0.012051237,
"Minor": 0.0049820816,
"NoDamage": 0.0033685421
},
"classRatios": [
{
"classId": "f8abc8e3-6af3-5a1d-9a8e-1793419455bb",
"description": "Junk and Wreckage",
"ratio": 0.55210361,
"confidence": 0.6210938
},
{
"classId": "584188c4-4f77-5724-a782-f13865ab0dbc",
"description": "Building Structural Loss",
"ratio": 0.94100347,
"confidence": 0.9257812
},
{
"classId": "91987430-6739-5e16-b92f-b830dd7d52a6",
"description": "Building lifecycle",
"ratio": 0.95330148,
"confidence": 0.9257812
}
]
},
"preEvent": {
"rating": "NoDamage",
"confidence": 0.97298833,
"rawRatings": {
"Affected": 0.016204737,
"Destroyed": 0.00041386574,
"Major": 0.0019217365,
"Minor": 0.0084713306,
"NoDamage": 0.97298833
},
"classRatios": [
{
"classId": "30fc0c55-2b61-569f-b424-44082987ecb9",
"description": "Medium and High Vegetation with Woody Vegetation",
"ratio": 0.041203761,
"confidence": 0.5908203
},
{
"classId": "91987430-6739-5e16-b92f-b830dd7d52a6",
"description": "Building lifecycle",
"ratio": 0.99010215,
"confidence": 0.9404297
}
],
"latestCaptureDate": "2025-01-15"
}
},
"hilbertId": "13650079281234567890"
}
}