The KisanHub Developer Hub

Welcome to the KisanHub developer hub. You'll find comprehensive guides and documentation to help you start working with KisanHub as quickly as possible, as well as support if you get stuck. Let's jump right in!

A little bit about URLs
KisanHub uses multi-tenancy architecture. As a client you might have your own URL, for example, NIAB users use https://www.niabnetwork.com or Spearhead users use https://spearhead.kisanhub.com. The API documentation under the Reference section will use https://app.kisanhub.com as a standard URL. Kindly replace that URL with your client specific URL where applicable.

Suggest Edits

Team Information

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v1.0/profiles/team-stats/
curl --request GET \
  --url https://app.kisanhub.com/api/v1.0/profiles/team-stats/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v1.0/profiles/team-stats/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v1.0/profiles/team-stats/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v1.0/profiles/team-stats/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v1.0/profiles/team-stats/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

team_slug
string
 
Suggest Edits

List of Users

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v1.0/profiles/users-in-team/
curl --request GET \
  --url https://app.kisanhub.com/api/v1.0/profiles/users-in-team/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v1.0/profiles/users-in-team/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v1.0/profiles/users-in-team/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v1.0/profiles/users-in-team/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v1.0/profiles/users-in-team/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Team and Members Information

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v1.0/profiles/teammembers/
curl --request GET \
  --url https://app.kisanhub.com/api/v1.0/profiles/teammembers/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v1.0/profiles/teammembers/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v1.0/profiles/teammembers/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v1.0/profiles/teammembers/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v1.0/profiles/teammembers/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

team_slug
string
required
 
 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/data/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/data/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/data/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/data/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/data/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/data/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

category
string

Comma-separated slugs for the Topics filters

commodities
string

Comma-separated slugs for the Crop Group filters

region
string

Comma-separated slugs for the Group filters

tag
string

Comma-separated slugs for the Tag filters

content_type
string

Comma-separated slugs for the Technical Category filters (deprecated)

article_type
string

Comma-separated slugs for the Format filters

 
Suggest Edits

Article Filters - Topics

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/categories/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/categories/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/categories/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/categories/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/categories/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/categories/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Article Filters - Technical Category

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/content-type/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/content-type/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/content-type/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/content-type/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/content-type/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/content-type/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Article Filters - Crop Groups

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/commodities/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/commodities/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/commodities/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/commodities/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/commodities/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/commodities/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Article Filters - Tags

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/tags/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/tags/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/tags/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/tags/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/tags/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/tags/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Article Filters - Format

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/articles/article-type/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/articles/article-type/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/articles/article-type/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/articles/article-type/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/articles/article-type/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/articles/article-type/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

List of Protocols

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/trial/protocol/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/trial/protocol/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/trial/protocol/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/trial/protocol/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/trial/protocol/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/trial/protocol/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

harvest_year
string
pages
string
team
string
 
Suggest Edits

Get Protocol

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/trial/protocol/protocol_slug"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

protocol_slug
string
required
 
Suggest Edits

List of Assessments Protocol

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/trial/assessment/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/trial/assessment/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/v2.0/trial/assessment/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/trial/assessment/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/trial/assessment/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/trial/assessment/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

protocol_slug
string

Protocol Identifier

 
Suggest Edits

Get Assessments Details

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/trial/assessment/assessment_slug"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

assessment_slug
string
required
 
Suggest Edits

Get Derived Assessments Details

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/
curl --request GET \
  --url https://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/
var request = require("request");

var options = { method: 'GET',
  url:
   'https://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/v2.0/trial/assessmentfield/field_slug/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

field_slug
string
required

Assessment collected field identifier

Query Params

protocol_slug
string

Protocol identifier

 
Suggest Edits

List KisanHub UK Weather Station Locations

Get list of KisanHub weather station locations in the UK

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/gateway/
curl --request GET \
  --url https://app.kisanhub.com/api/gateway/
var request = require("request");

var options = { method: 'GET', url: 'https://app.kisanhub.com/api/gateway/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/gateway/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/gateway/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/gateway/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Weather Station Data

Get weather station data

 

Header Auth

 Authentication is required for this endpoint.
gethttps://app.kisanhub.com/api/sensor-data/
curl --request GET \
  --url https://app.kisanhub.com/api/sensor-data/
var request = require("request");

var options = { method: 'GET',
  url: 'https://app.kisanhub.com/api/sensor-data/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://app.kisanhub.com/api/sensor-data/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://app.kisanhub.com/api/sensor-data/");

xhr.send(data);
import requests

url = "https://app.kisanhub.com/api/sensor-data/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

start_date
string

yyyy-mm-dd

end_date
string

yyyy-mm-dd

gateway_slug
string