/** * Next.js API route: Web search proxy. * Calls SearXNG public instances and returns top results. * Endpoint: GET /api/search?q=your+query */ import { NextRequest, NextResponse } from "next/server"; import { searchWeb } from "@/lib/services/search-api"; export async function GET(request: NextRequest) { const query = request.nextUrl.searchParams.get("q"); if (!query || query.trim().length < 3) { return NextResponse.json({ results: [], error: "Query too short" }); } try { const results = await searchWeb(query); return NextResponse.json({ results }); } catch (error) { console.error("Search API error:", error); return NextResponse.json( { results: [], error: "Search failed" }, { status: 500 } ); } }