ToolAssay

Given a set of specific page URLs, find the Google keywords those pages jointly

Given a set of specific page URLs, find the Google keywords those pages jointly rank for, with each page's position, URL and estimated traffic (ETV) per keyword, plus search volume, CPC, competition, difficulty and intent. Page-level, not domain-level. Optional exclude_pages narrows to keywords the pages rank for that others do not.

Answeringour last check, 2026-10-04
1 of 1checks answered this week
455 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://seo.openverbs.com/v1/page-intersection

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

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-04 valid payment request 402$0.05 455 ms

Example input (from the provider)

{
  "body": {
    "excludePages": [
      "https://example.com"
    ],
    "limit": 1,
    "pages": [
      "https://example.com",
      "https://example.com"
    ]
  },
  "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": false,
          "properties": {
            "excludePages": {
              "description": "Optional page URLs to exclude: return only keywords the `pages` rank for that these do not.",
              "items": {
                "format": "uri",
                "maxLength": 2048,
                "type": "string"
              },
              "maxItems": 10,
              "type": "array"
            },
            "languageCode": {
              "description": "Language code (2-letter). Defaults to en.",
              "pattern": "^[A-Za-z]{2}$",
              "type": "string"
            },
            "limit": {
              "description": "Maximum keywords to return. Defaults to 50.",
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "locationCode": {
              "description": "DataForSEO location code. Defaults to 2840 (United States).",
              "type": "integer"
            },
            "pages": {
              "description": "Page URLs whose shared ranking keywords to find, e.g. [\"https://a.com/guide\", \"https://b.com/guide\"] (2\u201320).",
              "items": {
                "format": "uri",
                "maxLength": 2048,
                "type": "string"
              },
              "maxItems": 20,
              "minItems": 2,
              "type": "array"
            }
          },
          "required": [
            "pages"
          ],
          "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"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON