# AIsa Scholar Search Explain

> AIsa Scholar Search Explain is a paid API for AI agents from AIsa MPP Data APIs at api.aisa.one, paid per call via MPP, $0.01/call, status unknown (last checked 2026-10-18).

Generates a natural-language explanation of an existing scholar search result set, given a prior search ID.

## Facts

- Endpoint: POST https://api.aisa.one/apis/v1/scholar/search/explain?utm_source=zero.xyz
- Price: $0.01/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Provider: AIsa MPP Data APIs
- Website: https://aisa.one
- Tags: web-search, financial-data, prediction-markets, weather, travel, data, search
- Canonical page: https://www.zero.xyz/c/aisa-mpp-data-apis-aisa-scholar-search-explain-92aeb273
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TrpYcbpWY0CN917Gbr4lr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aisa-mpp-data-apis-aisa-scholar-search-explain-92aeb273 -d '<json body>'
```

Example prompt: I just ran a scholar search and got back search ID 'abc123' — can you give me a detailed explanation of those results in English using non-streaming mode?

## When to prefer this

Use this endpoint after you have already fetched results from post_scholar_search_web, post_scholar_search_scholar, or post_scholar_search_mixed and want a readable natural-language explanation rather than raw results. Always set response_mode to NON_STREAMING to receive a compact ~2 KB JSON response. Prefer this over re-running a search when you need an explanation of an existing result set.

## Known failure modes

- Invalid or expired search_id returns an error — the search must have been fetched recently and the ID must be valid
- Using COMPLETE or INCREMENTAL response_mode causes server-sent event streaming that cannot be consumed by tool calls and inflates payload size ~90x (177 KB vs 2 KB)
- Unsupported language code may result in fallback to English or an error
- Missing required search_id field returns a validation error
- Requesting explanation for a search that belongs to a different session or account returns an authorization error

## How this service works

Explain a result set you already fetched. Unlike the three search endpoints this one takes a **JSON body**: `search_id` (required — the `id` returned by `post_scholar_search_web`, `post_scholar_search_scholar` or `post_scholar_search_mixed`), plus `detail_level` (BRIEF / MODERATE / DETAILED), `language`, and `response_mode`. ⚠️ Use `response_mode: NON_STREAMING`. It returns `{"message": "…"}` as JSON, measured at about 2 KB. The COMPLETE and INCREMENTAL modes emit server-sent events in which **each event repeats the whole answer so far** — the identical explanation measured 177 KB that way, roughly 90 times larger, and a tool call cannot consume a stream incrementally anyway. It only ever explains an existing search; it cannot run one.

<!-- aisa-pricing:start -->
Published reference price: $0.01 USD per successful request. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Output

A JSON object with a single 'message' field containing a natural-language explanation of the previously fetched search results. Approximately 2 KB when using NON_STREAMING mode. The explanation reflects the requested detail level (BRIEF, MODERATE, or DETAILED) and language.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "search_id"
 ],
 "properties": {
  "language": {
   "type": "string",
   "default": "en",
   "example": "ar",
   "description": "Language code for the explanation (e.g., en, zh, ar)"
  },
  "search_id": {
   "type": "string",
   "description": "ID of the search to explain"
  },
  "detail_level": {
   "enum": [
    "BRIEF",
    "MODERATE",
    "DETAILED"
   ],
   "type": "string",
   "default": "MODERATE",
   "description": "Level of detail in the explanation"
  },
  "response_mode": {
   "enum": [
    "COMPLETE",
    "INCREMENTAL",
    "NON_STREAMING"
   ],
   "type": "string",
   "default": "NON_STREAMING",
   "description": "Format of the explanation response. COMPLETE and INCREMENTAL stream server-sent events; NON_STREAMING returns a JSON response."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "message"
 ],
 "properties": {
  "message": {
   "type": "string",
   "description": "Generated explanation text."
  }
 },
 "description": "JSON explanation response returned when response_mode is NON_STREAMING."
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aisa-mpp-data-apis-aisa-scholar-search-explain-92aeb273/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.aisa.one](https://www.zero.xyz/host/api.aisa.one/llms.txt)
