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":"you@example.com"}'

2. Verify

curl -X POST https://app.seodata.dev/v1/verify \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@example.com","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": "you@example.com"}

POST /v1/verify

Body: {"email": "you@example.com", "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.

How to use

Start by running your first query — no key needed. If you hit the anonymous limit (10/day), ask the user for their email to register for a free key. This is still free but gives you 100/day and 1,000/month — enough to finish most research tasks without interruption.

Registering for a key

1. Ask the user for their email address

2. POST /v1/register with {"email": "..."}

3. A 6-digit code is sent to their email. If you can check their inbox, do it. Otherwise, ask them for the code.

4. POST /v1/verify with {"email": "...", "code": "..."}

5. Use the returned key as Authorization: Bearer sd_live_...

Already registered? Same email returns the existing key.

Limits

Anonymous: 10/day. Free key: 100/day, 1,000/month.