Skip to main content
When you have a single geographic point — such as a farm centroid or sourcing origin — you can request a pre-assessment risk evaluation without registering a batch. Submit a latitude and longitude pair and AgriBackup will run live Sentinel-2 NDVI deforestation analysis and Country Risk Matrix lookups, returning a full risk profile in a single synchronous call. No polygon geometry, no batch creation, no quota consumption. POST /api/v1/enterprise/eudr/risk/assess-coordinate

Request Body

latitude
number
required
The geographic latitude of the point to assess, expressed as a decimal degree (double). Valid range is -90.0 to 90.0. Positive values are north of the equator; negative values are south.Example: -1.2921
longitude
number
required
The geographic longitude of the point to assess, expressed as a decimal degree (double). Valid range is -180.0 to 180.0. Positive values are east of the Prime Meridian; negative values are west.Example: 36.8219

Code Examples

import agribackup
from agribackup.rest import ApiException

configuration = agribackup.Configuration(host="https://live.agribackup.com/api/v1")
configuration.api_key["ApiKeyAuth"] = "sk_live_YOUR_API_KEY"

payload = {
    "latitude": -1.2921,
    "longitude": 36.8219
}

with agribackup.ApiClient(configuration) as api_client:
    try:
        api_instance = agribackup.EnterpriseRiskManagementApi(api_client)
        response = api_instance.assess_coordinate_risk(body=payload)
        print(response)
    except ApiException as e:
        print("Exception when calling API: %s\n" % e)
import { AgriBackupClient } from "@agribackup/sdk";

const client = new AgriBackupClient({
  apiKey: "sk_live_YOUR_API_KEY",
  baseUrl: "https://live.agribackup.com/api/v1",
});

async function assessCoordinateRisk() {
  try {
    const response = await client.management.assessCoordinateRisk({
      latitude: -1.2921,
      longitude: 36.8219,
    });
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

assessCoordinateRisk();
curl --request POST \
  --url https://live.agribackup.com/api/v1/enterprise/eudr/risk/assess-coordinate \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer sk_live_YOUR_API_KEY" \
  --data '{
    "latitude": -1.2921,
    "longitude": 36.8219
  }'

Response

A 200 OK response includes the echoed coordinates alongside the full satellite and country risk analysis. All required fields are guaranteed present; optional fields such as countryCode and countryName may be null for coordinates in unmapped regions.
{
  "latitude": -1.2921,
  "longitude": 36.8219,
  "countryCode": "KEN",
  "countryName": "Kenya",
  "countryRiskLevel": "STANDARD",
  "countryRiskJustification": "Standard default risk assigned",
  "satelliteAnalysisState": "COMPLETED",
  "deforestationDetected": false,
  "deforestationProbability": 0.05,
  "ndviBaseline": 0.72,
  "ndviCurrent": 0.70,
  "ndviChange": -0.02,
  "dataSource": "COPERNICUS-SENTINEL-2"
}
latitude
number
The latitude value submitted in the request, echoed back for confirmation.
longitude
number
The longitude value submitted in the request, echoed back for confirmation.
countryCode
string
ISO-3166-1 alpha-3 country code reverse-geocoded from the submitted coordinate (e.g., KEN, BRA, IDN). Returns null if the point falls in international waters or an unmapped territory.
countryName
string
Human-readable name of the detected country. Returns null under the same conditions as countryCode.
countryRiskLevel
string
The EUDR Country Risk Matrix classification for the detected country. One of LOW, STANDARD, or HIGH. A HIGH classification means you will need to supply additional due-diligence evidence before submitting a Due Diligence Statement.
countryRiskJustification
string
A plain-language explanation for the assigned risk level derived from the Country Risk Matrix dataset.
satelliteAnalysisState
string
The completion state of the Sentinel-2 satellite analysis. Possible values:
  • COMPLETED — analysis finished successfully
  • PHASE_2_SAR_FAILOVER_PENDING — optical imagery was insufficient; SAR fallback queued
  • UNSUPPORTED_OR_EMPTY_ACQUISITION — no satellite data available for this coordinate
deforestationDetected
boolean
true if the live analysis triggered a deforestation alert for the assessed point; false otherwise.
deforestationProbability
number
A decimal value between 0.0 and 1.0 representing the NDVI-derived probability of deforestation activity at this coordinate. Values above 0.30 indicate elevated risk.
ndviBaseline
number
The historical baseline NDVI index for the point, used as the reference for change detection.
ndviCurrent
number
The most recent NDVI index reading from the latest available Sentinel-2 acquisition.
ndviChange
number
The delta between ndviCurrent and ndviBaseline. Negative values indicate vegetation loss. Values below -0.10 should be investigated further.
dataSource
string
The satellite programme that provided the imagery for this analysis. Typically COPERNICUS-SENTINEL-2; SAR fallback analyses will report SENTINEL_1_SAR.

Error Responses

HTTP StatusError CodeDescription
400 Bad RequestVALIDATION_FAILEDOne or both coordinate values are missing, non-numeric, or out of the valid range (latitude must be −90 to 90; longitude must be −180 to 180).
401 UnauthorizedUNAUTHORIZEDThe Authorization header is absent or the bearer token is not recognised.
403 ForbiddenFORBIDDENYour API key lacks the required scope to call risk assessment endpoints.
429 Too Many RequestsRATE_LIMITEDYou have exceeded the hourly rate limit. Inspect X-RateLimit-Reset to determine when your window resets.
{
  "code": "VALIDATION_FAILED",
  "message": "Invalid coordinate format or out of bounds",
  "details": [
    {
      "code": "OUT_OF_RANGE",
      "field": "latitude",
      "issue": "Latitude must be between -90.0 and 90.0"
    }
  ]
}