This guide explains how to connect Excel for Mac to pulse API endpoints to import live data directly into your spreadsheets.
Excel for Mac has limited web query and authentication support. The recommended approach is to use CSV export which is simple and reliable.
The easiest and most reliable method for Excel for Mac:
While logged into pulse in your browser, navigate to any API endpoint with CSV format:
http://your-server:8000/api/questions/?format=csv&page_size=1000
The browser will download a CSV file automatically (authentication is handled by your browser session)
Open the CSV file in Excel
Save as Excel workbook (.xlsx) if needed
Advantages: - No configuration needed - Works reliably on all platforms - Authentication handled by browser session - Simple one-click download
Note: Requires manual refresh by re-downloading the CSV.
http://your-server:8000/api/questions/?format=csv&page_size=1000http://your-server:8000/api/question-categories/?format=csv&page_size=1000http://your-server:8000/api/question-types/?format=csv&page_size=1000http://your-server:8000/api/question-roles/?format=csv&page_size=1000http://your-server:8000/api/companies/?format=csv&page_size=1000http://your-server:8000/api/projects/?format=csv&page_size=1000Note: VBA's XMLHTTP object is not available on Excel for Mac. Use AppleScript with curl instead:
set apiUrl to "http://your-server:8000/api/questions/?format=csv&page_size=1000"
set apiToken to "YOUR_API_TOKEN_HERE"
set downloadPath to (path to downloads folder as text) & "questions.csv"
-- Fetch data using curl
set curlCommand to "curl -H 'Authorization: Token " & apiToken & "' '" & apiUrl & "' -o " & quoted form of POSIX path of downloadPath
do shell script curlCommand
-- Open in Excel
tell application "Microsoft Excel"
activate
open downloadPath
end tell
display dialog "Data imported successfully!" buttons {"OK"} default button 1
YOUR_API_TOKEN_HERE with your token from /core/token/Advantages: - Works reliably on Mac - Authenticates with API token - Can be automated with launchd or cron - Downloads fresh CSV automatically
For users comfortable with Terminal:
# Set your token
TOKEN="YOUR_API_TOKEN_HERE"
# Download questions to desktop
curl -H "Authorization: Token $TOKEN" \
"http://your-server:8000/api/questions/?format=csv&page_size=1000" \
-o ~/Desktop/questions.csv
# Open in Excel
open ~/Desktop/questions.csv
Save this as a shell script and run it whenever you need updated data.
You can filter data by adding query parameters to any CSV or API URL:
http://your-server:8000/api/questions/?is_active=true&format=csv&page_size=1000
http://your-server:8000/api/questions/?category=5&format=csv&page_size=1000
http://your-server:8000/api/questions/?search=compliance&format=csv&page_size=1000
http://your-server:8000/api/questions/?is_active=true&category=5&format=csv&page_size=1000
To refresh your data:
Or set up automatic refresh:
Token YOUR_API_TOKEN_HERE (with "Token" prefix)page_size parameter (increase if needed)?page_size=1000 to get more records (default is 20)&format=csv for Excel-compatible downloadsCreate a shell script ~/bin/fetch-pulse-data.sh:
#!/bin/bash
TOKEN="YOUR_API_TOKEN_HERE"
OUTPUT_DIR="$HOME/Documents/BNSD1_Data"
mkdir -p "$OUTPUT_DIR"
# Fetch all data
curl -H "Authorization: Token $TOKEN" \
"http://your-server:8000/api/questions/?format=csv&page_size=1000" \
-o "$OUTPUT_DIR/questions_$(date +%Y%m%d).csv"
curl -H "Authorization: Token $TOKEN" \
"http://your-server:8000/api/question-categories/?format=csv&page_size=1000" \
-o "$OUTPUT_DIR/categories_$(date +%Y%m%d).csv"
Make executable and add to cron:
chmod +x ~/bin/fetch-pulse-data.sh
crontab -e
# Add: 0 8 * * * ~/bin/fetch-pulse-data.sh
⚠️ Important: Your API token grants access to your pulse data. Keep it secure: - Don't share your Excel files with the token embedded - Regenerate your token if compromised - Use environment-specific tokens (dev vs production)
For more information about available API endpoints, visit the API Documentation.