SEOpost/serp

Live Google search results

Search
Cost / request

$0.01

Response format

JSON

Protocol

REST

Description

Runs a live Google search and returns the ranked results: organic listings with position, title, URL and snippet, plus SERP features (featured snippets, people-also-ask, local pack). Use it to check what ranks for a keyword, verify a page's position, or find competitor pages. Default depth is 10 results, which is the cheapest shape and right for most checks; raise `depth` only when you truly need deeper pages, since cost scales per 10 results. Search operators (site:, inurl:, filetype:) work but multiply the upstream cost roughly 5x, so use them deliberately. At default depth this is one of the cheapest calls in the source — well under half a cent — so prefer it for quick spot checks.

Parameters

bodyRequest Bodyrequired

Content type: application/json

{
  "type": "object",
  "required": [
    "keyword"
  ],
  "properties": {
    "keyword": {
      "type": "string",
      "maxLength": 700,
      "description": "The search query. Supports Google search operators (site:, inurl:, filetype:), which cost roughly 5x."
    },
    "location_code": {
      "type": "integer",
      "description": "Geo target as a location code. Common values: 2840 United States (default), 2826 United Kingdom, 2124 Canada, 2036 Australia, 2276 Germany, 2250 France, 2724 Spain, 2356 India, 2076 Brazil.",
      "default": 2840
    },
    "language_code": {
      "type": "string",
      "description": "Two-letter language code, e.g. 'en' (default), 'de', 'es', 'fr', 'pt'.",
      "default": "en"
    },
    "device": {
      "type": "string",
      "enum": [
        "desktop",
        "mobile"
      ],
      "description": "Device type to emulate. Default 'desktop'.",
      "default": "desktop"
    },
    "depth": {
      "type": "integer",
      "minimum": 10,
      "maximum": 700,
      "default": 10,
      "description": "Number of results to return, in steps of 10. Default 10 (cheapest). Each additional 10 results bills as one more results page."
    }
  }
}

Responses

Ranked search results with SERP features. `result[0].items` holds the listings.

{
  "type": "object"
}

Agent / Developer Schema

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

{
  "operationId": "google_search",
  "method": "post",
  "path": "/serp",
  "summary": "Live Google search results",
  "description": "Runs a live Google search and returns the ranked results: organic listings with position, title, URL and snippet, plus SERP features (featured snippets, people-also-ask, local pack). Use it to check what ranks for a keyword, verify a page's position, or find competitor pages. Default depth is 10 results, which is the cheapest shape and right for most checks; raise `depth` only when you truly need deeper pages, since cost scales per 10 results. Search operators (site:, inurl:, filetype:) work but multiply the upstream cost roughly 5x, so use them deliberately. At default depth this is one of the cheapest calls in the source — well under half a cent — so prefer it for quick spot checks.",
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "keyword"
          ],
          "properties": {
            "keyword": {
              "type": "string",
              "maxLength": 700,
              "description": "The search query. Supports Google search operators (site:, inurl:, filetype:), which cost roughly 5x."
            },
            "location_code": {
              "type": "integer",
              "description": "Geo target as a location code. Common values: 2840 United States (default), 2826 United Kingdom, 2124 Canada, 2036 Australia, 2276 Germany, 2250 France, 2724 Spain, 2356 India, 2076 Brazil.",
              "default": 2840
            },
            "language_code": {
              "type": "string",
              "description": "Two-letter language code, e.g. 'en' (default), 'de', 'es', 'fr', 'pt'.",
              "default": "en"
            },
            "device": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ],
              "description": "Device type to emulate. Default 'desktop'.",
              "default": "desktop"
            },
            "depth": {
              "type": "integer",
              "minimum": 10,
              "maximum": 700,
              "default": 10,
              "description": "Number of results to return, in steps of 10. Default 10 (cheapest). Each additional 10 results bills as one more results page."
            }
          }
        },
        "example": {
          "keyword": "best crm for startups",
          "location_code": 2840,
          "language_code": "en"
        }
      }
    }
  },
  "responses": [
    {
      "statusCode": "200",
      "description": "Ranked search results with SERP features. `result[0].items` holds the listings.",
      "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.