Overview
SheetXAI integrates with EXA, a powerful web scraping engine that enables you to scrape web pages and LinkedIn profiles directly in your spreadsheets. This integration is perfect for lead research, personalized outreach, and extracting data from websites that are difficult to scrape with standard methods.
Key Information
What is EXA?
EXA is a professional web scraping service used by many AI companies. It specializes in:
- Web page scraping: Extract content from any accessible webpage
- LinkedIn profile scraping: One of the few services that can reliably scrape LinkedIn profiles
- Cost-effective: Only $1 per 1,000 web pages scraped
Why Use EXA Instead of Standard Scraping?
While SheetXAI has built-in scraping capabilities, EXA offers:
- LinkedIn Support: EXA can scrape LinkedIn profiles, which is challenging for most scrapers
- Reliability: More consistent results for complex websites
- Professional-grade: Used by major AI companies for web data extraction
Note: The
#SAIformat automatically transforms to formulas every 5 seconds when the chat panel is open. You can also use formulas directly (=SAI("!EXASCRAPE", A2)in Google Sheets or=SHEETXAI.SAI(...)in Excel) if you prefer.
Setting Up EXA Integration
Step 1: Get Your EXA API Key
- Go to exa.ai
- Sign up or log in to your account
- Navigate to your API settings
- Copy your EXA API key
Step 2: Configure EXA in SheetXAI Settings
- Open SheetXAI in your spreadsheet
- Click Settings in the SheetXAI sidebar
- In the search box, type "EXA"
- Click on the Misc tab
- Paste your EXA API key in the provided field
- Set Live Crawling option to "Fallback" (recommended)
- Click Save
- Click Confirm Settings
Your EXA integration is now ready to use!
How to Use EXA Scraping
Basic Syntax
Use the !EXASCRAPE prefix in your SAI commands:
Basic Format:
#sai !EXASCRAPE #A
Where #A contains the URL you want to scrape.
Understanding the Command
Let's break down the command:
#sai- The SAI command format (auto-transforms to formulas)!EXASCRAPE- Calls the EXA scraping function#A- References the current row in column A (where your URL is located)
Important: The exclamation mark (
!) is required. It tells SheetXAI to use a specific function. Just like!CONTENT,!URL,!VIDEO, etc.,!EXASCRAPEis a special command prefix.
Real-World Use Case: LinkedIn Outreach Automation
One of the most powerful use cases for EXA is automating personalized LinkedIn outreach. Here's a complete workflow:
Step 1: Prepare Your LinkedIn URLs
- Collect LinkedIn profile URLs you want to reach out to
- Paste them in Column A (one URL per row)
Step 2: Scrape LinkedIn Profiles
In Column B, enter:
#sai !EXASCRAPE #A
This will scrape the full LinkedIn profile content from each URL in Column A.
Note: Learn more about using SAI formulas and the
#SAIformat.
What You'll Get:
- Full LinkedIn profile text
- Professional background
- Experience and expertise
- Skills and achievements
- Any other public profile information
Step 3: Generate Personalized Messages
In Column C, enter:
#sai write a short LinkedIn connection message for #B
This uses the scraped LinkedIn data from Column B to create a personalized connection message. Learn more about using SAI formulas for content generation.
Pro Tip: Add more context to improve personalization:
#sai write a short LinkedIn connection message for #B. My company [your company name] offers [your service/product]. We help [target audience] with [key benefit].
You can also use the Add Context feature to provide additional information to improve message quality.
Example Enhanced Prompt:
#sai write a short LinkedIn connection message for #B. I have a SaaS that helps Google Sheets users easily send personalized emails. We're trying to connect with professionals who do outbound lead generation.
Complete Workflow Example
Spreadsheet Setup:
- Column A: LinkedIn profile URLs
- Column B:
#sai !EXASCRAPE #A(scrapes profiles) - Column C:
#sai write a short LinkedIn connection message for #B(generates personalized messages)
Result:
- All LinkedIn profiles are scraped automatically
- Personalized connection messages are generated based on each person's actual profile
- Much better than generic "I'd like to add you to my professional network" messages
Learn more: See our guide on generating personalized content at scale for more examples.
Other Use Cases
Competitor Research
Workflow:
- Column A: Competitor website URLs
- Column B:
#sai !EXASCRAPE #A(scrapes competitor pages) - Column C:
#sai analyze this competitor's pricing strategy #B(uses SAI formulas for analysis) - Column D:
#sai identify key features mentioned #B
Lead Enrichment
Workflow:
- Column A: Company website URLs
- Column B:
#sai !EXASCRAPE #A(scrapes company pages) - Column C:
#sai extract company size, industry, and key services #B(uses SAI formulas for data extraction) - Column D:
#sai identify decision makers and their roles #B
Content Research
Workflow:
- Column A: Article/blog URLs
- Column B:
#sai !EXASCRAPE #A(scrapes article content) - Column C:
#sai summarize key points from this article #B(uses SAI formulas for summarization) - Column D:
#sai identify main topics and keywords #B
Product Research
Workflow:
- Column A: Product page URLs
- Column B:
#sai !EXASCRAPE #A(scrapes product pages) - Column C:
#sai extract product features and pricing #B - Column D:
#sai compare this product with similar offerings #B
Using EXA in Custom Commands
EXA scraping can be integrated into Custom Commands to create powerful automated workflows:
Example Custom Command Setup:
- Create a custom command called LINKEDINOUTREACH
- Set the system prompt to include EXA scraping
- Use
!EXASCRAPEwithin your custom command - Chain multiple AI actions together
This allows you to:
- Scrape data from the web using EXA
- Write personalized emails, messages, or blog posts
- Generate custom videos or images
- Combine multiple AI actions seamlessly
Cost Information
Pricing:
- $1 per 1,000 web pages scraped
- Very cost-effective for bulk operations
- Example: Scraping 1,000 LinkedIn profiles costs only $1
Cost Calculation:
- 100 profiles = $0.10
- 500 profiles = $0.50
- 1,000 profiles = $1.00
- 10,000 profiles = $10.00
Best Practices
For LinkedIn Scraping
- Add Context: When generating personalized messages, include information about your company and what you're offering
- Be Specific: Tell the AI what type of message you want (connection request, follow-up, etc.)
- Review Results: Always review scraped content and generated messages before sending
- Respect Privacy: Only scrape public profiles and follow LinkedIn's terms of service
For General Web Scraping
- Use Direct URLs: Make sure URLs point directly to the content you want to scrape
- Be Patient: Scraping may take a few seconds, especially for complex pages
- Handle Errors: Some pages may not be accessible - have error handling in place
- Respect Robots.txt: Be mindful of website scraping policies
Troubleshooting
Problem: Scraping Not Working
Solutions:
- Verify your EXA API key is correctly entered in Settings → Misc tab
- Check that Live Crawling is set to "Fallback"
- Ensure the URL is accessible (not behind a login)
- Try the URL in a browser first to confirm it's public
Problem: LinkedIn Profile Not Scraping
Solutions:
- Make sure the LinkedIn profile is public (not private)
- Use the full LinkedIn profile URL (not a shortened link)
- Verify your EXA account has sufficient credits
- Some LinkedIn profiles may have restrictions - try a different profile to test
Problem: Scraped Content Too Long
Solutions:
- This is normal - LinkedIn profiles contain a lot of information
- Use the scraped content in follow-up columns to extract specific information
- Ask SheetXAI to summarize or extract only relevant parts in subsequent columns
Problem: Generated Messages Too Generic
Solutions:
- Add more context about your company and what you're offering
- Specify the type of message you want (connection request, follow-up, etc.)
- Include information about why you're reaching out
- Use the scraped profile data more effectively by referencing specific details
Technical Notes
- Processing Time: Scraping typically takes 5-10 seconds per URL
- Rate Limits: EXA has rate limits - very large batches may take time
- Data Format: Scraped content appears as text in your spreadsheet
- Error Handling: If a page can't be scraped, you'll see an error message
Related Features
- Custom Commands: Integrate EXA scraping into automated workflows
- SAI Formulas: Use scraped data in other SAI operations
- URL Tab Settings: Configure URL processing models
- Outreach Integrations: Send personalized messages to outreach platforms
- Apify Integration: Alternative web scraping solution
EXA integration transforms web scraping from a manual, time-consuming task into an automated, scalable operation. Process hundreds of LinkedIn profiles or web pages in minutes, then use that data to create highly personalized outreach campaigns!