[← Back to tools]
exa.contents

Extract content with Exa: pay per use, no API key

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

Extract clean text, relevant highlights, or summaries from known web pages using Exa. Price is per URL.

Price and execution

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

Limits

No additional limits are published for this tool.

Parameters

Fields exa.contents accepts as JSON input.

  • mode"highlights" | "text" | "summary"Optional

    The form of content Exa should return for each page.

  • urlsarray of string (uri)Required

    Public page URLs whose content should be extracted.

  • querystringOptional

    Optional instructions used to focus highlights or summaries.

  • max_age_hoursintegerOptional

    Maximum cache age in hours. Use 0 for a live crawl or -1 for cache only.

  • max_charactersintegerOptional

    Maximum content characters returned for each page.

Raw input JSON Schema
{
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "mode": {
      "enum": [
        "highlights",
        "text",
        "summary"
      ],
      "type": "string",
      "default": "highlights",
      "description": "The form of content Exa should return for each page."
    },
    "urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri",
        "maxLength": 2048
      },
      "maxItems": 10,
      "minItems": 1,
      "uniqueItems": true,
      "description": "Public page URLs whose content should be extracted."
    },
    "query": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "description": "Optional instructions used to focus highlights or summaries."
    },
    "max_age_hours": {
      "type": "integer",
      "maximum": 8760,
      "minimum": -1,
      "description": "Maximum cache age in hours. Use 0 for a live crawl or -1 for cache only."
    },
    "max_characters": {
      "type": "integer",
      "maximum": 20000,
      "minimum": 100,
      "description": "Maximum content characters returned for each page."
    }
  },
  "additionalProperties": false
}

Returns

Fields a successful exa.contents call returns.

  • resultsarray of objectRequired
    • urlstring (uri)Required
    • textstring | nullRequired
    • titlestringRequired
    • authorstring | nullRequired
    • summarystring | nullRequired
    • highlightsarray of stringRequired
    • published_datestring | nullRequired
  • cost_usdnumber | nullRequired
  • request_idstringRequired
  • retrieved_atstring (date-time)Required
Raw output JSON Schema
{
  "type": "object",
  "required": [
    "results",
    "request_id",
    "cost_usd",
    "retrieved_at"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "url",
          "published_date",
          "author",
          "text",
          "summary",
          "highlights"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "text": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": [
              "string",
              "null"
            ]
          },
          "summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "published_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10
    },
    "cost_usd": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0
    },
    "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 exa.contents tool with this input: {"urls":["https://example.com"]}

Safety notes

Side Effect
read_only
Public Sources Only
Yes

How this compares to using Exa directly

You do not need a separate Exa 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]