Glasser

Provided by Exa

Find Web Pages Similar to One URL (Exa)

From $0.007 per callanswers within 25s

Find the web pages that most resemble one page already in hand: Exa's neural index returns the closest pages by meaning and excludes the source page's own domain, each with title, link, published date and author. One URL per request, not a list of urls, and up to 25 pages. The input is a URL rather than a description — the resemblance is to the page behind that link.

How to run it

Step 1Set up

Once: paste this into your agent's chat. The Skill installs the CLI and logs in by itself. For an agent that cannot use a shell, connect it over MCP instead.

Set up
set up https://glasser.ai/SKILL.md

Show me how to use the Exa endpoint /findSimilar on Glasser.

Step 2Try a specific example task

When you need to answer a research question from a particular webpage, you might collect relevant passages to support your notes.

Copy this prompt into your agent to find passages relevant to your research question.

Prompt
Use exa:/findSimilar on Glasser.
Read my source page and pull passages that answer the research question I provide.

Endpoint structure

json
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https?:\\/\\/",
      "maxLength": 2048,
      "minLength": 8
    },
    "contents": {
      "type": "object",
      "properties": {
        "text": {
          "type": "object",
          "properties": {
            "maxCharacters": {
              "type": "integer",
              "maximum": 10000,
              "minimum": 1
            }
          },
          "additionalProperties": false
        },
        "highlights": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "maxLength": 500,
              "minLength": 1
            },
            "maxCharacters": {
              "type": "integer",
              "maximum": 10000,
              "minimum": 1
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "numResults": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1
    },
    "excludeDomains": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(?=.*\\.)(\\*\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)*(\\/[^\\s]*)?$",
        "maxLength": 253,
        "minLength": 4
      },
      "maxItems": 50,
      "minItems": 1
    },
    "includeDomains": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(?=.*\\.)(\\*\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)*(\\/[^\\s]*)?$",
        "maxLength": 253,
        "minLength": 4
      },
      "maxItems": 50,
      "minItems": 1
    },
    "endPublishedDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$"
    },
    "startPublishedDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$"
    }
  },
  "additionalProperties": false
}

How pricing works

Base feeIncludes up to 10 results. Charged only when data is returned.$0.007
Per additional resultFor each result after the first 10.$0.001
Maximum per RunThe total charge will not exceed this amount.$0.022
Provider errorThe Provider failed to answer.$0.00
Timed outThe Run exceeded its time limit.$0.00
Internal failureAn internal error prevented completion.$0.00
Method POSTVersion 1Provider documentation ↗