Spaces:
Sleeping
Sleeping
File size: 2,215 Bytes
d7b3d84 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | """
Simple Search API Example
This example shows how to use the Browser Use API to search and extract
content from multiple websites based on a query.
Usage:
# Copy this function and customize the parameters
result = await simple_search("your search query", max_websites=5, depth=2)
"""
import asyncio
import os
import aiohttp
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
async def simple_search(query: str, max_websites: int = 5, depth: int = 2):
# Validate API key exists
api_key = os.getenv('BROWSER_USE_API_KEY')
if not api_key:
print('❌ Error: BROWSER_USE_API_KEY environment variable is not set.')
print('Please set your API key: export BROWSER_USE_API_KEY="your_api_key_here"')
return None
payload = {'query': query, 'max_websites': max_websites, 'depth': depth}
headers = {'Authorization': f'Bearer {api_key}', 'Content-Type': 'application/json'}
print('Testing Simple Search API...')
print(f'Query: {query}')
print(f'Max websites: {max_websites}')
print(f'Depth: {depth}')
print('-' * 50)
try:
async with aiohttp.ClientSession() as session:
async with session.post(
'https://api.browser-use.com/api/v1/simple-search',
json=payload,
headers=headers,
timeout=aiohttp.ClientTimeout(total=300),
) as response:
if response.status == 200:
result = await response.json()
print('✅ Success!')
print(f'Results: {len(result.get("results", []))} websites processed')
for i, item in enumerate(result.get('results', [])[:2], 1):
print(f'\n{i}. {item.get("url", "N/A")}')
content = item.get('content', '')
print(f' Content: {content}')
return result
else:
error_text = await response.text()
print(f'❌ Error {response.status}: {error_text}')
return None
except Exception as e:
print(f'❌ Exception: {str(e)}')
return None
if __name__ == '__main__':
# Example 1: Basic search
asyncio.run(simple_search('latest AI news'))
# Example 2: Custom parameters
# asyncio.run(simple_search("python web scraping", max_websites=3, depth=3))
# Example 3: Research query
# asyncio.run(simple_search("climate change solutions 2024", max_websites=7, depth=2))
|