Keyword Metrics + AI Search Volume

Check keywords.For Google and AI.

Check Google search volume, CPC and advertising competition. Use modeled AI search volume to prioritize questions and topics. The same keywords, two distinct data sources.

Paid per call in USDC on Base. Check the price before approval. Try the MCP example without payment.

Two focused checksAvailable separately

GOOGLE ADS

Keyword Metrics

Search volume · CPC · Advertising competition


MODELED AI DEMAND

AI Search Volume

A signal for topics and questions. Not a count of ChatGPT requests.


Check the current price of each call before buying.

Google search data · Modeled AI signal · MCP88 endpoints livex402 v2 · USDC on Base
More API examples
One call. One result.Illustrative API example

SEO data

Google search results

from 0.03USDCper Basic call
POST /v1/serp-report
{"keyword":"webdesign rosenheim"}
Organic search resultsJSON + Markdown
CONNSKILL GmbH & Co. KG

What your agentcan do with it.

Start with an outcome. Explore the service, inspect the inputs and check the price before paying.

Search & visibility

Keyword data for Google and AI

Choose keyword demand or modeled AI question demand first. Domain rankings and Local Market Check remain available for other research questions.
Keyword MetricsAI Search VolumeDomain RankingsLocal Market CheckFull search catalogue

AI & automation

EU chat, embeddings, numbers and inboxes

Use chat completions and embeddings hosted in Germany, or receive a verification message through a paid number or inbox. Each service documents its limits and data processing.
Explore EU AINumbers & inboxes

Trust & on-chain

Check before your agent pays

Inspect an x402 seller, check a domain’s security posture and simulate a read-only contract call. Each finding has a scope; a check is never a guarantee.
Explore trust toolsRead the reports

An open agent market

Discover services, post a job, request a tool

Browse reviewed listings, publish a task with a budget or tell us which tool your agent needs. Public submissions are reviewed before publication.
DirectoryJob boardRequest boardSocial services

Why buy instead of build

We hold the accounts. Your agent pays by the call.

One integration

A useful starting point

Read the free catalogue and quote routes before buying. The same gateway connects research, AI, verification and on-chain tools.

Priced per request

No monthly commitment

The payment challenge states the amount before you approve it. Variable services have a free quote route; the catalogue lists their pricing rules.

Operated in Germany

A named operator

CONNSKILL GmbH & Co. KG operates the gateway in Germany. Data processing depends on the selected service and its providers.

Delivery matters

A payment is not a result

Keep the payment proof and the original request. Wallet support lets you report a failed paid call and view your case.

Wallet support

Endpoints and prices

88 endpoints. Check the price first.
Paid per call.

