SEO Ladders Docs
Programmatic access to keyword research, article generation, optimization, and refresh — exposed as a REST API, an MCP server, and signed webhooks. Same backend that powers the dashboard.
Quickstart
Make your first API call in 5 minutes
Authentication
API keys, scopes, and rotation
MCP Setup
Use SEO Ladders from Claude Code, Cursor, IDE
Webhooks
HMAC-signed event delivery
What's available
Every tool in the dashboard ships with a programmatic surface. Pick the one that fits how you build:
- REST API — Full CRUD over keywords, articles, optimizations, refreshes, and competitor gap analyses. Bearer-token authenticated. Versioned at
/v1. - MCP Server — 11 tools exposed via Model Context Protocol. Drop-in for Claude Code, Cursor, Windsurf, Codex, or any MCP-compatible client.
- Webhooks — Signed event deliveries when articles finish generating, batch jobs complete, or refresh candidates surface. HMAC-SHA256 signatures over the raw body.
Capabilities at a glance
The API and MCP both expose the same capability set:
- Keyword research — DR-matched discovery with KD filtering and intent tagging
- Competitor gap analysis — keywords competitors rank for that you don't
- Article generation — single articles or batches with the same 13-step pipeline as the dashboard
- Article optimization — score any URL against the live top 10 SERP results
- Content refresh — detect ranking drops and refresh in place
- Refresh candidates — surface articles slipping in SERPs ready to be refreshed
Authentication
All endpoints require a bearer token in the Authorization header:
Authorization: Bearer sk_live_••••••••••••••••
Generate API keys on the Developers page inside the dashboard. Keys can be rotated and revoked at any time.
Base URL
https://www.seoladders.com/api/v1
Localhost development uses http://localhost:3000/api/v1. The OpenAPI spec at /api/openapi.json adapts the server URL based on the request origin.
Rate limits & quotas
Each surface (article generation, keyword research, optimization, refresh) has a per-month quota tied to your subscription tier. Exceeded quotas return 429 Too Many Requests with a JSON body indicating the surface and the reset window.
Quota responses
The X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers are returned on every API response so you can monitor usage in real time.