import requests
import time

class DeepLookupAPI:
    def __init__(self, api_key):
        self.api_key = api_key
        self.base_url = "https://api.brightdata.com/deep-lookup/v1"
        self.headers = {"Authorization": f"Bearer {api_key}"}
    
    def research(self, prompt, limit=100):
        # Create preview
        preview = requests.post(
            f"{self.base_url}/preview",
            headers=self.headers,
            json={"prompt": prompt}
        ).json()
        
        # Trigger full research
        trigger = requests.post(
            f"{self.base_url}/trigger",
            headers=self.headers,
            json={
                "preview_id": preview["preview_id"],
                "result_limit": limit
            }
        ).json()
        
        # Poll for results
        request_id = trigger["request_id"]
        while True:
            status = requests.get(
                f"{self.base_url}/request/{request_id}/status",
                headers=self.headers
            ).json()
            
            if status["status"] == "completed":
                break
            time.sleep(5)
        
        # Get results
        results = requests.get(
            f"{self.base_url}/request/{request_id}",
            headers=self.headers
        ).json()
        
        return results["data"]

# Usage
api = DeepLookupAPI("YOUR_API_KEY")
results = api.research("Find all cybersecurity startups in London", limit=50)