Overview
Exa for Sheets is a Google Apps Script integration that enables you to:- Run semantic web searches directly from spreadsheet cells
- Generate AI-powered answers with web citations
- Retrieve and parse web content at scale
- Find similar pages to reference URLs
- Automate research and data collection workflows
Installation
1
Open Google Sheets
Navigate to Google Sheets and open a new or existing spreadsheet.
2
Install Exa AI Add-on
- Go directly to the Exa AI add-on in the Google Workspace Marketplace
- Click Install and grant the necessary permissions
- Click Extensions → Add-ons → Get add-ons in the menu bar
- 
Search for “Exa AI” in the Google Workspace Marketplace
 
3
Configure Your API Key
- After installation, you’ll see a new Exa AI menu in Google Sheets
- Click Extensions → Exa AI → Open Sidebar
- Get your API key from dashboard.exa.ai
- Paste your API key in the sidebar and click Save Key
4
Start Using Exa Functions
You’re all set! Start using Exa functions like 
=EXA_SEARCH(), =EXA_ANSWER(), and more in your spreadsheet cells.Using Exa in Sheets
EXA_SEARCH - Search the Web
Search the web and return URLs:- query(required, string): Your search query
- numResults(optional, number): Number of results to return (1-10, default: 1)
- searchType(optional, string): “auto”, “neural”, “keyword”, or “fast” (default: “auto”)
- prefix(optional, string): Text to prepend to the query
- suffix(optional, string): Text to append to the query
EXA_ANSWER - Generate AI Answers
Generate AI-powered answers based on web search results:- prompt(required, string): The main question or prompt
- prefix(optional, string): Text to prepend to the prompt
- suffix(optional, string): Text to append to the prompt
- includeCitations(optional, boolean): If TRUE, includes source citations (default: FALSE)
EXA_CONTENTS - Extract Content
Extract text content from a specified URL:- url(required, string): Full URL starting with http/https
EXA_FINDSIMILAR - Find Similar Pages
Find URLs similar to a reference URL:- url(required, string): Reference URL to find similar content
- numResults(optional, number): Number of results (1-10, default: 1)
- includeDomainsStr(optional, string): Comma-separated domains to include
- excludeDomainsStr(optional, string): Comma-separated domains to exclude
- includeTextStr(optional, string): Phrase that must appear in results
- excludeTextStr(optional, string): Phrase that must not appear in results
Example Use Cases
Market Research
Automatically gather competitor information and industry trends:Content Curation
Build reading lists and curate relevant articles:Research Automation
Get AI-powered answers with citations for research:Available Functions Reference
| Function | Description | Returns | 
|---|---|---|
| =EXA_SEARCH(query, [numResults], [searchType], [prefix], [suffix]) | Search the web semantically | Array of URLs | 
| =EXA_ANSWER(prompt, [prefix], [suffix], [includeCitations]) | Generate AI-powered answers | Answer text | 
| =EXA_CONTENTS(url) | Extract content from URL | Text content | 
| =EXA_FINDSIMILAR(url, [numResults], [includeDomains], [excludeDomains], [includeText], [excludeText]) | Find similar pages | Array of URLs | 
Sidebar Features
The Exa for Sheets sidebar provides additional functionality:API Key Management
- Save and manage your Exa API key securely
- Keys are stored in your Google account using UserProperties
- View masked key display (first 4 + last 4 characters)
- Remove keys when needed
Batch Operations
- Refresh Selected Cells: Update multiple Exa function results at once
- Select a range of cells containing Exa functions
- Click “Refresh Selected Cells” to re-execute all functions
- Automatically handles spilled array values
Built-in Documentation
- Quick reference for all available functions
- Parameter descriptions and types
- Function signatures with examples
Tips and Best Practices
Array Formulas: 
EXA_SEARCH and EXA_FINDSIMILAR return arrays that automatically spill into cells below. Make sure you have empty cells below your formula to avoid #SPILL! errors.Batch Refresh: Use the sidebar’s batch refresh feature to update multiple cells at once instead of manually editing each formula.
Rate Limits: Be mindful of your API rate limits when running large batch operations. Each function call counts as one API request.
Search Types: Use “neural” for semantic similarity, “keyword” for exact matches, “fast” for quick keyword-based searches, or “auto” to let Exa choose the best approach automatically.
Dynamic Queries with Concatenation
Build powerful dynamic queries by combining cell references with text using the& operator or CONCAT() function:
Basic Concatenation
Combine text and cell values to create dynamic search queries:Multiple Cell References
Combine multiple cells to build complex queries:Using CONCAT for Cleaner Formulas
For longer queries, useCONCAT() for better readability:
Dynamic Prefixes and Suffixes
Use the prefix and suffix parameters with cell references:Conditional Queries
Combine withIF() statements for conditional searches:
Example Use Cases
Research Tracker:Privacy & Security
- API keys are stored securely using Google Apps Script’s UserProperties service
- Keys are only accessible to your Google account
- No data is stored outside your Google account and the Exa API
- Privacy Policy

