from fastapi import FastAPI, Query from fastapi.middleware.cors import CORSMiddleware from duckduckgo_search import DDGS import uvicorn app = FastAPI() # Enable CORS for all origins (fixes CORS issues) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.get("/") def home(): return {"message": "DuckDuckGo Search API is running!"} @app.get("/search") def search(query: str = Query(..., title="Search Query"), max_results: int = 10): """ DuckDuckGo Search API - Returns top search results. """ with DDGS() as ddgs: results = list(ddgs.text(query, max_results=max_results)) return {"query": query, "results": results} # Ensure the API runs properly if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=7860)