AgStack Foundation website screenshot

AgStack Foundation

AgStack Foundation is a Linux Foundation project providing open-source digital infrastructure for the agriculture sector. Key projects include the Asset Registry (global field boundary registration with unique geo IDs), the OpenAgri Weather Service (agricultural weather forecasts, THI, spray conditions, UAV flight forecasts), and the OpenAgri Farm Calendar (farm operation recording with JSON-LD/OCSM linked data support). AgStack tools support EUDR compliance, precision agriculture, and interoperability across the agtech ecosystem through the OpenAgri Common Semantic Model.

3 APIs 7 Features
AgricultureLinux FoundationOpen SourceGeospatialPrecision AgricultureLinked Data

APIs

OpenAgri Weather Service

FastAPI-based weather service providing 5-day forecasts, current conditions, Temperature-Humidity Index (THI) for livestock heat stress, UAV flight condition forecasts, and spra...

OpenAgri Farm Calendar

Django REST API for digital farm calendar management. Records farmer operations (planting, spraying, harvesting, irrigation), farm observations, parcel properties, and farm asse...

AgStack Asset Registry

The AgStack Asset Registry provides global field boundary registration and identification. Submit a field polygon (WKT or GeoJSON) and receive a permanent 256-bit (16-character ...

Collections

Pricing Plans

Agstack Plans Pricing

3 plans

PLANS

Rate Limits

Agstack Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Field Boundary Registry

Global registry for agricultural field boundaries — submit WKT or GeoJSON geometry, receive a permanent unique 16-character geo ID

Agricultural Weather Intelligence

5-day weather forecasts, current conditions, and agricultural indicators including THI, spray conditions, and UAV flight suitability

Digital Farm Calendar

Record and manage farm operations (planting, irrigation, spraying, harvesting) with linked data (JSON-LD/OCSM) output

Linked Data Support

All APIs support JSON-LD output conforming to the OpenAgri Common Semantic Model (OCSM) for semantic interoperability

EUDR Compliance Support

Tools for EU Deforestation Regulation compliance — field boundary registration and supply chain traceability via INATrace

Irrigation Management

Evapotranspiration (ETo) calculations and soil moisture analysis for data-driven irrigation decisions

Open Source Infrastructure

All tools are Apache-2.0 licensed, Docker-ready, and deployable on any cloud or on-premises infrastructure

Use Cases

Farmer Field Registration

Farmers and agri-cooperatives register field boundaries in the global asset registry to enable data-driven farm management

Crop Protection Planning

Check spray conditions and UAV flight forecasts before applying pesticides or fertilizers to minimize drift and maximize efficacy

Livestock Heat Stress Monitoring

Monitor Temperature-Humidity Index to detect and prevent heat stress events in dairy and beef cattle herds

EUDR Supply Chain Compliance

Register plot geolocations and trace agricultural commodities through the supply chain to demonstrate zero-deforestation compliance

Precision Irrigation

Use evapotranspiration data and soil moisture analysis to schedule irrigation and optimize water usage

Interoperable Agtech Integration

Share agricultural data between platforms using JSON-LD/OCSM linked data format for semantic interoperability

Integrations

OpenWeatherMap

Weather data source for current conditions and forecasts used by the OpenAgri Weather Service

OpenAgri

EU Horizon Europe project (Grant No. 101134083) that funds and drives the OpenAgri microservices ecosystem

OCSM

OpenAgri Common Semantic Model — linked data vocabulary for agricultural interoperability used across all OpenAgri APIs

INATrace

Open-source blockchain-based track and trace system for agricultural supply chains

TerraTrac

TechnoServe Labs mobile and web application for EUDR compliance field data collection integrated with the asset registry

Semantic Vocabularies

Agstack Context

30 classes · 6 properties

JSON-LD

API Governance Rules

AgStack Foundation API Rules

16 rules · 6 errors 10 warnings

SPECTRAL

JSON Structure

Agstack Openagri Farm Calendar Farm Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
🔗
About
About
🔗
Linux Foundation AI and Data
About
🔗
JSONLD
JSONLD
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: OpenAgri Weather service
  version: 2.5.0
items:
- info:
    name: Get Weather Forecast5Days
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/forecast5'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Weather Forecast5Days
- info:
    name: Get Weather Forecast5Days Ld
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/linkeddata/forecast5'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Weather Forecast5Days Ld
- info:
    name: Get Weather
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/weather'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Weather
- info:
    name: Get Thi
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/thi'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Thi
- info:
    name: Get Thi Ld
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/linkeddata/thi'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Thi Ld
- info:
    name: Get Flight Forecast For All Uavs
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/flight_forecast5'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    - name: uavmodels
      value: ''
      type: query
    - name: status_filter
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Flight Forecast For All Uavs
- info:
    name: Get Flight Forecast For All Uavs Ld
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/linkeddata/flight_forecast5'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    - name: uavmodels
      value: ''
      type: query
    - name: status_filter
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Flight Forecast For All Uavs Ld
- info:
    name: Get Flight Forecast For Uav
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/flight_forecast5/:uavmodel'
    params:
    - name: uavmodel
      value: ''
      type: path
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Flight Forecast For Uav
- info:
    name: Get Flight Forecast For Uav Ld
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/linkeddata/flight_forecast5/:uavmodel'
    params:
    - name: uavmodel
      value: ''
      type: path
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Flight Forecast For Uav Ld
- info:
    name: Get Spray Forecast
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/data/spray_forecast'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Spray Forecast
- info:
    name: Get Spray Forecast Ld
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/api/linkeddata/spray_forecast'
    params:
    - name: lat
      value: ''
      type: query
    - name: lon
      value: ''
      type: query
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Spray Forecast Ld
- info:
    name: Get Payload
    type: http
  http:
    method: GET
    url: '{{baseUrl}}/auth/test'
    auth:
      type: bearer
      token: '{{bearerToken}}'
  docs: Get Payload
- info:
    name: Token
    type: http
  http:
    method: POST
    url: '{{baseUrl}}/auth/token'
    body:
      type: form-urlencoded
      data: []
  docs: Token
bundled: true