IBM Research HD Agri Services

Live

IBM Research HD Agri Services

+ Day(s) remaining in the trial

Overview

Suite of agricultural services providing crop vigor (NDVI) and soil moisture information at high spatial and temporal resolutions and diagnostics on diseases that a crop may be infested with. To start a trial, please follow the steps below:

1. Obtain an IBMid and register by clicking on the Sign up for free button above or clicking here.

2. Create your client id and secret by following the My APIs link at the top-right corner of the window or clicking My APIs.

3. Contact irlirim@in.ibm.com with your client id and secret, indicating your interests.

Security

Keys

Pick a key to use with this API. Make sure you are logged in with your IBM id for your keys to be populated in the dropdown below. By selecting a key, it will be pre-filled for each endpoint in the Documentation section that can be used with the built-in testing. If you want to change which key to use for a particular endpoint, you can do so at the endpoint in the Documentation section.
You can manage your API keys in the <MyAPIs> section. API keys authenticate you to your subscription, so make sure to keep them secret. Do not share the X-IBM-Client-Secret portion of any API key in publicly accessible places such as GitHub, or client-side code.



Manage your keys
 

Documentation

IBM Research HD Agri Services:

CropSpeciesAndDisease
Identifies the species of a crop and the disease it may be afflicted with based on crop image.

POST   /plantpath

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/plantpath
		
Keys
FormData parameters

batch_process

INTEGER , optional

An optional flag (batch_process=n) that randomly augments the input image ?n? number of times. The augmentation consists of random rotation (0-180), flip, 20% zoom in either horizontal or vertical dimension. The final output is the max of all augme

image

STRING , required

The image must contain prominently a single leaf with disease symptoms visible. The image must be provided with multipart/form-data as the content-type. The recommended resolution is atleast 300x300.

override

INTEGER , optional

An optional flag (override) that overrides the minimum greenness requirement in the image (either 0 or 1). This is based on channel energy.

species

INTEGER , optional

An optional flag (species) that restricts the model to a the species. The species flag is a zero-index number.

Request code
								
