Quick Start
If you already have an API key, here’s the fastest way to make a request:YOUR_API_KEY with your actual key (starts with sk_). That’s it — no other headers needed.
Creating an API Key
1
Go to the API settings page
In the SnowSEO dashboard, navigate to Settings → Integrations → API.
2
Create a new key
Click Create new key. Give it a descriptive name so you remember what it’s for — e.g.,
Production Server, CI/CD Pipeline, or Analytics Dashboard.3
Copy and store the key immediately
The full key is shown only once after creation. Copy it right away and store it in a secure location.
Making Your First Request
Here’s a complete example showing how to call the API from different environments:- Node.js
- Python
- Next.js API Route
Key Scopes & Permissions
Each API key is scoped to a single brand (team) within your organization. The key automatically carries your organization and brand context — you don’t need to passteamId separately.
A single organization can have multiple brands (teams). If you need to access data from multiple brands, create a separate API key for each one.
Common Integration Patterns
Serverless Functions (Vercel, Netlify, etc.)
Webhook Handler (Receiving Data)
If you’re building an integration that receives webhooks from SnowSEO (e.g., article published events), validate theAuthorization header:
Automated Reporting Script
Error Handling
The API returns structured error responses. Here’s how to handle them properly:Error Reference
The API does not use machine-readable error codes. Theerror field always holds a human-readable message (e.g. "teamId is required", "Team not found", "Rate limit exceeded."). Branch on the HTTP status code, and surface error / message to the user.
Security Best Practices
Use environment variables
Use environment variables
Always store your key in an environment variable, never hardcoded:
Never commit secrets to version control
Never commit secrets to version control
Add your For GitHub, use Secrets (Settings → Secrets and variables → Actions) to store API keys for CI/CD pipelines.
.env file to .gitignore:Use separate keys per environment
Use separate keys per environment
Create different API keys for development, staging, and production:
MyApp-DevMyApp-StagingMyApp-Production
Rotate keys periodically
Rotate keys periodically
Rotate your API keys every 90 days or immediately if you suspect compromise:
- Create a new key in the dashboard
- Update your environment variable
- Deploy and verify it works
- Delete the old key
Validate incoming webhooks
Validate incoming webhooks
If you’re receiving webhooks from SnowSEO, always validate the
Authorization header against your stored secret:Rate Limits & Retries
Limits vary by endpoint — up to 60 requests per minute per endpoint, while heavier endpoints may have stricter caps. If you exceed the limit, you’ll get a429 response:
Implementing Retry Logic
Quick Test
Verify your key works with a simple request:401 Unauthorized, double-check:
- The key is correctly set in your environment variable
- You’re using
Bearer(with the space) before the key - The key hasn’t been deleted from the dashboard

