[← Back to tools]
perplexity.reason

Reason with Perplexity: pay per use, no API key

Use Perplexity from Claude, Claude Code, Cursor, ChatGPT, and other agents through one Cralo balance.

Analyze a complex question with Perplexity's medium Agent API preset, web grounding, and citations.

Price and execution

Price
$0.20
Pricing model
Fixed price per successful call
Execution class
fast

Limits

No additional limits are published for this tool.

Parameters

Fields perplexity.reason accepts as JSON input.

  • messagesarray of objectRequired

    Conversation messages containing the question or task; include at least one user message.

    • role"system" | "user" | "assistant"Required

      Conversation role for this message.

    • contentstringRequired

      Text content for this conversation message.

  • search_context_size"low" | "medium" | "high"Optional

    Amount of web-search context supplied to the answer model.

  • search_domain_filterarray of stringOptional

    Only search these domains; prefix a domain with `-` to exclude it when supported.

  • search_recency_filter"hour" | "day" | "week" | "month" | "year"Optional

    Only use web sources published within this recent time window.

Raw input JSON Schema
{
  "type": "object",
  "required": [
    "messages"
  ],
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "properties": {
          "role": {
            "enum": [
              "system",
              "user",
              "assistant"
            ],
            "type": "string",
            "description": "Conversation role for this message."
          },
          "content": {
            "type": "string",
            "maxLength": 8000,
            "minLength": 1,
            "description": "Text content for this conversation message."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 12,
      "minItems": 1,
      "description": "Conversation messages containing the question or task; include at least one user message."
    },
    "search_context_size": {
      "enum": [
        "low",
        "medium",
        "high"
      ],
      "type": "string",
      "description": "Amount of web-search context supplied to the answer model."
    },
    "search_domain_filter": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "maxItems": 10,
      "uniqueItems": true,
      "description": "Only search these domains; prefix a domain with `-` to exclude it when supported."
    },
    "search_recency_filter": {
      "enum": [
        "hour",
        "day",
        "week",
        "month",
        "year"
      ],
      "type": "string",
      "description": "Only use web sources published within this recent time window."
    }
  },
  "additionalProperties": false
}

Returns

Fields a successful perplexity.reason call returns.

  • modelstring | nullRequired
  • answerstringRequired
  • cost_usdnumber | nullRequired
  • citationsarray of objectRequired
    • urlstring (uri)Required
    • titlestring | nullRequired
  • request_idstringRequired
  • retrieved_atstring (date-time)Required
Raw output JSON Schema
{
  "type": "object",
  "required": [
    "answer",
    "citations",
    "request_id",
    "model",
    "cost_usd",
    "retrieved_at"
  ],
  "properties": {
    "model": {
      "type": [
        "string",
        "null"
      ]
    },
    "answer": {
      "type": "string"
    },
    "cost_usd": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0
    },
    "citations": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "request_id": {
      "type": "string"
    },
    "retrieved_at": {
      "type": "string",
      "format": "date-time"
    }
  },
  "additionalProperties": false
}

Run this tool

Copy this instruction to your agent to set up Cralo and call this tool with the example input.

Set up Cralo by following https://cralo.ai/SKILL.md, then call the perplexity.reason tool with this input: {"messages":[{"role":"user","content":"Which is larger, 17 squared or 18 times 16?"}],"search_context_size":"low"}

Safety notes

Side Effect
read_only
Public Sources Only
Yes
Open World
Yes

How this compares to using Perplexity directly

You do not need a separate Perplexity account or subscription for this call. Cralo uses one prepaid balance across all tools and shows the per-call price before you run the command.

Related tools

[Browse all tools]