Skip to main content
Glama

AIsa SEO & AI Visibility

Backlinks

post_dataforseo_backlinks_backlinks_live
Destructive

‌ This endpoint will provide you with a list of backlinks and relevant data for the specified domain, subdomain, or webpage.

Usage-based billing; Default request estimate: $0.06 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. Changed3 schema fields changed
    • addedInput schema / $defs
      Added value: +{
      +  "Provider0A3E90081762_AisaDataforseoFilterJsonValue": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "additionalProperties": {
      +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      {
      +        "items": {
      +          "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
      +        },
      +        "type": "array"
      +      }
      +    ],
      +    "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
      +  }
      +}
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "backlinks_status_type": {
      +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "custom_mode": {
      +        "additionalProperties": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "exclude_internal_backlinks": {
      +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "filters": {
      +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      +        "items": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "additionalProperties": {
      +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
      +              },
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            },
      +            {
      +              "items": {
      +                "$ref": "#/$defs/Provider0A3E90081762_AisaDataforseoFilterJsonValue"
      +              },
      +              "type": "array"
      +            }
      +          ],
      +          "description": "JSON representation of filter values and nested expressions. Field names, operators, condition counts and operand compatibility remain provider-validated as documented for each endpoint; this is not a complete filter-language validator."
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "include_subdomains": {
      +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "mode": {
      +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "offset": {
      +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "order_by": {
      +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "rank_scale": {
      +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_after_token": {
      +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / oneOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "filters": [
      -          "dofollow",
      -          "=",
      -          true
      -        ],
      -        "limit": 5,
      -        "mode": "as_is",
      -        "target": "forbes.com"
      -      }
      -    ],
      -    "properties": {
      -      "backlinks_status_type": {
      -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "custom_mode": {
      -        "additionalProperties": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "exclude_internal_backlinks": {
      -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "filters": {
      -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      -        "items": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "include_subdomains": {
      -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "mode": {
      -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "offset": {
      -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "order_by": {
      -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "rank_scale": {
      -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_after_token": {
      -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
  2. Changed2 schema fields changed
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "filters": [
      -          "dofollow",
      -          "=",
      -          true
      -        ],
      -        "limit": 5,
      -        "mode": "as_is",
      -        "target": "forbes.com"
      -      }
      -    ],
      -    "properties": {
      -      "backlinks_status_type": {
      -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "custom_mode": {
      -        "additionalProperties": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "exclude_internal_backlinks": {
      -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "filters": {
      -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      -        "items": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "include_subdomains": {
      -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "mode": {
      -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "offset": {
      -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "order_by": {
      -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "rank_scale": {
      -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_after_token": {
      -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / oneOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "filters": [
      +          "dofollow",
      +          "=",
      +          true
      +        ],
      +        "limit": 5,
      +        "mode": "as_is",
      +        "target": "forbes.com"
      +      }
      +    ],
      +    "properties": {
      +      "backlinks_status_type": {
      +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "custom_mode": {
      +        "additionalProperties": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "exclude_internal_backlinks": {
      +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "filters": {
      +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      +        "items": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "include_subdomains": {
      +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "mode": {
      +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "offset": {
      +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "order_by": {
      +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "rank_scale": {
      +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_after_token": {
      +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Changed7 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "filters": [
      +      "dofollow",
      +      "=",
      +      true
      +    ],
      +    "limit": 5,
      +    "mode": "as_is",
      +    "target": "forbes.com"
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "filters": [
      +          "dofollow",
      +          "=",
      +          true
      +        ],
      +        "limit": 5,
      +        "mode": "as_is",
      +        "target": "forbes.com"
      +      }
      +    ],
      +    "properties": {
      +      "backlinks_status_type": {
      +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "custom_mode": {
      +        "additionalProperties": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "exclude_internal_backlinks": {
      +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "filters": {
      +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      +        "items": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "include_subdomains": {
      +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "mode": {
      +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "offset": {
      +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "order_by": {
      +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "rank_scale": {
      +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_after_token": {
      +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "backlinks_status_type": {
      -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
      -    "type": "string"
      -  },
      -  "custom_mode": {
      -    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
      -    "properties": {
      -      "field": {
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "exclude_internal_backlinks": {
      -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
      -    "type": "boolean"
      -  },
      -  "filters": {
      -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
      -    "items": {},
      -    "type": "array"
      -  },
      -  "include_subdomains": {
      -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
      -    "type": "boolean"
      -  },
      -  "limit": {
      -    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
      -    "type": "integer"
      -  },
      -  "mode": {
      -    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
      -    "type": "string"
      -  },
      -  "offset": {
      -    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
      -    "type": "integer"
      -  },
      -  "order_by": {
      -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "rank_scale": {
      -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
      -    "type": "string"
      -  },
      -  "search_after_token": {
      -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
      -    "type": "string"
      -  },
      -  "tag": {
      -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      -    "type": "string"
      -  },
      -  "target": {
      -    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "target"
      -]
    • 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: -[
      -  {
      -    "filters": [
      -      "dofollow",
      -      "=",
      -      true
      -    ],
      -    "limit": 5,
      -    "mode": "as_is",
      -    "target": "forbes.com"
      -  }
      -]
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "filters": [
      -          "dofollow",
      -          "=",
      -          true
      -        ],
      -        "limit": 5,
      -        "mode": "as_is",
      -        "target": "forbes.com"
      -      }
      -    ],
      -    "properties": {
      -      "backlinks_status_type": {
      -        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "custom_mode": {
      -        "additionalProperties": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "exclude_internal_backlinks": {
      -        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "filters": {
      -        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      -        "items": {
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "include_subdomains": {
      -        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "mode": {
      -        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "offset": {
      -        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "order_by": {
      -        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "rank_scale": {
      -        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_after_token": {
      -        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / properties
      Added value: +{
      +  "backlinks_status_type": {
      +    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
      +    "type": "string"
      +  },
      +  "custom_mode": {
      +    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
      +    "properties": {
      +      "field": {
      +        "type": "string"
      +      },
      +      "value": {
      +        "type": "integer"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "exclude_internal_backlinks": {
      +    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
      +    "type": "boolean"
      +  },
      +  "filters": {
      +    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
      +    "items": {},
      +    "type": "array"
      +  },
      +  "include_subdomains": {
      +    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
      +    "type": "boolean"
      +  },
      +  "limit": {
      +    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
      +    "type": "integer"
      +  },
      +  "mode": {
      +    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
      +    "type": "string"
      +  },
      +  "offset": {
      +    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
      +    "type": "integer"
      +  },
      +  "order_by": {
      +    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "rank_scale": {
      +    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
      +    "type": "string"
      +  },
      +  "search_after_token": {
      +    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
      +    "type": "string"
      +  },
      +  "tag": {
      +    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      +    "type": "string"
      +  },
      +  "target": {
      +    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / body / items / required
      Added value: +[
      +  "target"
      +]
    • 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: +[
      +  {
      +    "filters": [
      +      "dofollow",
      +      "=",
      +      true
      +    ],
      +    "limit": 5,
      +    "mode": "as_is",
      +    "target": "forbes.com"
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "filters": [
      +          "dofollow",
      +          "=",
      +          true
      +        ],
      +        "limit": 5,
      +        "mode": "as_is",
      +        "target": "forbes.com"
      +      }
      +    ],
      +    "properties": {
      +      "backlinks_status_type": {
      +        "description": "<em>set what backlinks to return and count</em><br>optional field<br>you can use this field to choose what backlinks will be returned and used for aggregated metrics for your <code>target</code>;<br>possible values: <br><code>all</code> - all backlinks will be returned and counted;<br><code>live</code> - backlinks found during the last check will be returned and counted;<br><code>lost</code> - lost backlinks will be returned and counted;<p>default value: <code>live</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "custom_mode": {
      +        "additionalProperties": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "description": "<em>detailed results grouping type</em><br>optional field<br>use this object to get a specific number of backlinks per <code>field</code><br>if you use <code>custom_mode</code>, then <code>mode</code> will be ignored<br>example:<br><code>\"custom_mode\": {\"field\": \"domain\", \"value\": 100}</code>",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "exclude_internal_backlinks": {
      +        "description": "<em>indicates if internal backlinks from subdomains to the <code>target</code> will be excluded from the results</em><br>optional field<br>if set to <code>true</code>, the results will not include data on internal backlinks from subdomains of the same domain as <code>target</code><br>if set to <code>false</code>, internal links will be included in the results<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "filters": {
      +        "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code>, <code>ilike</code>, <code>not_ilike</code>, <code>regex</code>, <code>not_regex</code>, <code>match</code>, <code>not_match</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rank\",\"&gt;\",\"80\"]</code><p><code>[[\"page_from_rank\",\"&gt;\",\"55\"],<br>\"and\",<br>[\"dofollow\",\"=\",true]]</code><p><code>[[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"],<br>\"and\",<br>[[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]]</code><p>The full list of possible filters is available <a href=\"/v3/backlinks/filters/?bash\" rel=\"noopener noreferrer\" target=\"_blank\">here.</a>",
      +        "items": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "include_subdomains": {
      +        "description": "<em>indicates if the subdomains of the <code>target</code> will be included in the search</em><br>optional field<br>if set to <code>false</code>, the subdomains will be ignored<br>default value: <code>true</code>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "<em>the maximum number of returned backlinks</em><br>optional field<p>default value: <code>100</code><br>maximum value: <code>1000</code>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "mode": {
      +        "description": "<em>results grouping type</em><br>optional field<br>possible grouping types:<br><code>as_is</code> - returns all backlinks<br><code>one_per_domain</code> - returns one backlink per domain<br><code>one_per_anchor</code> - returns one backlink per anchor<p>default value: <code>as_is</code>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "offset": {
      +        "description": "<em>offset in the results array of the returned backlinks</em><br>optional field<p>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks;<br><strong>Note:</strong> the maximum value is <code>20,000</code>, use the <code>search_after_token</code> if you would like to offset more results",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "order_by": {
      +        "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting type<br>example:<br><code>[\"rank,desc\"]</code><br><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"domain_from_rank,desc\",\"page_from_rank,asc\"]</code>",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "rank_scale": {
      +        "description": "<em>defines the scale used for calculating and displaying the <code>rank</code>, <code>domain_from_rank</code>, and <code>page_from_rank</code> values</em><br>optional field<p>you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale<p>possible values:<br><code>one_hundred</code> — rank values are displayed on a 0–100 scale<br><code>one_thousand</code> — rank values are displayed on a 0–1000 scale<p>default value: <code>one_thousand</code><p>learn more about how this parameter works and how ranking metrics are calculated in <a href=\"https://dataforseo.com/help-center/what_is_rank_in_backlinks_api#rank_scale\">this Help Center article</a>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_after_token": {
      +        "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over <code>20,000</code> results in a single request;<br>by specifying the unique <code>search_after_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>search_after_token</code> values are unique for each subsequent task ;<br><strong>Note:</strong> if the <code>search_after_token</code> is specified in the request, all other parameters should be identical to the previous request",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<em>domain, subdomain or webpage to get backlinks for</em><br><strong>required field</strong><br>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><br>a page should be specified with absolute URL (including <code>http://</code> or <code>https://</code>)",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "backlinks_status_type": {
      -    "description": "set what backlinks to return and count optional field you can use this field to choose what backlinks will be returned and used for aggregated metrics for your target; possible values: all – all backlinks will be returned and counted; live – backlinks found during the last check will be returned and counted; lost – lost backlinks will be returned and counted; default value: live",
      -    "type": "string"
      -  },
      -  "custom_mode": {
      -    "description": "detailed results grouping type optional field use this object to get a specific number of backlinks per field if you use custom_mode, then mode will be ignored example: \"custom_mode\": {\"field\": \"domain\", \"value\": 100}",
      -    "properties": {
      -      "field": {
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "exclude_internal_backlinks": {
      -    "description": "indicates if internal backlinks from subdomains to the target will be excluded from the results optional field if set to true, the results will not include data on internal backlinks from subdomains of the same domain as target if set to false, internal links will be included in the results default value: true",
      -    "type": "boolean"
      -  },
      -  "filters": {
      -    "description": "array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: =, , in, not_in, like, not_like, ilike, not_ilike, regex, not_regex, match, not_match you can use the % operator with like and not_like to match any string of zero or more characters example: [\"rank\",\">\",\"80\"] [[\"page_from_rank\",\">\",\"55\"], \"and\", [\"dofollow\",\"=\",true]] [[\"first_seen\",\">\",\"2017-10-23 11:31:45 +00:00\"], \"and\", [[\"anchor\",\"like\",\"%seo%\"],\"or\",[\"text_pre\",\"like\",\"%seo%\"]]] The full list of possible filters is available here.",
      -    "items": {},
      -    "type": "array"
      -  },
      -  "include_subdomains": {
      -    "description": "indicates if the subdomains of the target will be included in the search optional field if set to false, the subdomains will be ignored default value: true",
      -    "type": "boolean"
      -  },
      -  "limit": {
      -    "description": "the maximum number of returned backlinks optional field default value: 100 maximum value: 1000",
      -    "type": "integer"
      -  },
      -  "mode": {
      -    "description": "results grouping type optional field possible grouping types: as_is – returns all backlinks one_per_domain – returns one backlink per domain one_per_anchor – returns one backlink per anchor default value: as_is",
      -    "type": "string"
      -  },
      -  "offset": {
      -    "description": "offset in the results array of the returned backlinks optional field default value: 0 if you specify the 10 value, the first ten backlinks in the results array will be omitted and the data will be provided for the successive backlinks; Note: the maximum value is 20,000, use the search_after_token if you would like to offset more results",
      -    "type": "integer"
      -  },
      -  "order_by": {
      -    "description": "results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: [\"rank,desc\"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: [\"domain_from_rank,desc\",\"page_from_rank,asc\"]",
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "rank_scale": {
      -    "description": "defines the scale used for calculating and displaying the rank, domain_from_rank, and page_from_rank values optional field you can use this parameter to choose whether rank values are presented on a 0–100 or 0–1000 scale possible values: one_hundred — rank values are displayed on a 0–100 scale one_thousand — rank values are displayed on a 0–1000 scale default value: one_thousand learn more about how this parameter works and how ranking metrics are calculated in this Help Center article",
      -    "type": "string"
      -  },
      -  "search_after_token": {
      -    "description": "token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request",
      -    "type": "string"
      -  },
      -  "tag": {
      -    "description": "user-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response",
      -    "type": "string"
      -  },
      -  "target": {
      -    "description": "domain, subdomain or webpage to get backlinks for required field a domain or a subdomain should be specified without https:// and www. a page should be specified with absolute URL (including http:// or https://)",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "target"
      -]
    • 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

C2.5/5.0
Behavior1/5

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

The description depicts a pure retrieval ('provide you with a list of backlinks'), yet annotations declare readOnlyHint=false and destructiveHint=true. This is a direct conflict that could mislead an agent about the safety profile, and the description offers no behavioral context (rate limits, billing scope beyond boilerplate, idempotency) to resolve it.

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 functional sentence is short and front-loaded, and the pricing note is compact. No filler prose, though the description is arguably too terse for the surface area it covers.

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

Completeness2/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 values need not be explained, but for a 12-field filtering/pagination endpoint with heavy siblings the description omits usage routing and key behavioral caveats. It is under-specified relative to the tool's complexity.

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?

Schema coverage on the top-level parameter is reported at 0%, and the description says nothing about the body arguments (mode, limit, offset, filters, order_by, rank_scale, backlinks_status_type, etc.). The nested schema carries detailed field docs, but the description itself adds no parameter meaning.

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?

States a specific verb (provide a list) and resource (backlinks) and names the accepted targets (domain, subdomain, or webpage). It is clear what the tool does, but it does not differentiate itself from the many sibling backlinks endpoints (anchors, summary, referring_domains, competitors), so the agent must infer selection from the name alone.

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 guidance on when to use this endpoint versus the numerous alternatives in the sibling list. The description gives no conditions, prerequisites, or exclusions, leaving the agent to guess from the tool name.

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