HttpResponse<String> response = Unirest.post("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/plantpath?batch_process=0&image=string&override=0&species=0") .header("accept", "application/json") .header("content-type", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

Provides the crop species and the disease, if any, the crop is infested with

Body

Response example

200

Provides the crop species and the disease, if any, the crop is infested with

								
							
NDVILevel1ByPoint
Provides cloud corrected NDVI every 10 days at 20 m resolution for the specified point coordinate.

GET   /ndvi/level1/point

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level1/point
		
Keys
Path and Query parameters

end_date

STRING , optional

identifies the end of the period for which NDVI is required for the coordinate of interest

lat

DOUBLE , required

latitude of the coordinate at which NDVI is required

lon

DOUBLE , required

longitude of the coordinate at which NDVI is required

start_date

STRING , required

identifies the start of the period for which NDVI is required for the coordinate of interest

Request code
								
HttpResponse<String> response = Unirest.get("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level1/point?end_date=2015-30-11&lat=23.19796833&lon=88.061756666&start_date=2015-11-01") .header("accept", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

200 OK

Body

Status

STRING , required

Execution and output status of the NDVI query issued *VALID_WITH_DATA -- query executed successfully and data is being returned *VALID_WITH_NO_DATA -- data is unavailable for queried dates *INVALID -- the data service is down

Message

OBJECT , required

A more detailed status description string

Data

ARRAY , required

Date

STRING , required

The date for which NDVI value is provided

CorrNDVI

OBJECT , required

NDVI value for the date specified

Response example

200

200 OK

								{
  "Status" : string,
  "Message" : object,
  "Data" : [{
    "Date" : string,
    "CorrNDVI" : object
  }]
}
							
NDVILevel1ByPolygon
Provides cloud corrected NDVI every 10 days at 20 m resolution for all points within the polygon specified.

GET   /ndvi/level1/polygon

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level1/polygon
		
Keys
Path and Query parameters

end_date

STRING , optional

identifies the end of the period for which NDVI is required

lat1

DOUBLE , required

lat2

DOUBLE , required

lat3

DOUBLE , required

lat4

DOUBLE , required

lon1

DOUBLE , required

lon2

DOUBLE , required

lon3

DOUBLE , required

lon4

DOUBLE , required

resolution

INTEGER , required

spatial resolution (in metres) at which NDVI values are to be reported

start_date

STRING , required

identifies the beginning of the period for which NDVI is required

Request code
								
HttpResponse<String> response = Unirest.get("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level1/polygon?end_date=string&lat1=0&lat2=0&lat3=0&lat4=0&lon1=0&lon2=0&lon3=0&lon4=0&resolution=0&start_date=string") .header("accept", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

200 OK

Body

Response example

200

200 OK

								
							
NDVILevel2ByPoint
Provides daily NDVI estimates at 20 m resolution.

GET   /ndvi/level2/point

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level2/point
		
Keys
Path and Query parameters

end_date

STRING , optional

identifies the end of the period for which NDVI is required

lat

DOUBLE , required

latitude of the coordinate at which NDVI is required

lon

DOUBLE , required

longitude of the coordinate at which NDVI is required

start_date

STRING , required

identifies the beginning of the period for which NDVI is required

Request code
								
HttpResponse<String> response = Unirest.get("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level2/point?end_date=string&lat=0&lon=0&start_date=string") .header("accept", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

200 OK

Body

Response example

200

200 OK

								
							
NDVILevel2ByPolygon
Provides daily NDVI estimates at 20 m resolution for points within a polygon

GET   /ndvi/level2/polygon

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level2/polygon
		
Keys
Path and Query parameters

end_date

STRING , optional

identifies the end of the period for which NDVI is required

lat1

DOUBLE , required

lat2

DOUBLE , required

lat3

DOUBLE , required

lat4

DOUBLE , required

lon1

DOUBLE , required

lon2

DOUBLE , required

lon3

DOUBLE , required

lon4

DOUBLE , required

resolution

INTEGER , required

spatial resolution at which NDVI values are to be reported

start_date

STRING , required

identifies the beginning of the period for which NDVI is required

Request code
								
HttpResponse<String> response = Unirest.get("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/ndvi/level2/polygon?end_date=string&lat1=0&lat2=0&lat3=0&lat4=0&lon1=0&lon2=0&lon3=0&lon4=0&resolution=0&start_date=string") .header("accept", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

200 OK

Body

Response example

200

200 OK

								
							
SoilMoistureRootzone
Provides soil moisture value at the root zone level for the coordinate specified

GET   /sm/rootzone

			https://api.ibm.com/irlagriculture/run/hd-agri-svcs/sm/rootzone
		
Keys
Path and Query parameters

end_date

STRING , optional

Identifies the end of the period for which Soil Moisture is required

lat

DOUBLE , required

latitude of the coordinate at which root zone soil moisture is required

lon

DOUBLE , required

longitude of the coordinate at which root zone soil moisture is required

start_date

STRING , required

Identifies the start of the period for which Soil Moisture is required

Request code
								
HttpResponse<String> response = Unirest.get("https://api.ibm.com/irlagriculture/run/hd-agri-svcs/sm/rootzone?end_date=string&lat=0&lon=0&start_date=string") .header("accept", "application/json") .header("x-ibm-client-id", "REPLACE_KEY_VALUE") .header("client_id", "REPLACE_KEY_VALUE") .asString();
Response model

200

200 OK

Body

Status

OBJECT , required

Message

OBJECT , required

Data

ARRAY , required

Date

STRING , required

SoilMoisture

OBJECT , required

Response example

200

200 OK

								{
  "Status" : object,
  "Message" : object,
  "Data" : [{
    "Date" : string,
    "SoilMoisture" : object
  }]
}
							

Loading content...