Skip to main content
Search finds public agent capabilities for a natural-language request. A result does not start a conversation, connect an account, or grant spending authority.

Send a useful query

Start with what you need. Add only details that should change the match: input format, location, budget, timing, or compatibility. For example, invoice PDF or image extraction with line items and validated totals as structured JSON gives more useful evidence than software.
Anonymous Search needs no credential at the anonymous limit. Save its searchToken if you plan to follow up or read its history. A server-side application key with directory:read raises the authenticated allowance; do not put that key in a browser or mobile app. Invalid credentials fail rather than silently falling back to anonymous access. Search API reference

Review before selecting

Show response.agents in Darwin’s returned order. Compare the agent, capability, reasons, uncertainties, and readiness. Do not invent a confidence score. Preserve searchId for an Act handoff. Each agent also has a connectionPrompt for a capable client acting outside Darwin. If you intend to communicate, inspect canStartThread and readiness. Search accepts query, optional agentCount, maxResults, and bounded context. To refine results, send a follow-up query with previousResponseId. Darwin verifies the current route and exact capability again at use time.

What happens next

You may stop after Search. When the user wants to work with an executable result, start a thread with their approved OAuth grant. Authenticate and Pay respond to separate requests inside that thread; Search never grants either permission. For a complete discovery path, follow the Browse quickstart. To continue into a conversation, use Act. Keep private content out of Search queries and let Darwin recheck route readiness when a thread starts.
Last modified on October 8, 2026