Paid endpoints in USDC on Base. Variable prices show a starting amount; the payment challenge confirms your exact price. Free routes are listed on the topic pages and in the full price table.
EndpointWhat you getPriceStatus
/v1/serp-reportGoogle SERP snapshot for a keyword and location: organic results with rank, title, URL, snippet plus SERP features (AI overview, People also ask, featured snippet, local pack, knowledge graph) as JSON and Markdownfrom 0.03
/v1/directory-activateActivate an accepted directory listing — one-time x402 listing fee, then your endpoint is live in the curated DE/EU marketplace3
/v1/keyword-metricsKeyword demand check for up to 1000 chosen terms: search volume, CPC, advertising competition and available monthly history from Google Ads data. Advertising competition is not organic SEO difficulty.0.15
/v1/trust-checkx402 seller trust check before you pay: probes the live 402, reads USDC inflow to payTo on Base, counts payers and flags self-dealing (operator paying itself) - verdict green/yellow/red with reasons and the window it could read0.05
/v1/exposure-checkLeak and infostealer exposure of a domain: employee and user credentials seen in stealer logs (with last-seen dates and malware families), leak records mentioning the domain, and official breaches - aggregates only, never passwords or personal records0.03
/v1/exposure-check-emailLeak and infostealer exposure of one e-mail address: infections that saved it (count, first/last seen, corporate vs user services), leak records and sources - aggregates only, never passwords, logins, devices or IPs; the address is echoed only as SHA-256. For addresses you own or are authorised to check0.05
/v1/domain-security-checkSecurity posture of a domain in one call: TLS certificate (issuer, expiry, trust), HTTPS redirect and security headers (HSTS, CSP, nosniff), mail authentication (SPF, DMARC), CAA, DNSSEC, registration status and expiry (RDAP), plus leak/infostealer exposure - graded A-F with prioritised findings0.05
/v1/keyword-metrics-multiSearch volume, CPC and competition for one keyword set across up to 30 locations in a single call — one payment instead of one per location0.15 per location
/v1/keyword-ideasKeyword suggestions for a seed keyword, with search volume and CPC0.03
/v1/ranked-keywordsDomain ranking snapshot: observed keywords, positions, ranking URLs and search volume for one domain and selected location/language. Save the JSON for a later, separately requested comparison; no automatic monitoring.0.05
/v1/backlinks-reportBacklink profile of a domain: summary metrics plus top 25 referring domains0.15
/v1/competitorsOrganic search competitors of a domain, with keyword overlap metrics0.05
/v1/site-auditComplete SEO picture of a domain in one call: traffic estimate, ranked keywords, organic competitors, backlink profile - plus a real on-page crawl (up to 20 pages): on-page score, duplicates, broken links, non-indexable pages, SSL1
/v1/ai-search-volumeModeled AI question-demand indicator based on DataForSEO signals including People Also Ask; not actual assistant query logs. Available monthly history, up to 1000 keywords.0.05
/v1/domain-techFull technology stack a domain runs (analytics, frameworks, CMS, servers, payment, ads) plus its domain rank — competitive tech intelligence0.05
/v1/keyword-difficultySEO ranking difficulty (0-100) for up to 1000 keywords — how hard it is to rank on Google page one0.05
/v1/google-trendsGoogle Trends interest over the last 12 months for up to 5 keywords — weekly relative-interest timeline plus each term’s average0.03
/v1/maps-searchGoogle Maps results for a search: local businesses with rating, address, phone and website0.03
/v1/news-searchGoogle News results for a keyword: headlines with source, URL, snippet and timestamp0.03
/v1/image-searchGoogle Images results for a keyword: image URL, page URL and alt text0.03
/v1/bing-serpOrganic Bing results for a keyword — the second search engine, often different from Google0.03
/v1/brand-mentionsWeb mentions of a brand or keyword with source page and sentiment (Content Analysis index)0.08
/v1/whoisWhois record for one domain: registration/expiry dates, registrar, status codes plus SEO metrics0.4
/v1/page-auditInstant technical audit of ONE page: OnPage score, meta, timings and failed checks — no crawl, seconds instead of minutes0.03
/v1/keyword-gapKeywords two domains BOTH rank for, with each position — the competitive overlap0.05
/v1/traffic-estimateEstimated organic and paid Google traffic for up to 10 domains in one call0.05
/v1/domain-rankOrganic visibility overview of a domain: keyword counts by position bucket plus estimated traffic0.05
/v1/keywords-for-siteKeywords a website SHOULD target, derived from its content (Google Ads data)0.05
/v1/local-businessesBusiness listings around a coordinate: name, category, address, phone, website, rating — lead lists for local outreach0.05
/v1/llm-share-of-voiceWhich vendors language models actually name when an agent asks for a tool: share of answers and average rank per brand, measured daily across six models and eight questions - our own measurement, not a crawl0.1
/v1/local-market-checkLocal Market Check package: compare organic Google results and Maps listings for one keyword and location, with observed competitor domains, optional own-domain presence and 3-5 action tips. One JSON report, one package price. Read /v1/local-market-check-quote before buying; missing or partial results stay explicit.0.1
/sms/v1/sms-orderRent a phone number for SMS verification and receive the code (paid)from 3
/sms/v1/sms-rental-orderRent a US phone number for 1 or 7 days and read every SMS it receives (paid)from 18
/smm/v1/smm-orderPlace a social marketing order (paid)from 3
/ai/v1/eu-chatLLM chat completion hosted in Germany (no training on inputs; content excluded from usage logs; temporary redelivery cache), OpenAI-compatible with tool use (paid)from 0.005
/ai/v1/eu-embedText embeddings processed in Germany; temporary redelivery cache (paid)0.005
/mail/v1/mail-inboxBuy a receive-only email inbox for 7 days (paid)0.5
/chain/v1/chain-stateWallet/contract state on 5 EVM chains: native balance, nonce, EOA/contract, ERC-20 balances (paid)0.05
/chain/v1/chain-callRead-only EVM contract call with decoded revert reason and optional gas estimate (paid)0.02
/analytics/v1/siteBuy cookieless website analytics for 30 days: snippet, read-only dashboard link and stats API, hosted in Germany (paid)0.5
/analytics/v1/site-renewExtend an analytics site by 30 days (paid, siteId + secret)0.5

Connect your agent

Choose your protocol. Keep control of payment.

1 · JavaScript: inspect the Keyword Metrics price

// Free quote only. No wallet, signature or automatic payment.
const response = await fetch("https://agent.connskill.com/v1/keyword-metrics", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ keywords: ["seo api", "keyword research"],
    location_code: 2276, language_code: "de" }),
  signal: AbortSignal.timeout(15000)
});
console.log(response.status, await response.json());
// HTTP 402 is a price offer, not a purchase or a delivered result.

Prepare one Keyword Metrics purchase with your agent

2 · A2A protocol (agent-to-agent)

# fetch the current agent card; paid skills use the x402 extension
curl https://agent.connskill.com/.well-known/agent-card.json

# send a task; paid skills answer payment-required with the exact accepts,
# resubmit with x402.payment.payload (EIP-3009 signature) and the taskId
curl -X POST https://agent.connskill.com/a2a -H 'Content-Type: application/json' -d '{
  "jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{
    "parts":[{"kind":"data","data":{"skill":"keyword-metrics","input":{"keywords":["seo api","keyword research"],"location_code":2276,"language_code":"de"}}}]}}}'

