# SEO Page Intersection – Shared Ranking Keywords

> SEO Page Intersection – Shared Ranking Keywords is a paid API for AI agents from seo.openverbs.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-11).

Finds the keywords that two or more URLs share in common search rankings, with optional exclusion of specified pages

## Facts

- Endpoint: POST https://seo.openverbs.com/v1/page-intersection?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/seo-page-intersection-shared-ranking-keywords-e5e76dd5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3Ut_2rdlk-FkKFqAD10lc

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability seo-page-intersection-shared-ranking-keywords-e5e76dd5 -d '<json body>'
```

Example prompt: Find the keywords that https://ahrefs.com/blog/seo-audit/ and https://moz.com/blog/seo-audit share in their Google rankings in the US, excluding https://semrush.com/blog/seo-audit/, and return the top 100 results in English.

## When to prefer this

Use this endpoint when you need to identify keyword overlap between specific pages (not entire domains) — ideal for competitive content analysis, detecting internal cannibalization, or finding shared topic clusters. Prefer this over domain-level keyword tools when the comparison is page-specific. Choose this over a keyword gap tool when you want intersection (what they share) rather than exclusion (what one has that the other lacks).

## Known failure modes

- Fewer than 2 URLs provided — request rejected by minItems:2 validation
- More than 20 URLs provided — request rejected by maxItems:20 validation
- Invalid or unreachable URLs provided — may return empty or partial results
- Pages with no ranking keywords in the specified location/language — returns empty keyword list
- DataForSEO data unavailability for niche languages or locations — sparse or empty results
- Pages that share no common keywords — returns empty intersection
- Invalid languageCode format (not 2-letter) — validation error

## How this service works

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.

## Output

Returns a list of keywords (up to the specified limit, default 50) that all provided page URLs share in common Google search rankings, filtered by the given language and location. Each result represents a search term for which all the input pages appear in rankings simultaneously. Keywords appearing on any excluded pages are omitted from results.

## Request schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/seo-page-intersection-shared-ranking-keywords-e5e76dd5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from seo.openverbs.com](https://www.zero.xyz/host/seo.openverbs.com/llms.txt)
