Glasser

Provided by DataForSEO

Find published content matching a keyword with DataForSEO

From $0.024 per callanswers within 30s

Find the web pages and articles that mention one keyword, phrase or topic, drawn from DataForSEO's citation index of crawled page text. One row per page: its URL, domain, title, author, snippet, publication date, page type, domain rank and a prominence score, ordered by that score unless order_by says otherwise. The rows can be limited to page types such as blogs, news sites, message boards or online stores; up to 1,000 pages per call, with an offset or offset token for the following pages. One request per call, priced by the vendor's own rate card; an empty result set is reported as no result.

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 DataForSEO endpoint /v3/content_analysis/search/live on Glasser.

Step 2Try a specific example task

When you need to plan new content, you might organize keyword ideas into related topics to build a workable content plan.

Copy this prompt into your agent to group keyword ideas for your content plan.

Prompt
Use dataforseo:/v3/content_analysis/search/live on Glasser.
Group the returned keywords into topics I can use to plan content.

Endpoint structure

json
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "keyword"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "limit": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0
    },
    "filters": {
      "type": "array",
      "description": "DataForSEO filter expression, passed through unchanged: one condition [field, operator, value], or conditions joined by \"and\" / \"or\" ([[a], \"and\", [b]]). Field names come from this endpoint's result items; the number of conditions allowed is in the endpoint's docUrl."
    },
    "keyword": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "order_by": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 3,
      "description": "DataForSEO sorting rules, passed through unchanged: up to 3 \"field,asc\" or \"field,desc\" strings, using the same field names as filters."
    },
    "page_type": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2048,
        "minLength": 1
      },
      "maxItems": 100,
      "minItems": 1
    },
    "rank_scale": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "search_mode": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "offset_token": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "keyword_fields": {
      "type": "object"
    }
  },
  "additionalProperties": false
}

How pricing works

Base feeThe same price with or without matching data.$0.024
Per rowFor each row returned.$0.000036
Maximum per RunThe total charge will not exceed this amount.$0.06
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 7Provider documentation ↗