Recommendations

Turn existing visibility evidence into optional, prioritised next steps.

Overview

After a measurement, your assistant can offer a separate recommendation report using the returnedrequestId. It does not run automatically: request advice and approve the additional $0.03 cost first. It can also use a specific tracker run or caller-supplied results. No host conversation memory or website content is read.

Example

Ask your agent in plain English and it calls the tool for you:

# you say
Use the request ID from my last visibility check to recommend next steps. I agree to the additional report price.

The tool returns structured JSON to your agent (you never see this directly):

{
  "status": "complete",
  "source": "ai",
  "message": "Prioritised suggestions based on the supplied observations.",
  "recommendations": [
    {
      "id": "finding-1",
      "kind": "mention_gap",
      "priority": 1,
      "effort": "medium",
      "fact": "Acme CRM: 33.3% — 1 of 3 checked answers mentioned the brand.",
      "action": "Review whether your category page directly answers the measured buyer prompt. No page was inspected.",
      "suggestion": {
        "kind": "inferred",
        "text": "Draft a buyer FAQ answering the measured prompt with product claims and supporting documentation links. Check: Verify each claim against the linked documentation."
      },
      "evidence": [
        {
          "id": "your-previous-request-id",
          "kind": "measured",
          "measuredAt": "2026-09-23T10:00:00.000Z",
          "detail": "Brand mentioned in 1 of 3 complete checked answers."
        }
      ],
      "followUp": {
        "primitive": "rankings",
        "input": {
          "query": "best startup CRM",
          "competitors": [
            "Acme CRM"
          ]
        },
        "metric": "mention rate",
        "trackerDraft": {
          "name": "Track AI visibility",
          "primitive": "rankings",
          "prompts": [
            "best startup CRM"
          ],
          "competitors": [
            "Acme CRM"
          ],
          "models": [
            "chatgpt",
            "perplexity",
            "gemini"
          ]
        },
        "instruction": "Choose cadence and timezone before creating a draft. Activation requires separate approval. Movement does not prove causation."
      }
    }
  ],
  "metrics": [],
  "omittedEvidence": 0,
  "limitations": [
    "No page inspection. Suggestions are hypotheses, not discovered website defects."
  ],
  "requestId": "…",
  "billing": {
    "cost": {
      "microCredits": 3000,
      "usd": "0.03"
    },
    "balance": {
      "microCredits": 1336000,
      "usd": "13.36"
    }
  }
}

Your agent reads that JSON and answers you in plain English. That reply is written by your own AI; the JSON is just what it reasons over:

# your AI replies
The checked answers show a mention gap. A suggested next step is to review your relevant category page; Cite42 has not inspected it. You can later recheck the same prompt, but a change in the score would not prove causation.

Full input and output schema: POST /v1/recommendations. For AI-model tools, pass an optional models list to narrow which models run (see per-model pricing).