Install
openclaw skills install searcher-osManage deal pipeline, search on-market deals, track brokers, run SBA loan calculations, manage tasks, and review CIM analyses in Searcher OS
openclaw skills install searcher-osManage the user's M&A deal pipeline, search for businesses on the market, track broker relationships, review inbound emails, run SBA loan calculations, manage deal tasks, and analyze CIM documents via the Searcher OS REST API.
Authentication is handled by the Searcher OS plugin. If you haven't signed in yet, run /searcheros-login. The user must have a Searcher OS account on the Searcher ($90/mo) or Deal Team ($244/mo) plan.
Base URL: https://searcheros.ai/api/agent
All tool calls use a single endpoint:
POST https://searcheros.ai/api/agent/invoke
Authorization: Bearer $SEARCHER_OS_API_KEY
Content-Type: application/json
{"tool": "<tool_name>", "params": {<params>}}
Responses:
{"ok": true, "result": {...}}{"ok": false, "error": {"code": "...", "message": "..."}}{"ok": true, "result": {"status": "pending_confirmation", "confirmationId": "...", "message": "...", "expiresAt": "..."}}Call GET https://searcheros.ai/api/agent/tools with the same Authorization header to get the live list of all available tools with their descriptions and parameter schemas. Use this to stay current as new tools are added.
At the start of every conversation, call get_context first. It returns the user's name, buy boxes, pipeline stage counts, and feed stats in a single call. Use this to:
stage? (interested|nda_signed|cim_review|conversations|loi_sent|due_diligence|closed|dead), search? (string), limit? (default 20, max 100), offset?opportunity_id (uuid, required)opportunity_id (uuid), new_stage (enum)opportunity_id (uuid), notes (string)opportunity_id (uuid), kill_reason (financial_discrepancy|deal_size_insufficient|concentration_risk|industry_mismatch|no_broker_response|overpriced|intuitive_rejection|competition|location|other), kill_notes?opportunity_id (uuid), is_starred? (boolean), deal_label? (green|yellow|red|null), next_action? (string|null, max 500), next_action_due? (ISO date string|null), priority? (0-10)opportunity_id (uuid), interaction_type (call|email_sent|email_received|meeting|note), subject? (max 300), notes? (max 5000), broker_id? (uuid, optional)keyword?, industry? (slug), states? (string[]), msas? (string[], metro areas), min_price?, max_price?, min_ebitda?, max_ebitda?, min_revenue?, max_revenue?, min_margin?, max_margin? (0-1), min_multiple?, max_multiple?, buy_box_id?, freshness_hours?, sort_by? (first_seen|asking_price|sde_ebitda|gross_revenue), sort_order? (asc|desc), limit? (default 20, max 50), offset?keyword?, industry_filter?, states? (string[]), buy_box_id?, freshness_hours?, price_dropped? (boolean), min_price?, max_price?, min_ebitda?, max_ebitda?, min_revenue?, max_revenue?staging_listing_id (uuid), private_notes?staging_listing_id (uuid)status? (unmatched|matched|ignored), limit?, offset?email_id (uuid)email_id (uuid), opportunity_id (uuid)email_id (uuid)search?, sort_by? (name|company|deal_count)broker_id (uuid)name (required), email?, phone?, company?broker_id (uuid), interaction_type (call|email_sent|email_received|meeting|note), subject?, notes?, opportunity_id?opportunity_id (uuid)cim_id (uuid)query?asking_price (required), sde (required), down_payment_pct? (default 0.10), sba_rate? (default 0.105), sba_term_years? (default 10), seller_note_pct? (default 0), seller_note_rate? (default 0.06), seller_note_term_years? (default 5), buyer_compensation? (default 0), working_capital? (default 0), include_working_capital_in_loan? (default true)opportunity_id? (uuid, filter to single deal), stage? (pipeline stage filter), include_completed? (default false), limit? (default 50, max 100), offset?task_id (uuid, required), completed? (boolean), title? (manual tasks only, max 500), priority? (1=High, 2=Medium, 3=Normal, manual tasks only), due_date? (YYYY-MM-DD|null)Write operations may return "status": "pending_confirmation". Use these tools to manage:
confirmation_id (uuid)confirmation_id (uuid), decision (approved|denied)Some tools (marked "Needs confirmation") require user approval before executing:
pipeline_move_stage)"status": "pending_confirmation" — tell the user it needs their approvalconfirmation_resolve with {"confirmation_id": "<id>", "decision": "approved"}100 requests per minute per API key. On 429 responses, check the Retry-After header.