The SnowSEO API lets you access your SEO data from your own code. Use it to pull audit results, check keyword rankings, generate content ideas, or plug SnowSEO data into your own dashboards and tools.
The API is available exclusively on the Scale plan. You can generate API keys from Settings → Integrations → API in your dashboard.
Base URL
All requests go to:
https://api.snowseo.com/v3
Every response comes back as JSON. Send request bodies with Content-Type: application/json.
How It Works
- Generate an API key in your SnowSEO dashboard
- Include it in the
Authorization: Bearer <key> header on every request
- Call any endpoint listed in this reference — the interactive playground on each page lets you test requests right from the docs
Rate Limiting
| Plan | Limit |
|---|
| Scale | 300 requests / minute |
If you go over the limit, you’ll get a 429 response:
{
"error": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Please wait a moment and try again.",
"retryAfter": 60
}
When this happens, wait a few seconds before retrying. A good approach is to wait 1 second, then double the wait time each time you get another 429.
Error Responses
The API uses standard HTTP status codes:
| Code | What It Means |
|---|
200 | Everything worked |
201 | Something was created successfully |
400 | Something is wrong with your request (missing or invalid data) |
401 | Your API key is missing, invalid, or expired |
403 | Your key is valid but you don’t have permission for this action |
404 | The thing you’re looking for doesn’t exist |
429 | You’ve hit the rate limit — slow down |
500 | Something went wrong on our end |
All errors follow the same shape:
{
"error": "RESOURCE_NOT_FOUND",
"message": "Team with ID 'abc123' was not found."
}