Cofounder CLI

Research

Search and read the web for customer and market evidence, or run a longer research job in the background.

Research answers questions from published sources. Use a quick lookup when you need a few sources now, and a research job when the question needs real digging.

Quick lookups

MCPCLIAPI
research_searchcofounder research search --objective <question>POST /cofounder-cli/v1/research/search
research_extractcofounder research extract --objective <question> --url <url>POST /cofounder-cli/v1/research/extract

Both cost credits on every call. search takes your question as --objective, plus optional --query search terms, and returns source links, excerpts, and dates. extract reads up to ten pages (repeat --url) and pulls out the passages that answer your question. It reports any page it couldn't read, so a partial result isn't the whole picture. Keep in mind that what people publish doesn't prove they'll buy your product.

Research jobs

MCPCLIAPI
research_startcofounder research start --query <question> --max-cost-usd <usd>POST /cofounder-cli/v1/research/jobs
research_jobs_listcofounder research jobs listGET /cofounder-cli/v1/research/jobs
research_jobs_getcofounder research jobs get --job-id <id>GET /cofounder-cli/v1/research/jobs/{job_id}
research_jobs_results_getcofounder research jobs results get --job-id <id>GET /cofounder-cli/v1/research/jobs/{job_id}/results
research_jobs_cancelcofounder research jobs cancel --job-id <id>POST /cofounder-cli/v1/research/jobs/{job_id}/cancel
cofounder research start --query "How do dental clinics book new patients?" \
  --max-cost-usd 20 --title "Dental booking"
cofounder research jobs get --job-id <job-id>
cofounder research jobs results get --job-id <job-id>

start spends up to --max-cost-usd and returns a job id right away; the research runs in the background. --effort thorough digs deeper and costs more to start. To get results in a shape you choose instead of a written report, pass a JSON Schema as --output-schema. Its root must be an object that lists every property as required and sets additionalProperties to false; length, count, and range limits aren't supported.

Check on a job with jobs get: it shows status, progress, and cost so far. Once it's completed, jobs results get returns the report or structured output and the sources behind it. jobs list shows research, enrichment, and prospect-search jobs; filter with --kind and --status.

cancel stops the job. A cancelled or failed research job isn't charged; a prospect search in enumerate mode keeps what it has already spent. Pass your own --idempotency-key to start: if the response gets lost, run it again with the same key and question and you won't start a second job.

Prospect searches from the CRM are research jobs too, and their results are the candidates you import.