Agriculture is a critical source of income and employment in India. However, a common challenge faced by Indian farmers is the selection of suitable crops and fertilizers for their specific land conditions, which often results in significant yield losses. AgriTech, a modern farming approach, addresses this issue by leveraging research data on soil characteristics, types, and crop yield statistics to recommend the best crops and fertilizers based on location-specific conditions also considering the market trends. The application also allows disease detection based on image recognition. In this paper, we propose a recommendation system that leverages machine learning models to recommend suitable crops based on site-specific parameters with high accuracy and efficiency. The models used include Random Forest, Naive Bayes, Support Vector Machine (SVM), and Logistic Regression, with Random Forest serving as a key learner. The fertilizer recommendation system is developed using Python-based logic, where user-provided soil data is compared against optimal nutrient levels for crop growth. Based on discrepancies in nutrient levels (marked as HIGH or LOW), targeted fertilizer suggestions are provided to optimize crop yield along with optimum seed to be used for maximum yield.