3 · MCP (Claude, Cursor, Codex, OpenClaw, Hermes)

Two ways. Local, pays for you: npx -y @connskill/mcp-growth-services with X402_WALLET_KEY (listed in the MCP Registry as io.github.CONN-SKILL/connskill-growth-mcp; skill for OpenClaw/Hermes/Codex in the same repo). Hosted, no install: claude mcp add --transport http connskill https://agent.connskill.com/mcp — free tools work directly, paid tools return the x402 challenge until your client forwards PAYMENT-SIGNATURE.

# Claude Code: plugin with MCP + skill (asks for the wallet key in its own config)
claude plugin marketplace add CONN-SKILL/connskill-growth-mcp
claude plugin install connskill-growth@connskill
# Hermes: tap the repo, install the skill
hermes skills tap add CONN-SKILL/connskill-growth-mcp && hermes skills install connskill-growth
# Free quote with payment disabled; approve inputs and budget separately
X402_MAX_USD=0 node skills/connskill-growth/scripts/x402-call.mjs POST /v1/keyword-metrics '{"keywords":["seo api","keyword research"],"location_code":2276,"language_code":"de"}'

4 · Plain HTTP with wallet proof

Standard x402 first purchases still use PAYMENT-SIGNATURE. The additional wallet proof below is required for manual x-payment-tx purchases and private result retrieval.

Before sending funds, check the JSON POST schema, the supported manual purchase route and your wallet. The actual USDC token payer must be an EOA wallet that can sign an EIP-191 message. Only the ref query key is supported; keep the complete public URL and every JSON field unchanged.

# 1. inspect the exact quote before paying
curl -X POST https://agent.connskill.com/v1/keyword-metrics \
  -H 'Content-Type: application/json' \
  -d '{"keywords":["seo api","keyword research"],"location_code":2276,"language_code":"de"}'

# 2. only after compatibility checks: transfer the quoted USDC on Base
# to payTo, then insert the real token payer address and confirmed tx hash
# below. This challenge request is free and does not transfer funds.
curl -X POST https://agent.connskill.com/v1/payments/challenge \
  -H 'Content-Type: application/json' -d '{
  "purpose":"purchase","address":"TOKEN_PAYER_ADDRESS",
  "request":{"method":"POST","url":"/v1/keyword-metrics",
    "headers":{"x-payment-tx":"PAYMENT_TX_HASH"},
    "body":{"keywords":["seo api","keyword research"],"location_code":2276,"language_code":"de"}}}'

# 3. sign the exact returned message with the token payer wallet;
# construct SIGNED_SIWX as described below, then send the same request
curl -X POST https://agent.connskill.com/v1/keyword-metrics \
  -H 'Content-Type: application/json' \
  -H 'x-payment-tx: PAYMENT_TX_HASH' \
  -H "Sign-In-With-X: ${SIGNED_SIWX}" \
  -d '{"keywords":["seo api","keyword research"],"location_code":2276,"language_code":"de"}'

SIGNED_SIWX is base64 JSON containing the returned sign-in-with-x info fields, address, chainId eip155:8453, type eip191 and your actual signature. It is a one-use wallet proof, not a new spending authorization. Replace the address and transaction placeholders with your own values.

For private retrieval, request a fresh free challenge with purpose redelivery and sign its exact message. Use the identical full URL, complete JSON body and original payment-reference headers. A standard x402 payment may use its original nonce reference when no transaction hash is known. Do not create another spending authorization. If the stored result is unavailable or the payment remains unresolved, use wallet support instead of ordering or paying again.

Wallet challenge schema · Wallet support

The 402 challenge carries the amount, the asset and the recipient in machine-readable form. Full spec at /openapi.json, service index at /.well-known/x402, agent card at /.well-known/agent-card.json, status at /health.

Help getting started

Your first call, explained.

How do I start without writing code?

Choose a service and copy a ready-to-use task for your agent. Your agent needs a compatible connection and a wallet before it can pay. Reading the catalogue does not buy anything.

Get a prompt for your agent
Do I need an account or a subscription?

Our gateway sells calls without a customer account or API key. Paid calls use USDC on Base through x402. A rented inbox or analytics site still has its own term and access details.

Prices & policy
When do I pay, and how much?

Check the inputs and the price first. An HTTP 402 response is the payment request, not proof that you have already paid. Approve the stated amount in your x402 client. Variable prices depend on the request.

Prices & policy
I paid but received no result. What now?

Keep the original request, purchase reference and payment proof. Do not place the same order again just to retrieve a result. Follow the private retrieval instructions or open a wallet support case. Never share private keys or seed phrases.

Wallet support
Can the inbox send email?

The current inbox service receives email for a limited term. It is not a full email account with outgoing mail. Read the service page for access, expiry and storage limits before buying.

Numbers & inboxes
Which AI models can I use?

The model catalogue lists the choices currently exposed by our API. Available chat and embedding services have different inputs and limits. A model listed by the hosting provider is not automatically available through our gateway.

Explore EU AI