"Exa.ai deep research and answer generation with citations. Use when building research automation, implementing Answer API for Q&A with sources, creating research reports, or using deep search with summaries. Triggers on: Exa Answer, answer endpoint, exa.answer, deep search, research API, Exa Research, async research, research report, citation extraction, summarization with sources, fact verification, streaming answers, research tasks."
Resources
1Install
npx skillscat add ejirocodes/agent-skills/exa-research Install via the SkillsCat registry.
SKILL.md
Exa Research & Answer API
Quick Reference
| Topic | When to Use | Reference |
|---|---|---|
| Answer API | Q&A with citations, grounded responses | answer-api.md |
| Deep Search | Smart query expansion, high-quality summaries | deep-search.md |
| Citations | Source attribution, verification | citations.md |
Essential Patterns
Answer API (Python)
from exa_py import Exa
exa = Exa()
response = exa.answer(
"What are the key features of Python 3.12?",
text=True
)
print(response.answer)
for citation in response.citations:
print(f"Source: {citation.url}")Streaming Answers
stream = exa.answer(
"Explain the benefits of microservices architecture",
stream=True
)
for chunk in stream:
print(chunk.text, end="", flush=True)
# Access citations after streaming
print("\nSources:", stream.citations)Deep Search with Summaries
results = exa.search_and_contents(
"latest developments in quantum computing",
type="neural",
num_results=10,
summary=True,
use_autoprompt=True # Smart query expansion
)
for result in results.results:
print(f"{result.title}")
print(f"Summary: {result.summary}")When to Use
| Feature | Use Case | Output |
|---|---|---|
| Answer API | Direct Q&A needing citations | Answer + source URLs |
| Deep Search | Query expansion + summaries | Enhanced search results |
| Exa Research | Long-form async reports | Structured JSON/Markdown |
Common Mistakes
- Not using streaming for long answers - Use
stream=Truefor better UX on complex questions - Ignoring citations - Always include
response.citationsfor verifiable responses - Missing
text=True- Answer API needs content access; includetext=True - Over-complex queries - Answer API works best with clear, focused questions
- Not validating citations - Check
citation.urlexists before displaying to users