SEO API

SEO Keyword overview API

Get AnyAPI SEO keyword metrics including search volume, CPC, competition, difficulty, and search intent as normalized JSON.

$0.180543/1k keywords, pay per request, no subscription.

What the API returnedkeywords[0]
{
"keyword": "project management software",
"searchVolume": 40500,
"monthlySearches": [...],
"cpc": 14.2,
"bidLow": 6.8,
"bidHigh": 21.6,
"competition": "HIGH",
"keywordDifficulty": 73,
... 2 more fields
}
Uptime
100.00%
30d · 174 calls
Requests
179
30d · weekly, last 12 wks
Response
1.1s
median · 30d

Try it

Get SEO keyword overview in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 16 of 17 fields. See every field

{
  "found": true,
  "data": {
    "keywords": [
      {
        "keyword": "project management software",
        "searchVolume": 40500,
        "monthlySearches": [
          {
            "year": 2025,
            "month": 6,
            "searchVolume": 37200
          },
          {
            "year": 2025,
            "month": 7,
            "searchVolume": 39800
          },
          {
            "year": 2025,
            "month": 8,
            "searchVolume": 40500
          }
        ],
        "cpc": 14.2,
        "bidLow": 6.8,
        "bidHigh": 21.6,
        "competition": "HIGH",
        "keywordDifficulty": 73,
        "searchIntent": "commercial",
        "updatedUtc": 1758844800
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • keywordsarray

    ["project management software"]

    SEO keywords to analyze.

  • languagestring

    en

    Language code for SEO metrics.

  • locationinteger

    2840

    Location code for SEO metrics. The default is the United States.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each keyworddata.keywords[]

SEO keyword metric records. Populated whenever the provider has data for the entity.

  • bidHighnumber

    21.6

    Upper bound of the estimated paid-search top-of-page bid in USD.

  • bidLownumber

    6.8

    Lower bound of the estimated paid-search top-of-page bid in USD.

  • competitionstring

    HIGH

    Paid-search competition level for the keyword. Populated whenever the provider has data for the entity.

  • cpcnumber

    14.2

    Average paid-search cost per click in USD. Populated whenever the provider has data for the entity.

  • keywordstring

    project management software

    Keyword phrase. Populated whenever the provider has data for the entity.

  • keywordDifficultyinteger

    73

    Estimated organic ranking difficulty on a 0-100 scale. Populated whenever the provider has data for the entity.

  • searchIntentstring

    commercial

    Primary SEO search intent for the keyword. Populated whenever the provider has data for the entity.

  • searchVolumeinteger

    40500

    Average monthly search volume for the keyword. Populated whenever the provider has data for the entity.

  • updatedUtcnumber

    1758844800

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

each monthlySearchedata.keywords[].monthlySearches[]

Monthly search-volume history for the keyword.

  • monthinteger

    6

    Calendar month number for the monthly search-volume record.

  • searchVolumeinteger

    37200

    Search volume for the month.

  • yearinteger

    2025

    Calendar year for the monthly search-volume record.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the SEO Keyword overview API

The AnyAPI SEO Keyword overview API returns SEO keyword overview data as normalized JSON from one POST call to /v1/run/seo.keyword_overview. Get AnyAPI SEO keyword metrics including search volume, CPC, competition, difficulty, and search intent as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $0.18 per 1,000 keywords, and never more than $0.12638 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of SEO keyword overview calls through AnyAPI succeeded, with a median response time of 1.1 seconds across 174 measured calls.

It costs $0.18 per 1,000 keywords, and never more than $0.12638 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Get AnyAPI SEO keyword metrics including search volume, CPC, competition, difficulty, and search intent as normalized JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of SEO keyword overview calls through AnyAPI succeeded, with a median response time of 1.1 seconds across 174 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required.

Send a POST request to https://api.getanyapi.com/v1/run/seo.keyword_overview with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.