Speedofmastery's picture
Merge Landrun + Browser-Use + Chromium with AI agent support (without binary files)
d7b3d84
"""
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))