Follow us on Medium  to stay up to date on Call for Code

In partnership with Clemson University and AgStack, IBM has open-sourced an API for agriculture recommendations


Many rural farmers in the U.S. do not have easy access to necessary crop and pest management data. Farmers often rely on information they receive from Research and Cooperative Extension Services. Traditionally, getting this information required calling or going in person to Cooperative Extension Service offices to ask questions. This approach could be prohibitive for those farmers not located near a physical office location. Even farmers in close proximity to an Extension Service office often need faster access to this information to make decisions while they are on the farm.

If data sources were more accessible to farmers, they could have the crop management resources they need in a more timely manner. Clemson University’s Cooperative Extension Service is one such important data source, providing cooperatives and farmers with agriculture recommendations to improve their yields and day-to-day farming practices. Modernizing and digitizing this kind of data to make it accessible online helps bring agriculture recommendations to farmers when and where they need it, without having to be in a particular location.

In May 2021, The Linux Foundation announced the AgStack Foundation, an open source digital infrastructure project for the world’s agriculture ecosystem. The AgStack Foundation provides the digital data and application infrastructure needed for the open source community to develop solutions that improve global agriculture efficiency. Since AgStack’s founding, IBM has been actively working within the open source community to help break down data silos and support the creation of next-generation agriculture technologies.

Through the Call for Code ecosystem, our team of IBM developers began working with Clemson University, who recently joined the AgStack community, to help the university digitize its vast amount of agriculture data. While this data is already publically available, it is in the form of PDF manuals. Call for Code invites developers and problem solvers around the world to build and contribute to sustainable, open source technology projects that address social and humanitarian issues, while ensuring the top solutions are deployed to make a demonstrable difference. True to Call For Code’s mission, the team answered the call to use technology and bring vital data to the rural farming communities that need it most.

Hear Jim Zemlin, Executive Director of The Linux Foundation, explain how Call for Code is taking advantage of the AgStack program to create better agricultural tools for farmers.

Clemson and the Call for Code deployment team sought to digitize data that’s been collected over the years, making it accessible for anyone on their phone or computer to search data and find answers they need. Figuring out how to do this was going to be a large undertaking. But AgStack provided a way to collaborate with and gain insights from a community of people working on similar ideas, and this helped the team make progress quickly.

Leveraging data that Clemson University contributed, IBM has now open-sourced the Agricultural Recommendations (AgRec) Prototype API for agriculture recommendations. The Call for Code team is in the process of sharing this work to the AGStack Github so developers can download assets and build the prototype locally themselves. The following assets are to be added to GitHub:

  • Docker-compose files so open source community members can set up their own local infrastructure. The infrastructure includes Elastic Search (ES), Kibana, and Elastic Enterprise Search.
  • Dockerfile for the preliminary search UI. This search UI is based on open source code created by Elastic. This allows community members to set up the Search UI on their own machines (personal laptops, etc).
  • Sample YAML files that allow a community member to take the infrastructure and deploy it to Kubernetes, if they choose to do so.
  • Clemson University’s prototype data. The data will be in three forms: spreadsheet, comma-separated values (CSV), and Javascript Object Notation (JSON).

To start with a reasonably-sized data set, the team focused on the data Clemson had been collecting about soybeans. A data store was created using Elastic Search to collect the soybean data and the framework was deployed on Kubernetess. The deployment team also took the API that was generated from Elastic Search and published it on IBM API Hub so that other developers can query and make use of the Clemson data. Finally, the team of developers is also building a user interface, so end users (primarily farmers) can access Clemson’s data.

So what does all this provide to rural farmers? With this solution, farmers will have access to crop yield recommendations on demand, when and where they need it. Through an easy user interface, they will have the ability search agricultural recommendations on their phone while working in the field. Over time, other Cooperative Extension Services and universities can use the same central Elastic Search data store to upload their agriculture recommendation datasets as well. Eventually this would provide a large, robust corpus of agricultural data, so that more developers can use this API to implement their own applications based on this same data source, and more farmers will have the most relevant data for their geography and crops.

To start implementing the the Agricultural Recommendations (AgRec) Prototype API for agriculture recommendations, visit IBM API Hub.

This collaboration with Clemson University and other members of AgStack allows developers to contribute code and offer technical design input that can help any agriculture stakeholder, from rural farmers to everyday gardeners. Agriculture technologists, students and researchers alike can all join Call for Code to develop this digital agriculture infrastructure. To learn more and to contribute, visit https://agstack.org.