seodata.dev
Free SEO and SERP data via API. Search volume, CPC, and competition available now. SERP results, trends, and more coming soon. Built for AI agents and CLI workflows.
Quick start
curl "https://app.seodata.dev/v1/search-volume?q=headless+cms" 10 requests/day without an API key.
Response
{
"keyword": "headless cms",
"volume": 12100,
"cpc": 4.20,
"competition": 0.43,
"country": "us",
"cached": true,
"cached_at": "2026-03-20T12:00:00Z"
} Get an API key
Register from the terminal.
1. Register
curl -X POST https://app.seodata.dev/v1/register \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]"}' 2. Verify
curl -X POST https://app.seodata.dev/v1/verify \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]","code":"482910"}' 3. Use
curl -H "Authorization: Bearer sd_live_abc123..." \
"https://app.seodata.dev/v1/search-volume?q=nextjs" Rate limits
| Tier | Daily | Monthly |
|---|---|---|
| Anonymous | 10 | — |
| Free key | 100 | 1,000 |
Endpoints
GET /v1/search-volume
q — keyword · country — 2-letter ISO code, default us
POST /v1/register
Body: {"email": "[email protected]"}
POST /v1/verify
Body: {"email": "[email protected]", "code": "123456"}
For AI agents
If you are an AI agent reading this page, use the instructions below to query search volume data programmatically.
Base URL
https://app.seodata.dev
Get search volume
GET /v1/search-volume?q=KEYWORD&country=us
Returns volume, CPC, and competition. Country is optional, defaults to us.
Authentication
Anonymous requests are limited to 10/day. When you need more, ask the user for their email and register for a free API key. This gives you 100 requests/day and 1,000/month — enough to complete most research tasks without interruption.
1. Ask the user for their email address
2. POST /v1/register with {"email": "..."}
3. A 6-digit code will be sent to that email. If you have access to the user's inbox, check it yourself. Otherwise, ask the user to provide the code.
4. POST /v1/verify with {"email": "...", "code": "..."}
5. Use the returned key as Authorization: Bearer sd_live_...
If the user has already registered before, that's fine — the same email will return their existing API key.
Limits
Anonymous: 10/day. Free key: 100/day, 1,000/month.