ToolAssay

Google Ads

Google Ads: Scrape sponsored results from Google search pages at a higher rate than the standard Google Search API. Structured JSON, USD 0.05 per call in USDC — no API key, no account, no subscription, no minimum. Not affiliated with, endorsed by or an official channel of any of the services the results come from. All trademarks and copyright remain the property of their respective owners.

Answeringour last check, 2026-10-26
1 of 1checks answered this week
264 msmedian answer time
$0.05listed price per call
$0.05price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://serp402.com/api/v1/google-ads

CategorySearch and research
Provider hostserp402.com
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-26 valid payment request 402$0.05 264 ms

Example input (from the provider)

{
  "body": {
    "location": "Austin, Texas, United States",
    "q": "popular ai"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": true,
          "properties": {
            "device": {
              "description": "device to use to get the results. It can be set to desktop (default) to use a regular browser, tablet to use a tablet browser (currently using iPads), or\u2026",
              "type": "string"
            },
            "hl": {
              "description": "language to use for the Google search. It's a two or three-letter language code. (e.g., en for English, es for Spanish, or fr for French), optionally followed\u2026",
              "type": "string"
            },
            "location": {
              "description": "from where you want the search to originate. If several locations match the location requested, we'll pick the most popular one. Head to the /locations.json\u2026",
              "type": "string"
            },
            "nfpr": {
              "description": "exclusion of results from an auto-corrected query when the original query is spelled wrong. It can be set to 1 to exclude these results, or 0 to include them\u2026",
              "type": "string"
            },
            "q": {
              "type": "string"
            },
            "safe": {
              "description": "level of filtering for adult content. It can be set to active or off , by default Google will blur explicit content.",
              "type": "string"
            }
          },
          "required": [
            "location"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": true,
          "description": "Google Ads results as structured JSON. The shape follows the source, so fields differ between endpoints; identifiers and routing belonging to the collection layer are stripped.",
          "properties": {
            "attribution": {
              "description": "Where the data comes from and what was done to it. Keep it with the results if you pass them on.",
              "type": "object"
            },
            "endpoint": {
              "description": "Which endpoint answered.",
              "type": "string"
            },
            "meta": {
              "description": "How long the call took.",
              "type": "object"
            },
            "paid": {
              "description": "The settled transaction and network.",
              "type": "object"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON