This document describes a study that uses machine learning algorithms to recommend crops, fertilizers, and pesticides to farmers based on soil properties and environmental conditions. The study collects data on factors like soil pH, moisture, temperature, and rainfall from soil testing laboratories and online sources. It then uses random forest, KNN, and decision tree algorithms to analyze the data and make recommendations. The random forest algorithm achieved the highest accuracy of 97% compared to 78% for decision tree and 83% for KNN. The goal is to help farmers select optimal crops and maximize yields by accounting for land conditions. The researchers conclude machine learning is an effective approach that can improve agricultural productivity and economic outcomes for farmers.