Glasser

Provided by DataForSEO

Track published content trends within a topic category with DataForSEO

From $0.024 per callanswers within 60s

Track how many pages in one topic category appeared in DataForSEO's index of crawled page text over a date range from a start date to an end date, grouped by day, week or month. The input is a numeric category code from DataForSEO's list of categories, and the whole category is what gets counted. One row per date bucket: the number of pages in that period, their combined rank, the domains that published most of them, and counts by page type, country and language. 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/category_trends/live on Glasser.

Step 2Try a specific example task

When you need to assign a category to a product or topic, you might review the available options to find the closest match.

Copy this prompt into your agent to find a category for your product or topic.

Prompt
Use dataforseo:/v3/content_analysis/category_trends/live on Glasser.
Find the category that best matches my product or topic in the returned list.

Endpoint structure

json
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "category_code",
    "date_from",
    "date_to"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "date_to": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "date_from": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "page_type": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2048,
        "minLength": 1
      },
      "maxItems": 100,
      "minItems": 1
    },
    "date_group": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "rank_scale": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "search_mode": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1
    },
    "category_code": {
      "type": "integer"
    },
    "internal_list_limit": {
      "type": "integer"
    },
    "initial_dataset_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."
    }
  },
  "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.027384
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 ↗