{
  "url": "https://telipot.com/catalog/capabilities/web.page.similar",
  "id": "web.page.similar",
  "description": "Web pages similar to the page at a URL",
  "platform": "web",
  "providers": [
    {
      "slug": "exa",
      "name": "Exa"
    }
  ],
  "tasks": 1,
  "taskPages": [
    {
      "id": "exa.web.page.similar",
      "name": "Web pages similar to a URL, with titles and scores",
      "provider": {
        "slug": "exa",
        "name": "Exa"
      },
      "capability": "web.page.similar",
      "platform": "web",
      "kind": "data",
      "tier": "core",
      "identity": "key",
      "identityLabel": "Your plan",
      "price": {
        "confidence": "unknown",
        "source": "docs",
        "sourceUrl": "https://exa.ai/docs/admin/pricing",
        "checked": "2026-10-05",
        "note": "The pricing page lists no rate for this route, and the vendor's OpenAPI document marks it deprecated, so no price is recorded; the response reports its charge in costDollars.total.",
        "settles": "The charge Exa reports in costDollars.total",
        "type": "per_call",
        "state": "unknown",
        "label": "Price unknown",
        "detail": "Not listed, not free"
      },
      "providers": 1,
      "retention": "standard",
      "runsOn": "byoc",
      "live": true,
      "summary": "Find links similar to the provided URL and optionally retrieve their contents. Deprecated: prefer `/search` with a query describing the source.",
      "method": "POST",
      "path": "/findSimilar",
      "host": "https://api.exa.ai",
      "docsUrl": "https://exa.ai/docs/exa-spec.yaml",
      "auth": {
        "scheme": "api_key",
        "label": "api_key · in header as x-api-key",
        "short": "api_key · x-api-key"
      },
      "scope": "any_account",
      "principal": "organization",
      "requiredScopes": [],
      "verification": {
        "state": "verified",
        "label": "Verified on 2026-10-05",
        "detail": "We ran a real request and checked the answer. This is a spot check, not a success rate."
      },
      "input": [
        {
          "name": "url",
          "location": "body",
          "type": "string",
          "required": true,
          "constraints": [
            "at least 3"
          ],
          "note": "The url for which you would like to find similar links. The vendor marks this route deprecated in its OpenAPI document and prefers /search with a query describing the source."
        },
        {
          "name": "numResults",
          "location": "body",
          "type": "integer",
          "required": false,
          "constraints": [
            "1 to 100",
            "default 10"
          ],
          "note": "Number of results to return. The maximum public limit is 100 results; contact sales (hello@exa.ai) for more."
        },
        {
          "name": "excludeSourceDomain",
          "location": "body",
          "type": "boolean",
          "required": false,
          "constraints": [],
          "note": "If true, results from the same domain as the source url are excluded."
        },
        {
          "name": "includeDomains",
          "location": "body",
          "type": "array",
          "required": false,
          "constraints": [
            "at most 1200"
          ],
          "note": "Domains or domain paths to search, each a hostname such as example.com, a hostname with a path prefix such as example.com/docs, or a wildcard subdomain such as *.example.com."
        },
        {
          "name": "excludeDomains",
          "location": "body",
          "type": "array",
          "required": false,
          "constraints": [
            "at most 1200"
          ],
          "note": "Domains or domain paths to leave out, in the same forms as includeDomains."
        },
        {
          "name": "startPublishedDate",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Only links with a published date after this are returned. ISO 8601 date-time."
        },
        {
          "name": "endPublishedDate",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Only links with a published date before this are returned. ISO 8601 date-time."
        },
        {
          "name": "category",
          "location": "body",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "A data category to focus on. Known categories are company, publication, news, personal site, financial report and people; other strings are accepted as category hints. The company and people categories do not support startPublishedDate, endPublishedDate or excludeDomains, and using them returns a 400."
        },
        {
          "name": "contents",
          "location": "body",
          "type": "object",
          "required": false,
          "constraints": [],
          "note": "What to return for each result, nested under this field, such as { highlights: true } or { text: { maxCharacters: 2000 } }. Without it each result carries metadata such as title, URL and publication date."
        }
      ],
      "sampleInput": {
        "url": "https://example.com",
        "numResults": 1
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The url for which you would like to find similar links. The vendor marks this route deprecated in its OpenAPI document and prefers /search with a query describing the source.",
            "examples": [
              "https://example.com"
            ],
            "minLength": 3
          },
          "numResults": {
            "type": "integer",
            "description": "Number of results to return. The maximum public limit is 100 results; contact sales (hello@exa.ai) for more.",
            "default": 10,
            "minimum": 1,
            "maximum": 100
          },
          "excludeSourceDomain": {
            "type": "boolean",
            "description": "If true, results from the same domain as the source url are excluded."
          },
          "includeDomains": {
            "type": "array",
            "description": "Domains or domain paths to search, each a hostname such as example.com, a hostname with a path prefix such as example.com/docs, or a wildcard subdomain such as *.example.com.",
            "maxItems": 1200
          },
          "excludeDomains": {
            "type": "array",
            "description": "Domains or domain paths to leave out, in the same forms as includeDomains.",
            "maxItems": 1200
          },
          "startPublishedDate": {
            "type": "string",
            "description": "Only links with a published date after this are returned. ISO 8601 date-time.",
            "examples": [
              "2026-01-15T00:00:00Z"
            ]
          },
          "endPublishedDate": {
            "type": "string",
            "description": "Only links with a published date before this are returned. ISO 8601 date-time.",
            "examples": [
              "2026-09-30T00:00:00Z"
            ]
          },
          "category": {
            "type": "string",
            "description": "A data category to focus on. Known categories are company, publication, news, personal site, financial report and people; other strings are accepted as category hints. The company and people categories do not support startPublishedDate, endPublishedDate or excludeDomains, and using them returns a 400."
          },
          "contents": {
            "type": "object",
            "description": "What to return for each result, nested under this field, such as { highlights: true } or { text: { maxCharacters: 2000 } }. Without it each result carries metadata such as title, URL and publication date.",
            "examples": [
              {
                "highlights": true
              }
            ]
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "output": [
        {
          "name": "requestId",
          "type": "string"
        },
        {
          "name": "results",
          "type": "object[]"
        },
        {
          "name": "searchTime",
          "type": "number",
          "description": "Server-side processing time in milliseconds"
        },
        {
          "name": "costDollars",
          "type": "object",
          "description": "Estimated dollar cost of the completed request; billing is computed from usage counters, not from this object."
        }
      ],
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "url"
              ],
              "properties": {
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "id": {
                  "type": "string",
                  "description": "Temporary document id, accepted by the contents route"
                },
                "publishedDate": {
                  "type": "string",
                  "description": "Estimated creation date parsed from the page"
                },
                "author": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "image": {
                  "type": "string"
                },
                "favicon": {
                  "type": "string"
                },
                "text": {
                  "type": "string",
                  "description": "Full page text, present only when requested"
                },
                "highlights": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "summary": {
                  "type": "string"
                },
                "subpages": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "entities": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "extras": {
                  "type": "object"
                },
                "score": {
                  "type": "number",
                  "description": "Similarity to the source URL; compare scores only within one response"
                }
              }
            }
          },
          "searchTime": {
            "type": "number",
            "description": "Server-side processing time in milliseconds"
          },
          "costDollars": {
            "type": "object",
            "description": "Estimated dollar cost of the completed request; billing is computed from usage counters, not from this object.",
            "properties": {
              "total": {
                "type": "number"
              },
              "search": {
                "type": "object",
                "properties": {
                  "neural": {
                    "type": "number"
                  },
                  "keyword": {
                    "type": "number"
                  }
                }
              },
              "summary": {
                "type": "number"
              },
              "contents": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "number"
                  },
                  "highlights": {
                    "type": "number"
                  },
                  "summary": {
                    "type": "number"
                  }
                }
              }
            }
          }
        }
      },
      "example": {
        "file": "examples/exa.web.page.similar.json",
        "json": {
          "requestId": "2b29b669e9b8fc7c24055fcdb003cefb",
          "results": [
            {
              "id": "https://example.re/",
              "title": "Hello World!",
              "url": "https://example.re/",
              "author": null,
              "score": 0.8696224689483643
            }
          ],
          "costDollars": {
            "total": 0.004,
            "search": {
              "neural": 0.004
            }
          },
          "searchTime": 186.05773100000806
        }
      },
      "commands": {
        "mode": "run",
        "cli": "telipot run exa.web.page.similar \\\n  --input-json '{\"url\":\"https://example.com\",\"numResults\":1}'",
        "http": "curl https://api.telipot.com/v1/tasks/exa.web.page.similar/run \\\n  -H \"Authorization: Bearer $TELIPOT_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\":\"https://example.com\",\"numResults\":1}'",
        "quote": "telipot run exa.web.page.similar \\\n  --input-json '{\"url\":\"https://example.com\",\"numResults\":1}' \\\n  --quote"
      },
      "siblings": []
    }
  ]
}
