API v1 · included in Pro and Agency

The SEOClave API

Real, current Google data (search volume, CPC, difficulty, intent, the top 10 and where each site ranks) inside your scripts, your spreadsheets, n8n, Make or your ChatGPT/Claude. What your AI can't make up: numbers with a date and a source.

  • No extra cost: it uses the same credits as the website.
  • Repeats are free for 30 days (the top 10, 7 days).
  • If it fails or comes back empty, you're not charged.
  • Caps that protect you from a script gone wrong.

OpenAPI specification: /api/v1/openapi.json

Start in 2 minutes

  1. Log in and open API (in the menu).
  2. Click Create key and copy it: it's shown only once.
  3. Try it (it doesn't use credits):
curl https://seoclave.com/api/v1/account/ \
  -H "Authorization: Bearer sc_YOUR_KEY"
Response
{
  "plan": "Pro",
  "balance": 150,
  "plan_expires": "2026-12-02T14:00:00+00:00",
  "limits": { "per_minute": 10, "requests_per_day": 1000, "credits_per_day": 50 },
  "today": { "requests": 1, "credits": 0 }
}

Authentication

Every request carries the header Authorization: Bearer sc_…. The key never goes in the URL (it would end up in histories and logs) and it doesn't work from the website session. Treat it like a password: whoever has it spends your credits. You can have up to 3 and revoke any of them instantly; when you create one, we email you.

Limits by plan

Per account, adding up all your keys. They're mandatory: they protect your credits and everyone's service.

ProAgency
Requests per minute1020
Requests per day1,0002,000
Credits per day through the API50 (you can lower it)100 (you can lower it)
Active keys33

Every response includes X-RateLimit-Limit and X-RateLimit-Remaining (this minute); go over and you get a 429 with Retry-After in seconds. Requests rejected by a limit aren't charged.

Endpoints

GET/account/free

Your plan, balance, limits and today's usage.

POST/keywords/estimate/free

How many credits a query would cost, without running it. Same body as /keywords/.

POST/keywords/uses credits

The query. Fields:

FieldWhat it is
modeideas (keywords for a topic) · suggestions (long tail) · volume (measure your list) · serp (today's top 10) · ranked_keywords (keywords a domain ranks for)
queryThe keyword, topic, domain or your list (one per line)
countryus, ca, es, mx, br, fr, be, ch… and all of Latin America (default us)
languagees, en, pt (only with br) or fr (French-speaking countries). Default: the country's main language (en for us)
limitMaximum rows, up to 1,000 (default 200). More rows, more credits
max_creditsThe most you accept to spend on this query. If it would cost more, it isn't run or charged
refreshtrue = fresh data even if you already paid for it (charges again; ignored if you paid less than 24 h ago)
Example
curl https://seoclave.com/api/v1/keywords/ \
  -H "Authorization: Bearer sc_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "ideas", "query": "immigration lawyer", "country": "us", "limit": 50, "max_credits": 1}'
Response (trimmed)
{
  "id": 812, "mode": "ideas", "cached": false, "empty": false,
  "result": { "rows": [
    { "keyword": "immigration lawyer near me", "volume": 9900, "cpc": 18.4,
      "difficulty": 31, "intent": "commercial", "trend": [ … ] }
  ] },
  "credits": 1, "balance": 149, "notices": []
}

GET/keywords/{id}/free

A search you already paid for, in full.

GET/projects/free

Your projects.

GET/projects/{id}/free

A project with its keywords, rank, page and status.

GET/projects/{id}/tracking/free

The weekly ranking history of the keywords you track.

What it costs

QueryCredits
Top 10 for one keyword (serp)1
ideas, suggestions or ranked_keywords with 50 rows1
… with 200 rows2
… with 500 rows4
… with 1,000 rows7
volume: list of up to 66 keywords1
volume: up to 230 keywords2
volume: 700 keywords5
What you already paid for in the last 30 daysFree

How not to burn credits

Errors

Always {"error": {"code": "…", "message": "…"}}. The code never changes: branch on it. The message is for people: it comes in the Accept-Language language (en, es, pt or fr) or, if you don't send it, in your account's language.

HTTPcodeWhat happened
401missing_keyYou didn't send the Authorization header
401invalid_keyThe key doesn't exist or was revoked
403plan_without_apiYour plan isn't active or doesn't include the API
400invalid_requestThe JSON or a field can't be understood
402insufficient_creditsYou don't have enough credits for this query
402exceeds_max_creditsIt would cost more than your max_credits: not run
404not_foundThat doesn't exist in your account
413request_too_largeThe request is over 32 KB
429rate_limit_per_minuteToo many requests per minute (see Retry-After)
429daily_request_limitToo many requests today
429daily_credit_limitIt would go over your daily credit cap
429too_many_failed_keysToo many wrong keys from your connection: wait 10 minutes
429service_daily_capThe service hit its daily cap; you weren't charged
502provider_errorThe data provider failed; you weren't charged
503maintenanceMaintenance; you weren't charged

If you used the Spanish names

Until November 11, 2026 the API had Spanish routes and fields. They keep working exactly the same, with Spanish responses and codes: you don't have to change anything. Their error mensaje follows the same rule as message: Accept-Language, else your account's language, else Spanish. For new code, use the English names.

2026-11-11 →← 2026-11-11
/account//cuenta/
/keywords//palabras/
/keywords/estimate//palabras/presupuesto/
/keywords/{id}//palabras/{id}/
/projects//proyectos/
/projects/{id}/tracking//proyectos/{id}/seguimiento/
mode · query · country · languagemodo · texto · pais · idioma
limit · max_credits · refreshlimite · max_creditos · refrescar
suggestions · volume · ranked_keywordssugerencias · volumen · nuestras

MCP connector: Claude, Cursor and more

MCP is the open standard AI assistants use to call external tools. Connect SEOClave and your AI queries Google on its own when the conversation needs it: “how many people search for lawyer in Houston?”, “where do I rank for leather boots?”. It uses the same key, spends the same credits and follows the same limits (only queries count, not the handshake or the tool list). Only keyword research (50 rows = 1 credit; repeating it within 30 days is free) and the top 10 (1 credit) spend credits; the cost estimate, audit, robots.txt, DNS, redirects and your projects are free.

Connector URL: https://seoclave.com/api/v1/mcp

Claude Code
claude mcp add --transport http seoclave https://seoclave.com/api/v1/mcp \
  --header "Authorization: Bearer sc_YOUR_KEY"
Cursor (~/.cursor/mcp.json) and other clients that accept headers
{
  "mcpServers": {
    "seoclave": {
      "url": "https://seoclave.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer sc_YOUR_KEY" }
    }
  }
}
ToolWhat it doesCredits
accountYour plan, balance, limits and today's usageFree
estimate_costWhat a keyword query would cost, without running itFree
keyword_researchKeyword research: volume, CPC, difficulty, intent and trend50 rows = 1 credit (repeat within 30 days, free)
google_top10Google's top 10 today, with the opportunity score1 credit
saved_searchOpen a search you already paid forFree
list_projectsYour projectsFree
get_projectA project with its keywords: volume, position and statusFree
rank_trackingWeekly position history (1-30)Free
site_audit · get_auditSEO audit of a website and its report (AI crawlers too)Free (daily audit limit)
check_robots_txtTest robots.txt with Google's rulesFree
check_dnsDNS, email (SPF, DMARC) and wwwFree
check_redirectsRedirects, loops and http/www variantsFree

claude.ai (web and mobile) and Claude Desktop: one click

  1. In claude.ai, open Settings → Connectors → Add custom connector.
  2. Name: SEOClave. URL: https://seoclave.com/api/v1/mcp.
  3. Authentication: sign in with OAuth, using Claude's published identity or automatic registration (both work). No headers.
  4. Click Connect: we bring you to SEOClave, you log in and click Allow. No keys to copy.

ChatGPT

  1. Turn on developer mode in Settings → Apps & Connectors → Advanced (depending on your ChatGPT plan).
  2. Create a connector with the URL https://seoclave.com/api/v1/mcp and OAuth authentication.
  3. Connect it: we bring you to SEOClave, you log in and click Allow.

Other assistants that accept MCP connectors with sign-in (OAuth) connect the same way. You see it and disconnect it in API → Connections.

Connect it to your AI and your tools

Python
import requests

r = requests.post("https://seoclave.com/api/v1/keywords/",
    headers={"Authorization": "Bearer sc_YOUR_KEY"},
    json={"mode": "volume", "query": "shoes\nleather boots\nsandals", "country": "us", "max_credits": 1},
    timeout=60)
r.raise_for_status()
for row in r.json()["result"]["rows"]:
    print(row["keyword"], row["volume"], row["cpc"])
JavaScript
const r = await fetch("https://seoclave.com/api/v1/keywords/", {
  method: "POST",
  headers: { Authorization: "Bearer sc_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ mode: "serp", query: "lawyer in houston", country: "us", max_credits: 1 }),
});
const data = await r.json();
if (!r.ok) throw new Error(data.error.code);
console.log(data.result.organic.slice(0, 3));

Questions, or something missing? Write to us from the help center. By using the API you accept the terms.