Quickstart
Two ways to your first article — pick how you build. The agentic path (MCP + skill) is recommended and needs no code; the raw REST API is right below. Either way, start by getting an API key.
1. Get an API key
Sign in to your dashboard and visit the Developers page. Click Create API key and copy the secret — it starts with sk_live_ and is shown only once.
Store it safely
Export the key in your shell so the rest of the examples just work:
export SEOLADDERS_API_KEY=sk_live_••••••••••••••••Option A — Agentic (recommended)
Best for Claude, Claude Code, Cursor, ChatGPT, or any agent. Add the MCP (the tools that run the work) + the skill (the SEO playbook + guided /seoladders commands) once, then drive the whole platform in plain language — no code.
Connect — pick your app:
In the Claude app (web + desktop), both live under Customize:
- Skills → + — upload the SEOLadders skill zip. The quickest way to get one is to ask Claude for it: paste
Package the skill at https://github.com/Kwesi-dev/seo-ladders-skill.git into a zip I can uploadand it hands the file back. Or download the repo ZIP and zip theseoladdersfolder yourself. - Connectors → Add custom connector — name it SEOLadders, paste the URL below, then Continue:
https://www.seoladders.com/api/mcpOn the next screen leave both defaults as Claude detects them — Authentication: Always required and OAuth client: No client ID — register one automatically. Leave the headers section empty, then Add → Connect.
Claude sends you to SEOLadders to sign in and approve access, then connects itself. No API key anywhere: if you are signed out you get the usual magic-link email, and approving takes one click. The Skill gives Claude the process; the connector gives it execution — you want both.
Run your first action — ask for keyword ideas. It's instant and needs almost nothing from you:
/keyword-research best crm for startups…or just say "find keywords for a CRM for startups." You get ideas with real search volume, difficulty, and DR-match. From there, /write-article turns any of them into a full article, and /seoladders runs the whole pipeline.
The whole loop, hands-off
/seoladders runs the full pipeline — audit, find gaps, write, publish, and track where AI recommends you. Setting up both halves, and every command, is in MCP + Skill.Option B — REST API
Prefer raw HTTP? The same result in three calls — generate, poll, fetch. Generation is async: even a single article uses the batch endpoint with a one-item array.
Generate — returns a batchId immediately; the article runs in the background:
curl -X POST https://www.seoladders.com/api/v1/articles/batch \
-H "Authorization: Bearer $SEOLADDERS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "keyword": "best crm for startups" }
]
}'Poll until status === "completed" (usually 2–3 minutes):
curl https://www.seoladders.com/api/v1/batches/$BATCH_ID \
-H "Authorization: Bearer $SEOLADDERS_API_KEY"A completed batch returns:
{
"batchId": "btc_01HXY...",
"status": "completed",
"totalCount": 1,
"completedCount": 1,
"failedCount": 0,
"items": [
{
"articleId": "art_01HZ...",
"keyword": "best crm for startups",
"status": "ready",
"title": "Best CRM for Startups in 2026",
"wordCount": 3450,
"url": "https://www.seoladders.com/api/v1/articles/art_01HZ..."
}
]
}Fetch the finished article — title, body in Markdown and HTML, keyword, word count, JSON-LD schema, FAQ, and citation sources:
curl https://www.seoladders.com/api/v1/articles/$ARTICLE_ID \
-H "Authorization: Bearer $SEOLADDERS_API_KEY"Skip polling in production
webhookUrl in the batch request and we'll POST a signed article.ready event when each article finishes. See the Webhooks guide.Where next?
- Set up the agentic path in full — see MCP + Skill
- Richer auth and key rotation — see Authentication
- Event callbacks for production — see Webhooks
- Every endpoint — see the API Reference