[← Back to tools]
exa.search

Exa Search: pay per use, no API key

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

Search the web using Exa. Returns relevant pages with titles, URLs, publication details, and highlighted passages. Price covers 10 results; extra results cost more (quoted from `num_results`, max 100).

Price and execution

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

Limits

No additional limits are published for this tool.

Parameters

Fields exa.search accepts as JSON input.

  • type"auto" | "keyword" | "neural" | "fast"Optional

    Search mode. auto picks the best mode for the query; keyword, neural, and fast use Exa's documented search types.

  • querystringRequired

    The natural-language web search query.

  • category"company" | "publication" | "news" | "personal site" | "financial report" | "people"Optional

    Optionally limit the search to a type of web content.

  • num_resultsintegerOptional

    The maximum number of results to return.

  • exclude_domainsarray of stringOptional

    Exclude results from these domains.

  • include_domainsarray of stringOptional

    Only return results from these domains.

  • end_published_datestring (date-time)Optional

    Only return content published on or before this time.

  • start_published_datestring (date-time)Optional

    Only return content published on or after this time.

  • max_highlight_charactersintegerOptional

    Maximum highlight characters returned for each result.

Raw input JSON Schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "type": {
      "enum": [
        "auto",
        "keyword",
        "neural",
        "fast"
      ],
      "type": "string",
      "default": "auto",
      "description": "Search mode. auto picks the best mode for the query; keyword, neural, and fast use Exa's documented search types."
    },
    "query": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "description": "The natural-language web search query."
    },
    "category": {
      "enum": [
        "company",
        "publication",
        "news",
        "personal site",
        "financial report",
        "people"
      ],
      "type": "string",
      "description": "Optionally limit the search to a type of web content."
    },
    "num_results": {
      "type": "integer",
      "default": 10,
      "maximum": 100,
      "minimum": 1,
      "description": "The maximum number of results to return."
    },
    "exclude_domains": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "maxItems": 10,
      "description": "Exclude results from these domains."
    },
    "include_domains": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 255,
        "minLength": 1
      },
      "maxItems": 10,
      "description": "Only return results from these domains."
    },
    "end_published_date": {
      "type": "string",
      "format": "date-time",
      "description": "Only return content published on or before this time."
    },
    "start_published_date": {
      "type": "string",
      "format": "date-time",
      "description": "Only return content published on or after this time."
    },
    "max_highlight_characters": {
      "type": "integer",
      "default": 1000,
      "maximum": 5000,
      "minimum": 100,
      "description": "Maximum highlight characters returned for each result."
    }
  },
  "additionalProperties": false
}

Returns

Fields a successful exa.search call returns.

  • querystringRequired
  • resultsarray of objectRequired
    • urlstring (uri)Required
    • titlestringRequired
    • authorstring | nullRequired
    • highlightsarray of stringRequired
    • published_datestring | nullRequired
  • cost_usdnumber | nullRequired
  • request_idstringRequired
  • retrieved_atstring (date-time)Required
Raw output JSON Schema
{
  "type": "object",
  "required": [
    "query",
    "results",
    "request_id",
    "cost_usd",
    "retrieved_at"
  ],
  "properties": {
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "url",
          "published_date",
          "author",
          "highlights"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": [
              "string",
              "null"
            ]
          },
          "highlights": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 5000
            }
          },
          "published_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "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.search tool with this input: {"query":"Cralo","num_results":1}

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]