Download OpenAPI specification:
Welcome to the EcoField API documentation. EcoField Data presents a revolutionary approach to agricultural emissions analysis, offering unparalleled precision and depth in field-level emission information. At the heart of this product lies a sophisticated integration of diverse data sources and cutting-edge models, designed for those who seek detailed insights into the environmental impact of farming practices.
This API caters to a wide range of users and applications, including:
This interactive documentation will get you up to speed on setting up requests, understanding responses, and leveraging the EcoField API for your needs.
Visit the EcoField™ data product page for more information.
To get started, all users need their own client ID and client secret. Please contact an account manager or the DTN sales team to obtain these. Then, review the Authentication section to learn how to request an API access token. Do not share or use others' API credentials, since doing so may compromise information security.
Starting off your journey with the the EcoField API couldn't be easier. We've provided a variety of options to suit your needs and comfort level: Interactive Documentation: Our interactive documentation is a great starting point. Simply navigate to the "Authentication" section, insert your credentials, and you'll obtain an access token behind the scenes. Then, explore the API endpoints described in the Endpoints section.
1. Interactive documentation: Navigate to the Authentication section on this page, insert credentials to obtain an access token, then explore the API endpoints described in the Endpoints section.
2. Postman collection: For a hands-on approach, consider downloading this Postman collection. Insert credentials and start testing the API in Postman's interactive application.
3. Writing code: Ready to start coding? Try the Python example below, replacing client_id and client_secret with proper credentials. This invokes the API endpoint with a GET request and prints the response.
# --- Obtain an API access token ---
import requests
# --- Obtain an API access token ---
authUrl = 'https://api.auth.dtn.com/v1/tokens/authorize'
body = {
'grant_type': 'client_credentials',
'client_id': '...insert your client id here...',
'client_secret': '...insert your client secret here...',
'audience': 'https://ecofield.dtn.com'
}
response = requests.post(authUrl, json=body)
access_token = response.json()['data']['access_token']
# --- Invoke the API ---
api_base_url = 'https://agcore-api.prd.ag.zones.dtn.com/api/v1/'
endpoint = 'land/soil?limit=5"'
headers = {'Authorization': 'Bearer ' + access_token, 'Content-Type': 'application/json'}
response = requests.get(api_base_url + endpoint, headers=headers)
# --- Print the response ---
print(response.json())
EcoField™ is licensed by crop and geographic region. Speak with your sales representative for details.
Returns direct energy category codes and descriptions of a given Direct energy category Type.
[- {
- "directEnergyCategory": 1,
- "description": "Field"
}, - {
- "directEnergyCategory": 2,
- "description": "Facility"
}
]Returns direct energy source codes and descriptions of a given Direct energy source Type.
[- {
- "directEnergySource": 102,
- "description": "diesel"
}, - {
- "directEnergySource": 103,
- "description": "biodiesel"
}
]Returns all power source types.
[- {
- "id": 1,
- "description": "Electric"
}, - {
- "id": 2,
- "description": "Diesel (average biofuel blend)"
}, - {
- "id": 3,
- "description": "Diesel (100% mineral diesel)"
}, - {
- "id": 4,
- "description": "Gravity"
}
]Returns all water source types.
[- {
- "id": 1,
- "description": "Natural lake/pond"
}, - {
- "id": 2,
- "description": "Reservoir"
}, - {
- "id": 3,
- "description": "River/stream/ditch"
}, - {
- "id": 4,
- "description": "On farm Storage pond/reservoir/tank"
}, - {
- "id": 5,
- "description": "Borehole/well"
}, - {
- "id": 6,
- "description": "Main supply"
}
]Returns a list of cover crop and crop type data.
| landId required | integer Numeric ID of the land to get. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
{- "results": [
- {
- "landId": 2,
- "cropYear": 2022,
- "cover": true,
- "lci": 3
}, - {
- "landId": 859,
- "cropYear": 2020,
- "cover": false,
- "lci": 795
}
], - "count": 12
}Returns a list of emissions data associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 30739900,
- "reportingYear": 2022,
- "totalEmissionsPerBushel": 2710.2834,
- "summarySoilOrganicCarbon": 0.02,
- "fertilizerProductionTotalCo2ePerBushel": 499.61,
- "fertilizerSoilTotalCo2ePerBushel": 1381.33,
- "fieldEnergyTotalCo2ePerBushel": 0,
- "irrigationTotalCo2ePerBushel": 0,
- "machineryTotalCo2ePerBushel": 170.16,
- "managementChangesTotalCo2ePerBushel": 0,
- "pesticideTotalCo2ePerBushel": 29.11,
- "processingTotalCo2ePerBushel": 362.61365,
- "carbonIntensityScore": 17.25,
- "residueTotalCo2ePerBushel": 267.46,
- "seedTotalCo2ePerBushel": 0,
- "storageTotalCo2ePerBushel": 0,
- "transportationTotalCo2ePerBushel": 0,
- "wasteWaterTotalCo2ePerBushel": 0,
- "totalEmissionsPerArea": 3170.16
}
], - "links": {
}, - "count": 4
}Returns farm/facility energy consumption data for an associated list of land IDs.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of land IDs.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 319,
- "reportingYear": 2020,
- "directEnergyCategory": 1,
- "directEnergySource": 106,
- "directEnergyUsageValue": 11898.97,
- "directEnergyUsageUnit": 36
}, - {
- "landId": 1101,
- "reportingYear": 2020,
- "directEnergyCategory": 2,
- "directEnergySource": 102,
- "directEnergyUsageValue": 3453.7335,
- "directEnergyUsageUnit": 15
}
], - "count": 11
}Returns a list of fertilizer usage data associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 1142,
- "reportingYear": 2022,
- "fertilizerType": 9,
- "fertilizerCustomIngredientsNTotalPercentage": 0,
- "fertilizerCustomIngredientsNAmmoniaPercentage": 0,
- "fertilizerCustomIngredientsNNitricPercentage": 0,
- "fertilizerCustomIngredientsNUreaPercentage": 0,
- "fertilizerCustomIngredientsP2o5Percentage": 0,
- "fertilizerCustomIngredientsP2o5PercentageTypeId": 4,
- "fertilizerCustomIngredientsK2oPercentage": 0,
- "fertilizerCustomIngredientsK2oPercentageTypeId": 5,
- "fertilizerApplicationRateValue": 82,
- "fertilizerApplicationRateUnit": 29,
- "fertilizerRateMeasure": "n",
- "fertilizerMethod": 2,
- "fertilizerInhibitionId": "none"
}, - {
- "landId": 1142,
- "reportingYear": 2022,
- "fertilizerType": 22,
- "fertilizerCustomIngredientsNTotalPercentage": 0,
- "fertilizerCustomIngredientsNAmmoniaPercentage": 0,
- "fertilizerCustomIngredientsNNitricPercentage": 0,
- "fertilizerCustomIngredientsNUreaPercentage": 0,
- "fertilizerCustomIngredientsP2o5Percentage": 0,
- "fertilizerCustomIngredientsP2o5PercentageTypeId": 4,
- "fertilizerCustomIngredientsK2oPercentage": 0,
- "fertilizerCustomIngredientsK2oPercentageTypeId": 5,
- "fertilizerApplicationRateValue": 82,
- "fertilizerApplicationRateUnit": 29,
- "fertilizerRateMeasure": "n",
- "fertilizerMethod": 2,
- "fertilizerInhibitionId": "none"
}
], - "links": {
}, - "count": 51
}Returns a list of machinery data associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 123456,
- "reportingYear": 2020,
- "machineryTypeId": 8,
- "machineryFuelTypeId": 102,
- "machineryOperations": 1
}
], - "links": {
}, - "count": 4
}Returns a list of Land management practices associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 123,
- "reportingYear": 2020,
- "inputsFrom": 3,
- "inputsTo": 4,
- "tillageFrom": 3,
- "tillageTo": 3,
- "landUseFrom": 1,
- "landUseTo": 1,
- "allocation": 100,
- "yearsOfChange": 2022
}
], - "count": 24
}Returns a list of pesticide usage data associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers |
{- "landIds": [
- 1
], - "reportingYear": [
- 0
]
}{- "results": [
- {
- "landId": 123456,
- "reportingYear": 2020,
- "pesticideCategoryId": 2,
- "pesticideApplications": 2,
- "pesticideApplicationRateValue": 1,
- "pesticideApplicationRateUnit": 24,
- "pesticidePercentageRate": 50,
- "pesticideApplicationInstance": 1
}
], - "links": {
}, - "count": 11
}Returns a list of land objects that are passed from the body parameters and returns the land EcoField data from every year associated with with those land objects.
| landId | number >= 1 A land id for a given search. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
{- "results": [
- {
- "landId": 2202,
- "cropYear": 2019,
- "cover": false,
- "lci": 1,
- "harvestDay": 301,
- "residue": 12.3,
- "tillage": 1,
- "yield": 47.1
}
], - "count": 3
}Returns a list of land objects that are passed from the body parameters and returns the land EcoField data from every year associated with with those land objects.
| land-id | number >= 1 A comma separated list of land ids for a given search. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
DEPRECATED - body parameters will be removed from this endpoint June 1 2024. List of primary keys for land objects.
| landIds required | Array of numbers[ items >= 1 ] |
{- "landIds": [
- 1
]
}{- "results": [
- {
- "landId": 2202,
- "cropYear": 2019,
- "cover": false,
- "lci": 1,
- "harvestDay": 301,
- "residue": 12.3,
- "tillage": 1,
- "yield": 47.1
}
], - "count": 40002
}Returns a list of party objects that are passed from the body parameters and returns the landId and EcoField data from every year associated with with those party objects.
| party-id | number Comma separated number list of the primary keys for parties searched. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
DEPRECATED - body parameters will be removed from this endpoint June 1 2024. Please switch to query parameters. List of primary keys for party objects.
| partyIds required | Array of numbers[ items >= 1 ] |
{- "partyIds": [
- 1
]
}{- "results": [
- {
- "landId": 2219882,
- "partyId": 813631,
- "ecoFieldData": [
- {
- "lci": 795,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 93,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": "2022-06-25T00:00:00"
}, - {
- "lci": 3,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 795,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 93,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": "2022-06-25T00:00:00"
}, - {
- "lci": 3,
- "cover": false,
- "yield": null,
- "land_id": 2219882,
- "residue": 6.48,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}
]
}, - {
- "landId": 15227827,
- "partyId": 813631,
- "ecoFieldData": [
- {
- "lci": 93,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 399,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 795,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 93,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 399,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}, - {
- "lci": 795,
- "cover": false,
- "yield": null,
- "land_id": 15227827,
- "residue": 13.1,
- "tillage": 4,
- "cropYear": 2022,
- "harvestDay": null
}
]
}
], - "links": {
}, - "count": 10
}Returns irrigation data associated with the landId.
| land-id | number (landId) Example: land-id=12345 The land-id associated with the requested data. This parameter is optional. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
{- "results": [
- {
- "landId": 2,
- "cropYear": 2022,
- "irrigationType": 3
}, - {
- "landId": 859,
- "cropYear": 2020,
- "irrigationType": 3
}
], - "links": {
}, - "count": 553
}Returns a list of Land Production data associated with a list of land ids.
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
List of primary keys for land objects and reporting years.
| landIds required | Array of numbers[ items >= 1 ] |
| reportingYear | Array of numbers[ items >= 2014 ] |
{- "landIds": [
- 1
], - "reportingYear": [
- 2014
]
}{- "results": [
- {
- "landId": 123456,
- "reportingYear": 2020,
- "lciId": 795,
- "cropProductFreshValue": 99,
- "cropProductFreshUnit": 27,
- "cropProductFinishedValue": 99,
- "cropProductFinishedUnit": 27
}
], - "count": 51
}Returns a list of drainage class types.
| typeId required | number This field is the numeric primary key for drainage class objects. If one is entered one drainage class type is returned. If not then all class types are returned. |
[- {
- "id": 6,
- "description": "Well drained"
}
]Returns a list of fertilizer production region ids and descriptions.
[- {
- "fertilizerProductionRegionId": 1,
- "description": "World"
}, - {
- "fertilizerProductionRegionId": 2,
- "description": "Europe"
}
]Returns a list of land frequency types.
| typeId required | number This field is the numeric primary key for frequency types objects. If one is entered one frequency type is returned. If not then all types are returned. |
[- {
- "id": 6,
- "description": "Frequent"
}
]Returns a list of land map unit types.
| typeId required | number This field is the numeric primary key for map unit types objects. If one is entered one map unit type is returned. If not then all types are returned. |
[- {
- "id": 1,
- "description": "Association"
}
][- {
- "id": 3,
- "description": "Farmland of statewide importance, if irrigated and drained"
}, - {
- "id": 4,
- "description": "Farmland of statewide importance, if warm enough, and either drained or either protected from flooding or not frequently flooded during the growing season"
}
]Returns a list of farm class types.
| typeId required | number This field is the numeric primary key for land farm class objects. If one is entered one farm class type is returned. If not then all class types are returned. |
[- {
- "id": 11,
- "description": "Farmland of unique importance"
}
]Returns a list of soil data for the associated landId field.
| landId required | number >= 1 The primary key for land objects. |
[- {
- "landId": 12345,
- "mapUnitKey": 0,
- "totalAcres": 123.4,
- "affectedAcres": 12.3,
- "percentageCovered": 36.4,
- "farmClass": 23,
- "farmDescription": 23,
- "kind": "Consociation",
- "description": "string",
- "floodCondition": "None",
- "floodDescription": "None",
- "drainingClass": 6,
- "drainingClassDescription": "Moderately well drained",
- "nccpi3Corn": 0.123,
- "nccpi3Soy": 0.123,
- "nccpi3Cotton": 0.123,
- "nccpi3SmallGrains": 0.123,
- "nccpi3All": 0.123
}
]Returns a list of pesticide category ids and descriptions.
[- {
- "pesticideCategory": 1,
- "description": "seed_treatment"
}, - {
- "pesticideCategory": 2,
- "description": "soil_treatment"
}
]Returns land data associated with the landId and from the search parameter associated with the given season code.
| land-id | number (landId) Example: land-id=12345 The land-id associated with the requested data. This parameter is optional and only one of land-id or mapUnitKey may be passed in. Not both. |
| map-unit-key | number >= 1 The mapUnitKey associated with the requested data. This parameter is optional and only one of land-id or mapUnitKey may be passed in. Not both. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
{- "results": [
- {
- "landId": 34006904,
- "mapUnitKey": 52254,
- "percentageCovered": 100,
- "description": "Cave-Harrisburg-Grapevine complex, 1 to 15 percent slopes",
- "kind": "Complex",
- "floodCondition": "None",
- "drainingClass": "Well drained",
- "nccpi3Corn": 0.001,
- "nccpi3Soy": 0.02,
- "nccpi3Cotton": 0.008,
- "nccpi3SmallGrains": 0.036,
- "nccpi3All": 0.036
}, - {
- "landId": 34012890,
- "mapUnitKey": 52254,
- "percentageCovered": 42.53,
- "description": "Cave-Harrisburg-Grapevine complex, 1 to 15 percent slopes",
- "kind": "Complex",
- "floodCondition": "None",
- "drainingClass": "Well drained",
- "nccpi3Corn": 0.001,
- "nccpi3Soy": 0.02,
- "nccpi3Cotton": 0.008,
- "nccpi3SmallGrains": 0.036,
- "nccpi3All": 0.036
}
], - "links": {
}, - "count": 553
}Returns ecofield soil data associated with the landId.
| land-id | number (landId) Example: land-id=12345 The land-id associated with the requested data. This parameter is optional and only one of land-id or mukey may be passed in. Not both. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
| year | number An array or singular year of data to be returned. If not provided then the most recent year from partition table years will be returned. |
{- "results": [
- {
- "landId": "2,",
- "reportingYear": "2022,",
- "cropResidueManagement": "6,",
- "cropSoilTextureId": "3,",
- "soilType": "205,",
- "cropSoilOrganicMatterId": "2,",
- "cropSoilDrainageId": "1,",
- "cropSoilPhId": 1
}, - {
- "landId": "49,",
- "reportingYear": "2022,",
- "cropResidueManagement": "6,",
- "cropSoilTextureId": "3,",
- "soilType": "205,",
- "cropSoilOrganicMatterId": "2,",
- "cropSoilDrainageId": "1,",
- "cropSoilPhId": 1
}
], - "links": {
}, - "count": 553
}Returns weather data associated with the landId.
| land-id | number (landId) Example: land-id=12345 The land-id associated with the requested data. This parameter is optional. |
| year | number An array or singular year of data to be returned. If not provided then all available years data will be returned. |
| limit | number The maximum response amount desired, if no limit all matching results will be returned. |
| offset | number The offset of the last previously returned pagination results. To be used with limit for pagination. |
{- "results": [
- {
- "landId": 2,
- "reportingYear": 2022,
- "farmClimate": 5,
- "farmAverageTemperatureValue": 15.75,
- "farmAverageTemperatureUnit": 72
}, - {
- "landId": 112,
- "reportingYear": 2022,
- "farmClimate": 5,
- "farmAverageTemperatureValue": 15.27,
- "farmAverageTemperatureUnit": 72
}
], - "links": {
}, - "count": 553
}Returns a list of machinery fuel types and their descriptions.
[- {
- "machineryFuelType": 102,
- "description": "diesel"
}, - {
- "machineryFuelType": 203,
- "description": "petrol"
}
]Returns a list of machinery types and their descriptions.
[- {
- "machineryType": 1,
- "description": "Baler (average)"
}, - {
- "machineryType": 2,
- "description": "chisel plough"
}
]Returns a single object of machinery type and it's description.
| machineryId required | number This field is the numeric primary key for machinery type objects. If one is entered one machinery type object is returned. If not then all machinery type objects are returned. |
[- {
- "machineryType": 44,
- "description": "Biocide sprayer"
}
]Returns a phone score reference data.
[- {
- "id": 1,
- "description": "Public DA (Daily Validation)"
}, - {
- "id": 2,
- "description": "Private Very High Confidence (Near Term Telco plus Transactional Verification)"
}
]Returns a phone score reference data.
| scoreId required | number This field is the numeric primary key for phone scores. If one is entered one score object is returned. If not then all score objects are returned. |
[- {
- "id": 5,
- "description": "Disconnect/Delisted Transaction Present"
}
]Returns a process codes reference data.
| codeId required | string This field is the primary key for process codes. If one is entered one process code object is returned. If not then all codes objects are returned. |
[- {
- "id": "B",
- "description": "Business"
}
]Returns a source codes reference data.
| codeId required | string This field is the primary key for source codes. If one is entered one source code object is returned. If not then all codes objects are returned. |
[- {
- "id": "T",
- "description": "Take 5"
}
]Returns a list of accessible Fips codes and LCI Ids associated with a users license in the ecofield product.
{- "fipsCodes": [
- "17037",
- "55337",
- "61080"
], - "lciIds": [
- 1,
- 345,
- 3
]
}