Provided by Exa
Deep Reasoning Retrieval by Meaning
Multi-step neural retrieval with an added reasoning pass via Exa's deep-reasoning mode: the request is expanded, the page index is searched in several passes, and the pages are re-judged before the strongest are returned, each with title, link, published date and author. Up to five extra query variations, the same category, domain and date filters, and text or highlights per hit. One request per call, up to 10 pages; the slowest and dearest mode.
How to run it
Step 1Set up
Once: paste this into your agent's chat. The Skill installs the CLI and logs in by itself. For an agent that cannot use a shell, connect it over MCP instead.
set up https://glasser.ai/SKILL.md
Show me how to use the Exa endpoint /search?type=deep-reasoning on Glasser.glasser run -p exa -e '/search?type=deep-reasoning' -i '{"query":"startups building solid-state batteries for grid storage","numResults":10,"additionalQueries":["solid-state battery grid storage companies"]}' --endpoint-version 1Uses endpoint version 1. Inspect the current price before running. Install and log in first on Get Started.
Once per Run:
IDEMPOTENCY_KEY=$(uuidgen)Run it, and copy this same block to send it again:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"exa","endpoint":"/search?type=deep-reasoning","input":{"query":"startups building solid-state batteries for grid storage","numResults":10,"additionalQueries":["solid-state battery grid storage companies"]},"endpoint_version":1}'Reuse the same Idempotency-Key to send it again: the second send is a read of the first Run. A new key is a new Run and a new Charge. Uses endpoint version 1; inspect the current price before running.
Step 2Try a specific example task
When you need to research a question, you might search for relevant sources and review which results are worth reading more closely.
Copy this prompt into your agent to find sources for your research question.
Use exa:/search?type=deep-reasoning on Glasser.
Search for sources about my research question and explain which returned results are relevant.Endpoint structure
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"category": {
"enum": [
"company",
"publication",
"news",
"personal site",
"financial report",
"people"
],
"type": "string"
},
"contents": {
"type": "object",
"properties": {
"text": {
"type": "object",
"properties": {
"maxCharacters": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"additionalProperties": false
},
"highlights": {
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"maxCharacters": {
"type": "integer",
"maximum": 10000,
"minimum": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"numResults": {
"type": "integer",
"maximum": 10,
"minimum": 1
},
"excludeDomains": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?=.*\\.)(\\*\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)*(\\/[^\\s]*)?$",
"maxLength": 253,
"minLength": 4
},
"maxItems": 50,
"minItems": 1
},
"includeDomains": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?=.*\\.)(\\*\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)*(\\/[^\\s]*)?$",
"maxLength": 253,
"minLength": 4
},
"maxItems": 50,
"minItems": 1
},
"endPublishedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$"
},
"additionalQueries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"maxItems": 5,
"minItems": 1
},
"startPublishedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$"
}
},
"additionalProperties": false
}{
"query": "startups building solid-state batteries for grid storage",
"numResults": 10,
"additionalQueries": [
"solid-state battery grid storage companies"
]
}This Endpoint publishes no output schema. You get the Provider's own response body, unchanged — we do not warrant a shape we cannot guarantee.
How pricing works
| Data returned | Charged only when data is returned. | $0.0165 |
|---|---|---|
| Provider error | The Provider failed to answer. | $0.00 |
| Timed out | The Run exceeded its time limit. | $0.00 |
| Internal failure | An internal error prevented completion. | $0.00 |