geondex
Docs

keyword_volume

Monthly search volume for up to 1,000 keywords.

POST https://geondex.com/api/v1/volume

How many people actually search each phrase every month — an agent can guess demand but cannot measure it. Monthly Google search volume, CPC and competition for up to 1,000 keywords (US) in one call. 1 credit per 10 distinct keywords, minimum 20 credits per call: up to 200 keywords cost 20 credits, 1,000 cost 100. Send every keyword you care about in one call rather than one at a time. Use it to decide which prompts from suggest_prompts are worth a check.

Not available on every deployment: returns 404 not_found when this server is not configured for it. GET /me lists what is configured.

Request

Request body (JSON)

  • keywords · string[] · required — Up to 1,000 phrases in ONE call. Duplicates are collapsed. 1 credit per 10 distinct keywords, minimum 20 credits per call — anything up to 200 keywords costs the same 20 credits, so batch. 1–1,000 items

Example request

curl -s https://geondex.com/api/v1/volume -H "Authorization: Bearer gx_YOUR_KEY" -H "content-type: application/json" -d '{"keywords":["table tennis blade","best table tennis blade for beginners","ttsensei blade finder"]}'

Response

200 with the envelope every tool returns: a one-line summary, the full data, and credits: { charged, remaining }. On a free call charged is 0 and remaining is null.

Fields of data

  • rows · object[]
  • rows[].keyword · string
  • rows[].searchVolume · number | null — Average monthly Google searches; null when the API has no data
  • rows[].cpc · number | null
  • rows[].competition · string | null — Google Ads competition: LOW, MEDIUM or HIGH
  • rows[].competitionIndex · number | null — Google Ads competition index, 0-100

Example response

Real-shaped, checked against the output schema by a test. Long lists are shortened.

{
  "summary": "3 keywords; highest volume \"table tennis blade\" at 6600/mo.",
  "data": {
    "rows": [
      {
        "keyword": "table tennis blade",
        "searchVolume": 6600,
        "cpc": 0.84,
        "competition": "HIGH",
        "competitionIndex": 100
      },
      {
        "keyword": "best table tennis blade for beginners",
        "searchVolume": 390,
        "cpc": 0.62,
        "competition": "HIGH",
        "competitionIndex": 88
      },
      {
        "keyword": "ttsensei blade finder",
        "searchVolume": null,
        "cpc": null,
        "competition": null,
        "competitionIndex": null
      }
    ]
  },
  "credits": {
    "charged": 20,
    "remaining": 165
  }
}

Errors

Every error has the body {"error":{"code":"…","message":"…"}} and is not charged.

HTTPWhen
400Bad input
401Missing or invalid key
402Out of credits
404Tool not available on this server
429Rate limited
502Upstream failure

Every error.code and what to do about it: Errors & rate limits.

On this page