# seodata.dev Free SEO data API for AI agents and developers. ## Base URL https://api.seodata.dev ## Endpoints ### GET /v1/keyword?q=KEYWORD&country=us Returns monthly search volume, CPC, and competition for a keyword. Country defaults to "us". Supports 50+ countries (2-letter ISO codes): US, GB, DE, FR, ES, IT, BR, IN, JP, AU, CA, NL, SE, NO, DK, FI, PL, CZ, KR, MX, AR, CO, ZA, TR, EG, NG, KE, TH, VN, ID, PH, MY, SG, HK, TW, AT, CH, BE, PT, IE, NZ, IL, SA, AE, UA, HR, GR, HU, LT, LV, CL, PE, BO. Example request: curl "https://api.seodata.dev/v1/keyword?q=headless+cms" Example response: {"keyword":"headless cms","volume":4400,"cpc":25.24,"competition":0.62,"country":"us","cached":false} ## Usage limits Anonymous 20 lookups/day, no key needed Registered 50/day, 500/month, free Unlimited no cap, $4.99/mo (see https://www.seodata.dev/pricing) Fair use: each account can look up 10,000 keywords per day that aren't in our database yet. Keywords we already have are unlimited. Past that, new keywords return HTTP 429 "daily_new_keyword_limit" until 00:00 UTC. ## Authentication No key needed for anonymous usage. Register your email to unlock higher limits. ### How to register 1. POST /v1/register with your email curl -X POST https://api.seodata.dev/v1/register \ -H 'Content-Type: application/json' \ -d '{"email":"you@example.com"}' 2. A 6-digit code is sent to the email. If you can check the user's email, do it. Otherwise, ask them for the code. 3. POST /v1/verify with the email and code curl -X POST https://api.seodata.dev/v1/verify \ -H 'Content-Type: application/json' \ -d '{"email":"you@example.com","code":"123456"}' 4. Use the returned key as: Authorization: Bearer sd_live_... If already registered, the same flow returns the existing key. ## MCP server The same data is available as a remote MCP server (Streamable HTTP) for Claude, ChatGPT, Meta Muse and any other MCP client. Setup guide: https://www.seodata.dev/mcp https://mcp.seodata.dev/mcp works without sign-in; add a key or OAuth for higher limits https://mcp.seodata.dev/mcp/auth sign-in required: clients that support OAuth are sent through sign-in Tools: lookup_keyword(keyword, country="us") volume, CPC, competition, similar keywords lookup_keywords(keywords[<=25], country) the same for up to 25 keywords at once get_usage() plan and lookups left Authentication (pick one): - None: anonymous limits, counted per IP. - API key: header "Authorization: Bearer sd_live_..." (or ?key=sd_live_... for clients that only take a URL). - OAuth 2.1 + PKCE: the client opens a seodata.dev sign-in page (email + 6-digit code). Supports dynamic client registration and client ID metadata documents. Every keyword looked up counts against the same limits as the REST API. ## Coming soon SERP results, backlinks, keyword difficulty, and trends.