SEOpost/ranked-keywords

Keywords a domain ranks for

CompetitorsKeywords
Cost / request

$0.01

Response format

JSON

Protocol

REST

Description

Returns the keywords a domain (or a specific page) currently ranks for in Google, with position, search volume, and the ranked URL. The core competitor research call: point it at any domain to see its organic footprint. Cost scales with rows, so keep `limit` at the default 100 and use `filters` (e.g. position <= 20) instead of pulling thousands of rows. Row shape: items[].keyword_data.keyword_info.search_volume, items[].keyword_data.keyword_properties.keyword_difficulty, items[].ranked_serp_element.serp_item.rank_absolute.

Parameters

bodyRequest Bodyrequired

Content type: application/json

{
  "type": "object",
  "required": [
    "target"
  ],
  "properties": {
    "target": {
      "type": "string",
      "description": "Domain (e.g. 'example.com', no protocol) or full page URL to analyze."
    },
    "location_code": {
      "type": "integer",
      "description": "Geo target as a location code. Default 2840 (United States).",
      "default": 2840
    },
    "language_code": {
      "type": "string",
      "description": "Two-letter language code. Default 'en'.",
      "default": "en"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 100,
      "description": "Max keywords to return. Default 100. Cost scales with rows."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Pagination offset."
    },
    "filters": {
      "type": "array",
      "items": {},
      "description": "Optional filter expression, e.g. [[\"ranked_serp_element.serp_item.rank_absolute\", \"<=\", 20]]."
    },
    "order_by": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sort rules, e.g. [\"keyword_data.keyword_info.search_volume,desc\"]."
    }
  }
}

Responses

Ranked keywords with positions and volumes in `result[0].items`.

{
  "type": "object"
}

Agent / Developer Schema

Machine-readable formats for integrating this endpoint into AI agents and toolchains.

{
  "operationId": "ranked_keywords",
  "method": "post",
  "path": "/ranked-keywords",
  "summary": "Keywords a domain ranks for",
  "description": "Returns the keywords a domain (or a specific page) currently ranks for in Google, with position, search volume, and the ranked URL. The core competitor research call: point it at any domain to see its organic footprint. Cost scales with rows, so keep `limit` at the default 100 and use `filters` (e.g. position <= 20) instead of pulling thousands of rows. Row shape: items[].keyword_data.keyword_info.search_volume, items[].keyword_data.keyword_properties.keyword_difficulty, items[].ranked_serp_element.serp_item.rank_absolute.",
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "target"
          ],
          "properties": {
            "target": {
              "type": "string",
              "description": "Domain (e.g. 'example.com', no protocol) or full page URL to analyze."
            },
            "location_code": {
              "type": "integer",
              "description": "Geo target as a location code. Default 2840 (United States).",
              "default": 2840
            },
            "language_code": {
              "type": "string",
              "description": "Two-letter language code. Default 'en'.",
              "default": "en"
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000,
              "default": 100,
              "description": "Max keywords to return. Default 100. Cost scales with rows."
            },
            "offset": {
              "type": "integer",
              "minimum": 0,
              "description": "Pagination offset."
            },
            "filters": {
              "type": "array",
              "items": {},
              "description": "Optional filter expression, e.g. [[\"ranked_serp_element.serp_item.rank_absolute\", \"<=\", 20]]."
            },
            "order_by": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Sort rules, e.g. [\"keyword_data.keyword_info.search_volume,desc\"]."
            }
          }
        },
        "example": {
          "target": "close.com",
          "limit": 100,
          "order_by": [
            "keyword_data.keyword_info.search_volume,desc"
          ]
        }
      }
    }
  },
  "responses": [
    {
      "statusCode": "200",
      "description": "Ranked keywords with positions and volumes in `result[0].items`.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object"
          }
        }
      }
    },
    {
      "statusCode": "400",
      "description": "Bad request or upstream task error."
    },
    {
      "statusCode": "401",
      "description": "Unauthorized."
    },
    {
      "statusCode": "429",
      "description": "Too many requests."
    },
    {
      "statusCode": "5XX",
      "description": "Upstream error."
    }
  ]
}

Pricing

$0.01per successful request

Credits are deducted from your agntdata balance on each successful API call. Failed requests (4xx/5xx) are not charged.

Start using this endpoint

Generate your API key and make your first call in under a minute. Free tier available with transparent pricing.