Company research
Find and qualify companies against a brief you approve, with the evidence behind each one, billed in runs
Company research finds companies that match a brief you approve, qualifies each one and keeps the evidence. It covers company discovery, qualification and evidence; it does not find contacts or send anything. Runs bill from your plan and never use credits.
| Endpoints | /api/v1/agents with job: "find_prospects", /api/v1/agents/{id}/runs, /api/v1/runs/{id}/prospects, /api/v1/runs/{id}/policy, /api/v1/research/* |
| MCP tools | smore_create_agent, smore_update_agent, smore_run_agent, smore_get_run, smore_list_prospects, smore_cancel_run, smore_get_prospecting_policy, smore_update_prospecting_policy, and the research plan tools |
| Scopes | prospecting:read, prospecting:write, prospecting:start, prospecting:policy:write, research:read, research:write, research:approve, plus agents:* and runs:* |
| Billing | Runs from your plan |
Company research opens workspace by workspace. A workspace that is not open yet gets 403 pilot_disabled when it starts a run.
Create a company agent
curl -s https://app.makesmores.com/api/v1/agents \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Company research",
"job": "find_prospects",
"approved": true,
"researchBrief": {
"offer": "Positioning research",
"target_companies": ["Consumer app companies"]
}
}'
researchBrief takes offer, target_companies and, optionally, buying_signals and exclusions. A custom policy needs the separate prospecting:policy:write scope.
Run it and read the companies
A company run needs an explicit idempotency_key, and keeps the approved brief in a snapshot that later edits do not change.
curl -s -X POST "https://app.makesmores.com/api/v1/agents/$AGENT_ID/runs" \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"idempotency_key": "company-pilot-1"}'
curl -s "https://app.makesmores.com/api/v1/runs/$RUN_ID/prospects?limit=20&qualification=qualified" \
-H "Authorization: Bearer $SMORE_API_KEY"
Pages hold 1 to 100 companies, default 20, and use after with the last order you saw. Filter qualification by all, qualified, rejected or needs_review. Stop when a page is empty. GET /api/v1/runs/{id} adds a prospecting block with the run's progress.
Research plans
The research routes plan Reddit research for a question and return results, evidence and PDF files:
| Route | Scope | Does |
|---|---|---|
GET /api/v1/research/templates | research:read | Built-in plan templates |
POST /api/v1/research/proposals | research:write | Proposes a plan from a template or a custom brief. Nothing is saved or run |
POST /api/v1/research/sources/discover | research:write | Finds candidate subreddits with evidence |
GET, POST /api/v1/agents/{id}/research-plan | research:read, research:write | Reads or saves a plan version |
POST /api/v1/agents/{id}/research-plan/approve | research:approve | Approves one exact plan version |
GET /api/v1/runs/{id}/research-results, /research-evidence, /research-files | research:read | Results, evidence and file listings |
GET /api/v1/research/files/{id} | research:read | Downloads a PDF |
curl -s https://app.makesmores.com/api/v1/research/templates \
-H "Authorization: Bearer $SMORE_API_KEY"
See examples.