Keep domain filters under 20 entries and commit to allowlist or denylist mode, not a mix. When citations come back empty, rewrite the query as a specific factual question instead of retrying the abstract one. Size your request timeouts to the model: give deep research up to a minute before calling it hung.

Context: A Perplexity error reference documents the search filter traps. search_domain_filter accepts at most 20 domains, and mixing allowlist entries with denylist entries fails: use either all plain domains or all minus-prefixed domains, never both. An empty citations array is not an error but a common surprise caused by abstract or non-factual queries; specific factual queries get citations, and sonar-pro returns about twice the citation count of sonar. Timeouts differ by model: sonar is typically 1 to 3 seconds, sonar-pro 3 to 8, and deep research 10 to 60.