import requests from typing import List, Dict def bing_search(query: str, api_key: str, count: int = 3) -> List[Dict]: """ Perform a Bing Web Search using the Bing Search API. Parameters ---------- query : str The search query string. api_key : str Bing Search API key. count : int, optional Number of results to return (default is 3). Returns ------- List[Dict] A list of dictionaries containing 'name', 'url', and 'snippet' for each result. """ endpoint = "https://api.bing.microsoft.com/v7.0/search" headers = {"Ocp-Apim-Subscription-Key": api_key} params = {"q": query, "count": count} response = requests.get(endpoint, headers=headers, params=params, timeout=10) response.raise_for_status() data = response.json() results = [] for item in data.get("webPages", {}).get("value", []): results.append( { "name": item.get("name"), "url": item.get("url"), "snippet": item.get("snippet"), } ) return results