Skip to main content
Glama

Article Content Extractor for AI Agents

industrial_platform/article-content-intelligence

industrial_platform--article-content-intelligence
Destructive

This tool calls the Actor "industrial_platform/article-content-intelligence" and retrieves its output results. Actor description: Extract clean article text and metadata. Price: $0.002 per successful article.

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYes**REQUIRED** Public HTTP/HTTPS article pages to inspect. Up to 100 unique URLs per run. Example values: ["https://www.iana.org/help/example-domains"]
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
concurrencyNoMaximum number of URLs fetched concurrently during this run. Example values: 10
max_text_charsNoMaximum extracted article text retained per successful URL. Example values: 100000
timeout_secondsNoMaximum time allowed for each individual page fetch. Example values: 30

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actorId": {
      -        "description": "Stable Apify Actor ID from the run record",
      -        "type": "string"
      -      },
      -      "actorName": {
      -        "description": "\"username/actor-name\"",
      -        "type": "string"
      -      },
      -      "apifyConsoleUrl": {
      -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      -        "type": "string"
      -      },
      -      "exitCode": {
      -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      -        "type": "number"
      -      },
      -      "finishedAt": {
      -        "description": "ISO timestamp when the run finished (terminal states only)",
      -        "type": "string"
      -      },
      -      "nextStep": {
      -        "description": "One primary follow-up action with identifiers interpolated",
      -        "type": "string"
      -      },
      -      "runId": {
      -        "description": "Actor run ID",
      -        "type": "string"
      -      },
      -      "startedAt": {
      -        "description": "ISO timestamp when the run started",
      -        "type": "string"
      -      },
      -      "stats": {
      -        "description": "Run statistics",
      -        "properties": {
      -          "computeUnits": {
      -            "type": "number"
      -          },
      -          "memMaxBytes": {
      -            "type": "number"
      -          },
      -          "runTimeSecs": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      -        "type": "string"
      -      },
      -      "statusMessage": {
      -        "description": "Pass-through from Apify run.statusMessage",
      -        "type": "string"
      -      },
      -      "storages": {
      -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      -        "properties": {
      -          "datasets": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "fields": {
      -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "id": {
      -                  "description": "Dataset ID",
      -                  "type": "string"
      -                },
      -                "inflatedBytes": {
      -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                  "type": "number"
      -                },
      -                "itemCount": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "fields": {
      -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "id": {
      -                    "description": "Dataset ID",
      -                    "type": "string"
      -                  },
      -                  "inflatedBytes": {
      -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                    "type": "number"
      -                  },
      -                  "itemCount": {
      -                    "type": "number"
      -                  },
      -                  "itemsSchema": {
      -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -                    "properties": {
      -                      "content_type": {
      -                        "type": "string"
      -                      },
      -                      "fetched_at": {
      -                        "type": "string"
      -                      },
      -                      "final_url": {
      -                        "type": "string"
      -                      },
      -                      "http_status": {
      -                        "type": "number"
      -                      },
      -                      "json_ld": {
      -                        "items": {},
      -                        "type": "array"
      -                      },
      -                      "language": {
      -                        "type": "string"
      -                      },
      -                      "latency_ms": {
      -                        "type": "number"
      -                      },
      -                      "original_text_length": {
      -                        "type": "number"
      -                      },
      -                      "reading_time_minutes": {
      -                        "type": "number"
      -                      },
      -                      "response_bytes": {
      -                        "type": "number"
      -                      },
      -                      "status": {
      -                        "type": "string"
      -                      },
      -                      "text": {
      -                        "type": "string"
      -                      },
      -                      "text_truncated": {
      -                        "type": "boolean"
      -                      },
      -                      "title": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "word_count": {
      -                        "type": "number"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          },
      -          "keyValueStores": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Key-value store ID",
      -                  "type": "string"
      -                },
      -                "keyCount": {
      -                  "description": "Total number of keys (omitted when truncated)",
      -                  "type": "number"
      -                },
      -                "keys": {
      -                  "description": "Up to 50 key names",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "Key-value store ID",
      -                    "type": "string"
      -                  },
      -                  "keyCount": {
      -                    "description": "Total number of keys (omitted when truncated)",
      -                    "type": "number"
      -                  },
      -                  "keys": {
      -                    "description": "Up to 50 key names",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "summary": {
      -        "description": "Past-tense summary of the run state",
      -        "type": "string"
      -      },
      -      "tip": {
      -        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      -        "properties": {
      -          "level": {
      -            "description": "Omitted when the Actor wrote an unrecognized level",
      -            "enum": [
      -              "info",
      -              "warning"
      -            ],
      -            "type": "string"
      -          },
      -          "message": {
      -            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      -            "type": "string"
      -          },
      -          "recommendedActorId": {
      -            "description": "Apify Actor ID the tip recommends running next, when it names one — pass directly as `actor` to call-actor or fetch-actor-details",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "message"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "runId",
      -      "actorId",
      -      "status",
      -      "storages",
      -      "summary",
      -      "nextStep"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actorId": {
      +        "description": "Stable Apify Actor ID from the run record",
      +        "type": "string"
      +      },
      +      "actorName": {
      +        "description": "\"username/actor-name\"",
      +        "type": "string"
      +      },
      +      "apifyConsoleUrl": {
      +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      +        "type": "string"
      +      },
      +      "exitCode": {
      +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      +        "type": "number"
      +      },
      +      "finishedAt": {
      +        "description": "ISO timestamp when the run finished (terminal states only)",
      +        "type": "string"
      +      },
      +      "nextStep": {
      +        "description": "One primary follow-up action with identifiers interpolated",
      +        "type": "string"
      +      },
      +      "runId": {
      +        "description": "Actor run ID",
      +        "type": "string"
      +      },
      +      "startedAt": {
      +        "description": "ISO timestamp when the run started",
      +        "type": "string"
      +      },
      +      "stats": {
      +        "description": "Run statistics",
      +        "properties": {
      +          "computeUnits": {
      +            "type": "number"
      +          },
      +          "memMaxBytes": {
      +            "type": "number"
      +          },
      +          "runTimeSecs": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      +        "type": "string"
      +      },
      +      "statusMessage": {
      +        "description": "Pass-through from Apify run.statusMessage",
      +        "type": "string"
      +      },
      +      "storages": {
      +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      +        "properties": {
      +          "datasets": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "fields": {
      +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "id": {
      +                  "description": "Dataset ID",
      +                  "type": "string"
      +                },
      +                "inflatedBytes": {
      +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                  "type": "number"
      +                },
      +                "itemCount": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "fields": {
      +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "id": {
      +                    "description": "Dataset ID",
      +                    "type": "string"
      +                  },
      +                  "inflatedBytes": {
      +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                    "type": "number"
      +                  },
      +                  "itemCount": {
      +                    "type": "number"
      +                  },
      +                  "itemsSchema": {
      +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +                    "properties": {
      +                      "content_type": {
      +                        "type": "string"
      +                      },
      +                      "fetched_at": {
      +                        "type": "string"
      +                      },
      +                      "final_url": {
      +                        "type": "string"
      +                      },
      +                      "http_status": {
      +                        "type": "number"
      +                      },
      +                      "json_ld": {
      +                        "items": {},
      +                        "type": "array"
      +                      },
      +                      "latency_ms": {
      +                        "type": "number"
      +                      },
      +                      "original_text_length": {
      +                        "type": "number"
      +                      },
      +                      "reading_time_minutes": {
      +                        "type": "number"
      +                      },
      +                      "response_bytes": {
      +                        "type": "number"
      +                      },
      +                      "status": {
      +                        "type": "string"
      +                      },
      +                      "text": {
      +                        "type": "string"
      +                      },
      +                      "text_truncated": {
      +                        "type": "boolean"
      +                      },
      +                      "title": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "word_count": {
      +                        "type": "number"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          },
      +          "keyValueStores": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "Key-value store ID",
      +                  "type": "string"
      +                },
      +                "keyCount": {
      +                  "description": "Total number of keys (omitted when truncated)",
      +                  "type": "number"
      +                },
      +                "keys": {
      +                  "description": "Up to 50 key names",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Key-value store ID",
      +                    "type": "string"
      +                  },
      +                  "keyCount": {
      +                    "description": "Total number of keys (omitted when truncated)",
      +                    "type": "number"
      +                  },
      +                  "keys": {
      +                    "description": "Up to 50 key names",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "summary": {
      +        "description": "Past-tense summary of the run state",
      +        "type": "string"
      +      },
      +      "tip": {
      +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      +        "properties": {
      +          "caveat": {
      +            "description": "Present when this session cannot run the Actor the tip recommends",
      +            "type": "string"
      +          },
      +          "level": {
      +            "description": "Omitted when the Actor wrote an unrecognized level",
      +            "enum": [
      +              "info",
      +              "warning"
      +            ],
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      +            "type": "string"
      +          },
      +          "recommendedActorId": {
      +            "description": "Apify Actor ID the tip recommends, when it names one",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "message"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "runId",
      +      "actorId",
      +      "status",
      +      "storages",
      +      "summary",
      +      "nextStep"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actorId": {
      -        "description": "Stable Apify Actor ID from the run record",
      -        "type": "string"
      -      },
      -      "actorName": {
      -        "description": "\"username/actor-name\"",
      -        "type": "string"
      -      },
      -      "apifyConsoleUrl": {
      -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      -        "type": "string"
      -      },
      -      "exitCode": {
      -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      -        "type": "number"
      -      },
      -      "finishedAt": {
      -        "description": "ISO timestamp when the run finished (terminal states only)",
      -        "type": "string"
      -      },
      -      "nextStep": {
      -        "description": "One primary follow-up action with identifiers interpolated",
      -        "type": "string"
      -      },
      -      "runId": {
      -        "description": "Actor run ID",
      -        "type": "string"
      -      },
      -      "startedAt": {
      -        "description": "ISO timestamp when the run started",
      -        "type": "string"
      -      },
      -      "stats": {
      -        "description": "Run statistics",
      -        "properties": {
      -          "computeUnits": {
      -            "type": "number"
      -          },
      -          "memMaxBytes": {
      -            "type": "number"
      -          },
      -          "runTimeSecs": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      -        "type": "string"
      -      },
      -      "statusMessage": {
      -        "description": "Pass-through from Apify run.statusMessage",
      -        "type": "string"
      -      },
      -      "storages": {
      -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      -        "properties": {
      -          "datasets": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "fields": {
      -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "id": {
      -                  "description": "Dataset ID",
      -                  "type": "string"
      -                },
      -                "inflatedBytes": {
      -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                  "type": "number"
      -                },
      -                "itemCount": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "fields": {
      -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "id": {
      -                    "description": "Dataset ID",
      -                    "type": "string"
      -                  },
      -                  "inflatedBytes": {
      -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                    "type": "number"
      -                  },
      -                  "itemCount": {
      -                    "type": "number"
      -                  },
      -                  "itemsSchema": {
      -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -                    "properties": {
      -                      "content_type": {
      -                        "type": "string"
      -                      },
      -                      "fetched_at": {
      -                        "type": "string"
      -                      },
      -                      "final_url": {
      -                        "type": "string"
      -                      },
      -                      "http_status": {
      -                        "type": "number"
      -                      },
      -                      "json_ld": {
      -                        "items": {},
      -                        "type": "array"
      -                      },
      -                      "language": {
      -                        "type": "string"
      -                      },
      -                      "latency_ms": {
      -                        "type": "number"
      -                      },
      -                      "original_text_length": {
      -                        "type": "number"
      -                      },
      -                      "reading_time_minutes": {
      -                        "type": "number"
      -                      },
      -                      "response_bytes": {
      -                        "type": "number"
      -                      },
      -                      "status": {
      -                        "type": "string"
      -                      },
      -                      "text": {
      -                        "type": "string"
      -                      },
      -                      "text_truncated": {
      -                        "type": "boolean"
      -                      },
      -                      "title": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "word_count": {
      -                        "type": "number"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          },
      -          "keyValueStores": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Key-value store ID",
      -                  "type": "string"
      -                },
      -                "keyCount": {
      -                  "description": "Total number of keys (omitted when truncated)",
      -                  "type": "number"
      -                },
      -                "keys": {
      -                  "description": "Up to 50 key names",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "Key-value store ID",
      -                    "type": "string"
      -                  },
      -                  "keyCount": {
      -                    "description": "Total number of keys (omitted when truncated)",
      -                    "type": "number"
      -                  },
      -                  "keys": {
      -                    "description": "Up to 50 key names",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "summary": {
      -        "description": "Past-tense summary of the run state",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "runId",
      -      "actorId",
      -      "status",
      -      "storages",
      -      "summary",
      -      "nextStep"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actorId": {
      +        "description": "Stable Apify Actor ID from the run record",
      +        "type": "string"
      +      },
      +      "actorName": {
      +        "description": "\"username/actor-name\"",
      +        "type": "string"
      +      },
      +      "apifyConsoleUrl": {
      +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      +        "type": "string"
      +      },
      +      "exitCode": {
      +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      +        "type": "number"
      +      },
      +      "finishedAt": {
      +        "description": "ISO timestamp when the run finished (terminal states only)",
      +        "type": "string"
      +      },
      +      "nextStep": {
      +        "description": "One primary follow-up action with identifiers interpolated",
      +        "type": "string"
      +      },
      +      "runId": {
      +        "description": "Actor run ID",
      +        "type": "string"
      +      },
      +      "startedAt": {
      +        "description": "ISO timestamp when the run started",
      +        "type": "string"
      +      },
      +      "stats": {
      +        "description": "Run statistics",
      +        "properties": {
      +          "computeUnits": {
      +            "type": "number"
      +          },
      +          "memMaxBytes": {
      +            "type": "number"
      +          },
      +          "runTimeSecs": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      +        "type": "string"
      +      },
      +      "statusMessage": {
      +        "description": "Pass-through from Apify run.statusMessage",
      +        "type": "string"
      +      },
      +      "storages": {
      +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      +        "properties": {
      +          "datasets": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "fields": {
      +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "id": {
      +                  "description": "Dataset ID",
      +                  "type": "string"
      +                },
      +                "inflatedBytes": {
      +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                  "type": "number"
      +                },
      +                "itemCount": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "fields": {
      +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "id": {
      +                    "description": "Dataset ID",
      +                    "type": "string"
      +                  },
      +                  "inflatedBytes": {
      +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                    "type": "number"
      +                  },
      +                  "itemCount": {
      +                    "type": "number"
      +                  },
      +                  "itemsSchema": {
      +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +                    "properties": {
      +                      "content_type": {
      +                        "type": "string"
      +                      },
      +                      "fetched_at": {
      +                        "type": "string"
      +                      },
      +                      "final_url": {
      +                        "type": "string"
      +                      },
      +                      "http_status": {
      +                        "type": "number"
      +                      },
      +                      "json_ld": {
      +                        "items": {},
      +                        "type": "array"
      +                      },
      +                      "language": {
      +                        "type": "string"
      +                      },
      +                      "latency_ms": {
      +                        "type": "number"
      +                      },
      +                      "original_text_length": {
      +                        "type": "number"
      +                      },
      +                      "reading_time_minutes": {
      +                        "type": "number"
      +                      },
      +                      "response_bytes": {
      +                        "type": "number"
      +                      },
      +                      "status": {
      +                        "type": "string"
      +                      },
      +                      "text": {
      +                        "type": "string"
      +                      },
      +                      "text_truncated": {
      +                        "type": "boolean"
      +                      },
      +                      "title": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "word_count": {
      +                        "type": "number"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          },
      +          "keyValueStores": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "Key-value store ID",
      +                  "type": "string"
      +                },
      +                "keyCount": {
      +                  "description": "Total number of keys (omitted when truncated)",
      +                  "type": "number"
      +                },
      +                "keys": {
      +                  "description": "Up to 50 key names",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Key-value store ID",
      +                    "type": "string"
      +                  },
      +                  "keyCount": {
      +                    "description": "Total number of keys (omitted when truncated)",
      +                    "type": "number"
      +                  },
      +                  "keys": {
      +                    "description": "Up to 50 key names",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "summary": {
      +        "description": "Past-tense summary of the run state",
      +        "type": "string"
      +      },
      +      "tip": {
      +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      +        "properties": {
      +          "level": {
      +            "description": "Omitted when the Actor wrote an unrecognized level",
      +            "enum": [
      +              "info",
      +              "warning"
      +            ],
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      +            "type": "string"
      +          },
      +          "recommendedActorId": {
      +            "description": "Apify Actor ID the tip recommends running next, when it names one — pass directly as `actor` to call-actor or fetch-actor-details",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "message"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "runId",
      +      "actorId",
      +      "status",
      +      "storages",
      +      "summary",
      +      "nextStep"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=true, so the safety profile is covered. The description adds value the annotations cannot: a concrete price point ($0.002 per successful article) and the payment/auth mechanism with the exact metadata key required, which is essential operational context. It does not contradict any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Roughly four sentences, all short and functional, with the purpose up front and payment/cost requirements immediately following. The opening 'calls the Actor X and retrieves its output results' sentence is redundant with the title and name, which is the only wasted space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description correctly focuses on the two things schema cannot convey: cost and the x402 payment requirement. The one gap is that it never notes the tool can return at the waitSecs cap with a non-terminal run status (the schema does cover this via nextStep/get-actor-run), so the description and schema together are nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter (urls, waitSecs, concurrency, max_text_chars, timeout_seconds) is documented in the schema with defaults, bounds, and examples. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete outcome — 'Extract clean article text and metadata' — which is a specific verb+resource pair, and the URL-driven input makes the job unmistakable. The framing sentence ('calls the Actor ... and retrieves its output results') is generic boilerplate that mostly restates the title, but the Actor description line rescues the purpose. It is clearly distinguishable from the run-management siblings, though the differentiation is by content domain rather than explicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (provide public article URLs to extract text), and one hard prerequisite is stated explicitly: an x402 payment signature in _meta['x402/payment'] plus client protocol support. However, there is no when-to-use/when-not guidance and no mention of the sibling tools (e.g., get-actor-run or get-dataset-items) that an agent would need for polling or retrieving results after a fire-and-forget call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.