{
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    },
    "schemas": {},
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "links": {},
    "callbacks": {},
    "pathItems": {}
  },
  "info": {
    "description": "",
    "title": "SpyFu",
    "version": "1",
    "x-aisa-capabilities": {
      "idempotency": "Idempotency-Key",
      "max_price": "X-AISA-Max-Price-USD",
      "quote": {
        "header": "X-AISA-Cost-Mode",
        "value": "quote"
      }
    },
    "x-aisa-configured-paths": [
      "/apis/v1/spyfu/google-domain-ad-history",
      "/apis/v1/spyfu/google-domain-competitors",
      "/apis/v1/spyfu/google-domain-overview",
      "/apis/v1/spyfu/google-domain-paid-keywords",
      "/apis/v1/spyfu/google-domain-ppc-competitors",
      "/apis/v1/spyfu/google-domain-ranked-keywords"
    ],
    "x-aisa-document": {
      "facts_hash": "ce753df3e0f9e74e5806dcbad1d277991749d173b751d37f28f4295fb56855a6",
      "generator_version": "3",
      "protocol_version": "1",
      "schema_version": "1",
      "composer_version": "28",
      "response_pending": [
        {
          "operation_id": "spyfu.google-domain-ad-history",
          "path": "/apis/v1/spyfu/google-domain-ad-history",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        {
          "operation_id": "spyfu.google-domain-competitors",
          "path": "/apis/v1/spyfu/google-domain-competitors",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        {
          "operation_id": "spyfu.google-domain-overview",
          "path": "/apis/v1/spyfu/google-domain-overview",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        {
          "operation_id": "spyfu.google-domain-paid-keywords",
          "path": "/apis/v1/spyfu/google-domain-paid-keywords",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        {
          "operation_id": "spyfu.google-domain-ppc-competitors",
          "path": "/apis/v1/spyfu/google-domain-ppc-competitors",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        {
          "operation_id": "spyfu.google-domain-ranked-keywords",
          "path": "/apis/v1/spyfu/google-domain-ranked-keywords",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        }
      ],
      "document_hash": "sha256:8f972d318d22ccb2fe3a3cf523fd02b5be160e0be247148154d2462e4ecbdef1"
    },
    "x-aisa-plans": {
      "builder": 1.0,
      "display_plan": "payg",
      "payg": 1.0,
      "similarweb_payg": 1.0,
      "team": 1.0,
      "version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb"
    },
    "x-aisa-provider": "spyfu",
    "x-aisa-catalogs": {
      "spyfu": {
        "title": "SpyFu",
        "description": "",
        "x-aisa-document": {
          "facts_hash": "ce753df3e0f9e74e5806dcbad1d277991749d173b751d37f28f4295fb56855a6",
          "generator_version": "3",
          "protocol_version": "1",
          "schema_version": "1"
        },
        "x-aisa-plans": {
          "builder": 1.0,
          "display_plan": "payg",
          "payg": 1.0,
          "similarweb_payg": 1.0,
          "team": 1.0,
          "version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb"
        },
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          }
        }
      }
    }
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "openapi": "3.1.0",
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "paths": {
    "/apis/v1/spyfu/google-domain-ad-history": {
      "get": {
        "description": "The path segment is `cloud_ad_history_api`, NOT `ad_history_api` — the reference slug and\nthe URL disagree. Siblings in the same family: getDomainAdHistoryByDate, getTermAdHistory,\ngetTermAdHistoryWithStats.\nFor the ads a domain is running RIGHT NOW rather than historically, use\n`/apis/serp_api/v2/ppc/getPaidSerps` (`query` required), which is on the $2.00 PPC CPM.\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.003 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-ad-history",
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "examples": {
              "default": {
                "value": "example.com"
              },
              "minimal": {
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "the advertiser's root domain"
            }
          },
          {
            "name": "keywordFilter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "restrict to ads that ran on keywords matching this"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — 1 to 10,000, DEFAULT 5.\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request."
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Best (default) | Worst | KeywordAsc | KeywordDesc | SearchDateId"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "startingRow",
            "required": true,
            "schema": {
              "enum": [
                1
              ],
              "maximum": 1,
              "minimum": 1,
              "type": "integer",
              "description": "1-based; default 1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Google Ads history by domain — ad copy and keywords",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.003,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "bd0f0a592f6e"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-ad-history",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-ad-history"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-ad-history",
          "path": "/apis/v1/spyfu/google-domain-ad-history",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-ad-history?domain=example.com&pageSize=1&startingRow=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-ad-history"
      }
    },
    "/apis/v1/spyfu/google-domain-competitors": {
      "get": {
        "description": "note the tighter pageSize ceiling of 550 on the competitors family. `CommonTerms` is the keyword-overlap count that makes the ranking meaningful.\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.0002 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-competitors",
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "examples": {
              "default": {
                "value": "example.com"
              },
              "minimal": {
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "bare domain — this family uses `domain`, not `query`"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — 1 to 550 on this family (not 10,000), DEFAULT 5"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain | CommonTerms | Rank; default Rank"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ascending | Descending; default Descending"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "startingRow",
            "required": true,
            "schema": {
              "enum": [
                1
              ],
              "maximum": 1,
              "minimum": 1,
              "type": "integer",
              "description": "1 to 550"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Google organic competitors by domain — shared keywords",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.0002,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "79dce4155c7e"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-competitors",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-competitors"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-competitors",
          "path": "/apis/v1/spyfu/google-domain-competitors",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-competitors?domain=example.com&pageSize=1&startingRow=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-competitors"
      }
    },
    "/apis/v1/spyfu/google-domain-overview": {
      "get": {
        "description": "`/apis/domain_stats_api/v2/getAllDomainStats` is the same report over the domain's ENTIRE\nhistory — one row per month since SpyFu started tracking it, which for an old domain is\n150+ billable rows from a call that looks parameterless. That full-history variant is what\ntreg's registry probes; prefer this endpoint with an explicit `pastNMonths` for real work.\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.001 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-overview",
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "two-letter code from SpyFu's 28-value enum; default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "examples": {
              "default": {
                "value": "example.com"
              },
              "minimal": {
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "bare domain, no scheme"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pastNMonths",
            "required": true,
            "schema": {
              "maximum": 12,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — how many recent months to return, ONE ROW PER MONTH. Ask for 1 unless you need the trend"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Google overview by domain — keywords, clicks, ad budget",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.001,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "91822abe3052"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-overview",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-overview"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-overview",
          "path": "/apis/v1/spyfu/google-domain-overview",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-overview?domain=example.com&pastNMonths=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-overview"
      }
    },
    "/apis/v1/spyfu/google-domain-paid-keywords": {
      "get": {
        "description": "rows carry keyword, searchVolume, liveSearchVolume, rankingDifficulty, totalMonthlyClicks, broad/phrase/exactCostPerClick, broad/phrase/exactMonthlyCost, paidCompetitors, distinctCompetitors and serpFeaturesCsv. Note the path segment is `keyword_api`, unlike the other PPC endpoints which live under `serp_api`.\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.002 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-paid-keywords",
        "parameters": [
          {
            "name": "adultFilter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "default true — filters adult keywords out"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "name": "excludeTerms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "drop keywords containing these terms"
            }
          },
          {
            "name": "includeTerms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "only keywords containing these terms"
            }
          },
          {
            "name": "isQuestion",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "restrict to question keywords"
            }
          },
          {
            "name": "isTransactionalIntent",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "restrict to transactional-intent keywords"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — rows to return, 1 to 10,000, DEFAULT 5.\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request."
            }
          },
          {
            "examples": {
              "default": {
                "value": "nike"
              },
              "minimal": {
                "value": "nike"
              }
            },
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "the advertiser — a domain, subdomain, URL or path. Note this family uses `query`, not `domain`"
            }
          },
          {
            "name": "searchVolume.min",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "range filters use this dotted form; also searchVolume.max, liveSearchVolume.min/max, costPerClick.min/max, monthlyCost.min/max, adCount.min/max, keywordDifficulty.min/max"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default SearchVolume"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ascending | Descending; default Descending"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "startingRow",
            "required": true,
            "schema": {
              "enum": [
                1
              ],
              "maximum": 1,
              "minimum": 1,
              "type": "integer",
              "description": "1-based row offset; default 1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Top Google Ads keywords by domain — search volume, CPC",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.002,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "693a4b239715"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-paid-keywords",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-paid-keywords"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-paid-keywords",
          "path": "/apis/v1/spyfu/google-domain-paid-keywords",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-paid-keywords?pageSize=1&query=nike&startingRow=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-paid-keywords"
      }
    },
    "/apis/v1/spyfu/google-domain-ppc-competitors": {
      "get": {
        "description": "identical parameter shape to spyfu.google.domain.competitors — the only difference is `/ppc/` instead of `/seo/` in the path, which switches the overlap from organic keywords to paid ones. SpyFu's core competence is the paid side, so this is usually the more interesting of the two.\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.0002 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-ppc-competitors",
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "examples": {
              "default": {
                "value": "example.com"
              },
              "minimal": {
                "value": "example.com"
              }
            },
            "in": "query",
            "name": "domain",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "bare domain"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — 1 to 550, DEFAULT 5"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Domain | CommonTerms | Rank; default Rank"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ascending | Descending; default Descending"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "startingRow",
            "required": true,
            "schema": {
              "enum": [
                1
              ],
              "maximum": 1,
              "minimum": 1,
              "type": "integer",
              "description": "1 to 550"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Google Ads competitors by domain — shared paid keywords",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.0002,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "b94b1f79039c"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-ppc-competitors",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-ppc-competitors"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-ppc-competitors",
          "path": "/apis/v1/spyfu/google-domain-ppc-competitors",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-ppc-competitors?domain=example.com&pageSize=1&startingRow=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-ppc-competitors"
      }
    },
    "/apis/v1/spyfu/google-domain-ranked-keywords": {
      "get": {
        "description": "SpyFu has NO `/apis/keyword_api/v2/seo/getMostSuccessful` — that path does not exist; this\nis the organic counterpart of the PPC getMostSuccessful endpoint.\nRows carry keyword, topRankedUrl, rank, rankChange, searchVolume, keywordDifficulty,\nseoClicks, seoClicksChange, the CPC triple and paidCompetitors.\n`/apis/serp_api/v2/seo/getSeoKeywords` is the generic form of the same report, with a\nREQUIRED `searchType` (MostValuable, GainedClicks, LostRanks, NewlyRanked …).\n\n<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.005 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "spyfu.google-domain-ranked-keywords",
        "parameters": [
          {
            "name": "adultFilter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "default true"
            }
          },
          {
            "name": "compareDomain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "a second domain — adds yourRank, yourRankChange and yourUrl to every row, turning this into a gap report"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default US",
              "examples": [
                "US"
              ]
            }
          },
          {
            "name": "exactMatch",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "excludeHomepageKeywords",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "drop keywords whose ranking URL is the homepage"
            }
          },
          {
            "name": "excludeTerms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeTerms",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "COST DIAL — rows to return, 1 to 10,000, DEFAULT 5"
            }
          },
          {
            "examples": {
              "default": {
                "value": "nike"
              },
              "minimal": {
                "value": "nike"
              }
            },
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "a domain, subdomain, URL or path"
            }
          },
          {
            "name": "rank.max",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "description": "range filters use this dotted form; also rank.min, searchVolume.min/max, keywordDifficulty.min/max, seoClicks.min/max, rankChange.min/max, costPerClick.min/max"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "default SearchVolume"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Ascending | Descending; default Descending"
            }
          },
          {
            "examples": {
              "default": {
                "value": 1
              },
              "minimal": {
                "value": 1
              }
            },
            "in": "query",
            "name": "startingRow",
            "required": true,
            "schema": {
              "enum": [
                1
              ],
              "maximum": 1,
              "minimum": 1,
              "type": "integer",
              "description": "1-based; default 1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Google keywords a domain ranks for — clicks, search volume",
        "tags": [
          "SpyFu"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "seo",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.005,
          "estimate_source": "profile_seed",
          "evidence_source": "response_header",
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "open_query": true,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "fda7874df42d",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "c54ef1a7c1fb"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "spyfu",
        "x-aisa-runtime-operation": {
          "operation_id": "spyfu.google-domain-ranked-keywords",
          "method": "GET",
          "path": "/apis/v1/spyfu/google-domain-ranked-keywords"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/catalog/",
          "fetched_at": "2026-11-07T11:52:30.302332+00:00",
          "content_hash": "sha256:3ba9b222c7b0d3b69c4895ec21da5d6e6d8a55ffb2152b5d5c1a65bcc2973566",
          "raw_content_hash": "sha256:0804b46b6fb80c59d215e1ed43032d11e13328e2c2ade48d85c75ae00fd9cb68",
          "converter": "scripts/prepare_treg_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review immutable provider declarations and both gateway HTTP boundaries together.",
          "source_git_revision": "95670bbae5561fce0ea55c1e0ee4216eb34cbf18",
          "source_pages": [
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/application/call/resolve.py",
              "scope": "pathParams arrive as query; array enum and numeric bounds semantics"
            },
            {
              "url": "https://raw.githubusercontent.com/superdesigndev/treg/95670bbae5561fce0ea55c1e0ee4216eb34cbf18/src/treg/domain/catalog/schema/common.py",
              "scope": "Parameter declaration vocabulary and optional required flag"
            }
          ],
          "qualification": "Request-only source review candidate. Exact declarations retained; unsupported shapes remain pending. No formal approval or response schema asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:5284e1076511154e5bd27c88cf8f1f29cf6ca5b51a779bd931e39faa66f99978"
        },
        "x-aisa-response-pending": {
          "operation_id": "spyfu.google-domain-ranked-keywords",
          "path": "/apis/v1/spyfu/google-domain-ranked-keywords",
          "method": "GET",
          "statuses": [
            "200"
          ],
          "reason": "public success response has no authoritative payload declaration"
        },
        "x-codeSamples": [
          {
            "lang": "text",
            "label": "Reference example",
            "source": "# Fixed reference example. Playground inputs do not update this sample.\ncurl --request GET \\\n  --url 'https://api.aisa.one/apis/v1/spyfu/google-domain-ranked-keywords?pageSize=1&query=nike&startingRow=1' \\\n  --header 'Authorization: Bearer <token>'"
          }
        ],
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/spyfu/spyfu-google-domain-ranked-keywords"
      }
    }
  }
}
