{
  "url": "https://telipot.com/catalog/tasks/exa.web.page.similar",
  "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": []
}
