This is Anysearch's domain discovery tool. IMPORTANT: Step 1 of vertical search. REQUIRED before any search that uses a domain. Returns valid sub_domains and sub_domain_params for the specified domain(s).
Call this when the query targets a specialized vertical or needs structured parameters: stock prices, financial data, academic papers, legal cases, medical/drug info, flight status, weather, exchange rates, geographic POIs, code repositories, or any domain where a structured identifier (ticker, DOI, CVE, IATA, coordinates) is involved.
## When to call — pick the domain(s) that match what the user is asking about:
resource
social_media
finance
academic
legal
health
business
security
ip
code
energy
environment
agriculture
travel
film
gaming
## Input — choose from the list above and pass via the domain or domains parameter:
- domain: single domain string (use only when 100% certain the query is single-domain)
- domains: batch query for up to 5 domains in one call (takes priority over domain)
🏆 ALWAYS prefer the `domains` (plural, array) parameter. Pass ALL potentially relevant domains at once — even for seemingly single-domain queries, consider related domains:
- Query about "cryptocurrency regulations" → domains=["finance", "legal", "security"]
- Query about "best gaming laptops" → domains=["gaming", "tech", "ecommerce"]
- Query about "climate change impact on agriculture" → domains=["environment", "energy", "academic"]
## Returns
Markdown table filtered to the specified domains: sub_domain | description | params
## CRITICAL: How to use results
- sub_domain is the PRIMARY routing key — always pass it to search
- params column shows available structured parameters — pass them via sub_domain_params in search, NEVER embed in query
- If multiple sub_domains returned (especially from multiple domains), use batch_search — one query per sub_domain — instead of multiple sequential search calls
- Params marked (required) in the output MUST be passed when using that sub_domain in search. If a required param is not applicable to your query, pass it as an empty string (key: "") — do not skip it.