Built-in tool

Check Google Rankings

View live Google search rankings for a keyword.

1 creditNo API key needed

Endpoint

Parameters

NameTypeRequiredNote
keywordstring · requiredstringrequired

The search query to fetch rankings for.

depthnumber · optionalnumberoptional

Number of organic SERP results to fetch, and a hard ceiling on the rows returned. Default 10; higher costs more. SERP page blocks (AI Overview, People Also Ask) share the same budget but rank BEHIND the organic results, so they appear only if this number leaves room after them. Raise it by one or two if you want the blocks as well as a full page of results. On a low number over a page carrying about as many blocks as results, neither clearly outnumbers the other, so you get some of each instead.

Default: 10

targetstring · optionalstringoptional

(Optional) Domain to filter results to, e.g. "example.com".

Example: example

language_namestring · optionalstringoptional

Language for results. Defaults to English.

One of: Afrikaans, Akan, Albanian, Amharic, Arabic, Armenian, Azeri, Balinese, Basque, Belarusian and 119 more

Default: English

location_namestring · optionalstringoptional

Country for results. Defaults to United States.

One of: Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Antarctica, Antigua and Barbuda, Argentina, Armenia and 203 more

Default: United States

Response schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "elements"
  ],
  "properties": {
    "elements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "On a SERP page block (AI Overview, People Also Ask, …): the bare domains of the pages it cites, deduplicated. Absent on organic rows."
          },
          "rank_group": {
            "type": [
              "number",
              "null"
            ]
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "domain",
                "url"
              ],
              "properties": {
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "domain": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "additionalProperties": false
            },
            "description": "On a SERP page block: the pages it cites, in the order shown, up to 20. Absent on organic rows."
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "rank_absolute": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": true
      }
    },
    "returned": {
      "type": "number",
      "description": "How many rows this run returned, after any Limit was applied."
    },
    "truncated": {
      "type": "boolean"
    },
    "suggestion": {
      "type": "string"
    },
    "totalCount": {
      "type": "number",
      "description": "How many records the provider says MATCH in total, independent of Limit — routinely in the millions (spotify.com has 2,583,327 ranking pages). It is a match count, NOT how many this endpoint will serve: Limit caps what one call returns, so do not compare it against the row count to judge completeness and do not paginate towards it. Absent when the provider sent no count."
    },
    "totalElements": {
      "type": "number",
      "description": "DEPRECATED — despite the name this is the count RETURNED by this run, not a grand total, so it equals your Limit on a limited run. Kept at that value deliberately: ENG-17058 asked for depth 5 to report 5, and it is a live number in existing flows. Use `returned` for this number or `totalCount` for how many records match."
    },
    "page_blocks_omitted": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "rank_absolute",
          "reason"
        ],
        "properties": {
          "type": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "enum": [
              "depth",
              "no_content"
            ],
            "type": "string"
          },
          "rank_absolute": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "description": "SERP page blocks that sat on the page but are not in `elements` — each gap in the rank_absolute sequence is one of these. `depth`: the block ranked behind the organic results and Depth left no room for it. `no_content`: the block carried nothing to show (an AI Overview the provider had not finished loading). Absent when every block came back, and on a target-filtered run."
    }
  },
  "additionalProperties": true
}

Get started

How to use this tool

  1. Connect your AI

    Add Connie to ChatGPT, Claude or Slack once, and this tool comes with it. There’s no API key or account to set up.

  2. Ask for the outcome

    Describe what you need in plain words. Your AI runs this tool when the job calls for it, along with any others it needs.

  3. Make it a workflow

    Add it as a step in a workflow that runs the same way every time, on a schedule or when something happens.

  4. Stay in control

    Choose whether it runs on its own or asks first. When it asks, you see an Allow or Deny card before any credits are spent.