Search agent
Retrieves source documents from Messari’s research and news corpus. Returns the documents, not an answer.
Compute agent
Turns a question into SQL over Messari’s quantitative datasets and returns the executed query and its rows.
Which agent to call
Ask one thing per call. Several focused calls beat one loaded query.
Search responses
sources holds the retrieved documents. Each carries a domain (research, news,
external_news, diligence, governance, twitter, video_transcript and others), a
title, a url, the document content, and published_at where the domain carries a date.
There is no synthesized answer and no citation numbering. Cite the title and url of every
document you use, and state no fact the documents do not support.
error is set only when a run finds no usable document, and explains why.
Compute responses
results holds each query the agent ran. query is the executed SQL, query_result holds
the rows JSON-encoded as an array of arrays, and columns names each position in those rows,
which are otherwise unlabelled. truncated reports that the row cap was reached, so more rows
may match. query_error explains why an individual query returned nothing.
error is set only when a run produces no usable result.
Authorization
These endpoints require an authenticated Enterprise user whose team holds theai_toolkit_permission API permission, shown as Messari AI API in team settings. A caller
without it receives 403. Refer to our Authentication docs
for creating an API key.
Rate limits
Each endpoint allows 30 requests per minute per user, counted in its own bucket — Search traffic does not consume Compute’s allowance. Exceeding a bucket returns429.

