# Save this as app.py and run: python app.py # Requirements: pip install flask pytrends pandas from flask import Flask, request, render_template_string, jsonify from pytrends.request import TrendReq app = Flask(__name__) pytrends = TrendReq(hl='en-US', tz=330) # HTML Template HTML_TEMPLATE = """
Waiting for input...""" @app.route('/') def home(): return render_template_string(HTML_TEMPLATE) @app.route('/search') def search_keyword(): keyword = request.args.get('q') if not keyword: return jsonify({"error": "No keyword provided"}) try: pytrends.build_payload([keyword], timeframe='today 12-m', geo='IN') interest = pytrends.interest_over_time() related = pytrends.related_queries()[keyword]['top'] interest_dict = interest[keyword].to_dict() if not interest.empty else {} related_dict = related.to_dict() if related is not None else {} return jsonify({ "keyword": keyword, "interest_over_time": interest_dict, "related_keywords": related_dict }) except Exception as e: return jsonify({"error": str(e)}) if __name__ == '__main__': app.run(debug=True)