Skip to main content
Glama

AIsa On-Page Audit

OnPage API Content Parsing

post_dataforseo_on_page_content_parsing
Destructive

‌‌ This endpoint allows parsing the content on any page you specify and will return the structured content of the target page, including link URLs, anchors, headings, and textual content.

Usage-based billing; Default request estimate: $0.012 USD (not a fixed price). Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / body / items / oneOf
      Previous value: -[
      -  {
      -    "example": [
      -      {
      -        "id": "11161551-1535-0216-0000-500b3f307f92",
      -        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      -      }
      -    ],
      -    "properties": {
      -      "id": {
      -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      -        "type": "string"
      -      },
      -      "markdown_view": {
      -        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "id": {
      +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      +        "type": "string"
      +      },
      +      "markdown_view": {
      +        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "id": "11161551-1535-0216-0000-500b3f307f92",
      -        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      -      }
      -    ],
      -    "properties": {
      -      "id": {
      -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      -        "type": "string"
      -      },
      -      "markdown_view": {
      -        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / oneOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "id": "11161551-1535-0216-0000-500b3f307f92",
      +        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      +      }
      +    ],
      +    "properties": {
      +      "id": {
      +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      +        "type": "string"
      +      },
      +      "markdown_view": {
      +        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Changed7 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "id": "11161551-1535-0216-0000-500b3f307f92",
      +    "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "id": "11161551-1535-0216-0000-500b3f307f92",
      +        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      +      }
      +    ],
      +    "properties": {
      +      "id": {
      +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      +        "type": "string"
      +      },
      +      "markdown_view": {
      +        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "id": {
      -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint note: the enable_content_parsing parameter in the POST request must be set to true example: \"07131248-1535-0216-1000-17384017ad04\"",
      -    "type": "string"
      -  },
      -  "markdown_view": {
      -    "description": "return page content as markdown optional field if set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response; default value: false",
      -    "type": "boolean"
      -  },
      -  "url": {
      -    "description": "URL of the content to parse required field URL of the page to parse example: https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "url",
      -  "id"
      -]
    • changedInput schema / properties / body / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "body"
      -]New value: +[]
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  4. Changed7 schema fields changed
    • removedInput schema / properties / body / example
      Removed value: -[
      -  {
      -    "id": "11161551-1535-0216-0000-500b3f307f92",
      -    "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      -  }
      -]
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "id": "11161551-1535-0216-0000-500b3f307f92",
      -        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      -      }
      -    ],
      -    "properties": {
      -      "id": {
      -        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      -        "type": "string"
      -      },
      -      "markdown_view": {
      -        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / properties
      Added value: +{
      +  "id": {
      +    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint note: the enable_content_parsing parameter in the POST request must be set to true example: \"07131248-1535-0216-1000-17384017ad04\"",
      +    "type": "string"
      +  },
      +  "markdown_view": {
      +    "description": "return page content as markdown optional field if set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response; default value: false",
      +    "type": "boolean"
      +  },
      +  "url": {
      +    "description": "URL of the content to parse required field URL of the page to parse example: https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / body / items / required
      Added value: +[
      +  "url",
      +  "id"
      +]
    • changedInput schema / properties / body / items / type
      Previous value: -[
      -  "object",
      -  "null"
      -]New value: +"object"
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "body"
      +]
    • removedOutput schema / x-fastmcp-wrap-result
      Removed value: -true
  5. Changed7 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "id": "11161551-1535-0216-0000-500b3f307f92",
      +    "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "id": "11161551-1535-0216-0000-500b3f307f92",
      +        "url": "https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api"
      +      }
      +    ],
      +    "properties": {
      +      "id": {
      +        "description": "<em>ID of the task</em><br><strong>required field</strong><br>you can get this ID in the response of the <a href=\"/v3/on_page/task_post/\">Task POST</a> endpoint<br><strong>note:</strong> the <code>enable_content_parsing</code> parameter in the POST request must be set to <code>true</code><br>example:<br><code>\"07131248-1535-0216-1000-17384017ad04\"</code>",
      +        "type": "string"
      +      },
      +      "markdown_view": {
      +        "description": "<em>return page content as markdown</em><br>optional field<br>if set to <code>true</code>, the markdown-formatted content of the page will be returned in the <code>page_as_markdown</code> field of the response;<br>default value: <code>false</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<em>URL of the content to parse</em><br><strong>required field</strong><br>URL of the page to parse<br>example:<br>`https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api`",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "id": {
      -    "description": "ID of the task required field you can get this ID in the response of the Task POST endpoint note: the enable_content_parsing parameter in the POST request must be set to true example: \"07131248-1535-0216-1000-17384017ad04\"",
      -    "type": "string"
      -  },
      -  "markdown_view": {
      -    "description": "return page content as markdown optional field if set to true, the markdown-formatted content of the page will be returned in the page_as_markdown field of the response; default value: false",
      -    "type": "boolean"
      -  },
      -  "url": {
      -    "description": "URL of the content to parse required field URL of the page to parse example: https://dataforseo.com/blog/a-versatile-alternative-to-google-trends-exploring-the-power-of-dataforseo-trends-api",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "url",
      -  "id"
      -]
    • changedInput schema / properties / body / items / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / required
      Previous value: -[
      -  "body"
      -]New value: +[]
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  6. First observed

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare non-readOnly, non-idempotent, destructive, open-world behavior, so the safety profile is covered elsewhere. The description adds genuinely useful behavioral context by disclosing usage-based billing with an estimated cost of ~$0.012 per request. It does not explain or reconcile the destructive/non-idempotent hints (unusual for a parse operation), but with annotations present the bar is lower.

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?

The purpose sentence is front-loaded and the billing note is a compact, clearly delimited second block that carries real cost information rather than filler. No redundant restatement of the name or title, though the interpolated whitespace/comment markers make the formatting slightly noisy.

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

Completeness3/5

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

An output schema exists, so return-value explanation is correctly omitted from the description. The main gap is the missing prerequisite chain (Task POST + enable_content_parsing) and the lack of guidance when a parse-result call should be chosen over sibling content tools like raw_html or microdata.

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

Parameters2/5

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

The description mentions no parameters at all, neither the required task 'id'/'url' pair nor the optional 'markdown_view' toggle. Reported schema description coverage is 0% at the top level, and while the nested items do carry inline documentation, the description itself adds zero meaning beyond the schema, so it fails to compensate for the gap.

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 names a specific verb+resource ('parsing the content on any page') and enumerates what is returned (link URLs, anchors, headings, textual content), which distinguishes it somewhat from generic siblings. However it never positions itself against close siblings such as post_dataforseo_on_page_raw_html, post_dataforseo_on_page_links, or post_dataforseo_on_page_microdata, so an agent gets no explicit routing signal.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no named alternative, and no prerequisite stated. Critically, the description omits the workflow requirement (a task ID from Task POST with enable_content_parsing=true), which is the actual gating condition for calling this tool. 'Any page you specify' implies more freedom than the API actually grants.

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.

Resources