Skip to main content
Glama

AIsa SEO & AI Visibility

Live Bing Organic SERP Advanced

post_dataforseo_serp_bing_organic_live
Destructive

Live SERP provides real-time data on top 100 search engine results for the specified keyword, search engine, and location. This endpoint will supply a complete overview of featured snippets and other extra elements of SERPs.

Usage-based billing; Default request estimate: $0.002 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": [
      -      {
      -        "keyword": "flight ticket new york san francisco",
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "browser_screen_height": {
      -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_resolution_ratio": {
      -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_width": {
      -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "format": "int64",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "calculate_rectangles": {
      -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "depth": {
      -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "device": {
      -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "keyword": {
      -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      -        "type": "string"
      -      },
      -      "language_code": {
      -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      -        "type": "integer"
      -      },
      -      "location_coordinate": {
      -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      -        "type": "string"
      -      },
      -      "location_name": {
      -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      -        "type": "string"
      -      },
      -      "match_type": {
      -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      -        "type": "string"
      -      },
      -      "match_value": {
      -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      -        "type": "string"
      -      },
      -      "max_crawl_pages": {
      -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "os": {
      -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_param": {
      -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "stop_crawl_on_match": {
      -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      -        "items": {
      -          "oneOf": [
      -            {
      -              "properties": {
      -                "match_type": {
      -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "match_value": {
      -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            }
      -          ],
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "browser_screen_height": {
      +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_resolution_ratio": {
      +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_width": {
      +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "format": "int64",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "calculate_rectangles": {
      +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> provider usage may increase for using this parameter</p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "depth": {
      +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "device": {
      +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "keyword": {
      +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      +        "type": "string"
      +      },
      +      "language_code": {
      +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      +        "type": "integer"
      +      },
      +      "location_coordinate": {
      +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      +        "type": "string"
      +      },
      +      "location_name": {
      +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      +        "type": "string"
      +      },
      +      "match_type": {
      +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      +        "type": "string"
      +      },
      +      "match_value": {
      +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      +        "type": "string"
      +      },
      +      "max_crawl_pages": {
      +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "os": {
      +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_param": {
      +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "stop_crawl_on_match": {
      +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      +        "items": {
      +          "oneOf": [
      +            {
      +              "properties": {
      +                "match_type": {
      +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "match_value": {
      +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ],
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "keyword": "flight ticket new york san francisco",
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "browser_screen_height": {
      -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_resolution_ratio": {
      -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_width": {
      -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "format": "int64",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "calculate_rectangles": {
      -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "depth": {
      -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "device": {
      -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "keyword": {
      -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      -        "type": "string"
      -      },
      -      "language_code": {
      -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      -        "type": "integer"
      -      },
      -      "location_coordinate": {
      -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      -        "type": "string"
      -      },
      -      "location_name": {
      -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      -        "type": "string"
      -      },
      -      "match_type": {
      -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      -        "type": "string"
      -      },
      -      "match_value": {
      -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      -        "type": "string"
      -      },
      -      "max_crawl_pages": {
      -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "os": {
      -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_param": {
      -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "stop_crawl_on_match": {
      -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      -        "items": {
      -          "anyOf": [
      -            {
      -              "properties": {
      -                "match_type": {
      -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "match_value": {
      -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            }
      -          ],
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / oneOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "keyword": "flight ticket new york san francisco",
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "browser_screen_height": {
      +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_resolution_ratio": {
      +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_width": {
      +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "format": "int64",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "calculate_rectangles": {
      +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "depth": {
      +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "device": {
      +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "keyword": {
      +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      +        "type": "string"
      +      },
      +      "language_code": {
      +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      +        "type": "integer"
      +      },
      +      "location_coordinate": {
      +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      +        "type": "string"
      +      },
      +      "location_name": {
      +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      +        "type": "string"
      +      },
      +      "match_type": {
      +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      +        "type": "string"
      +      },
      +      "match_value": {
      +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      +        "type": "string"
      +      },
      +      "max_crawl_pages": {
      +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "os": {
      +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_param": {
      +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "stop_crawl_on_match": {
      +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      +        "items": {
      +          "oneOf": [
      +            {
      +              "properties": {
      +                "match_type": {
      +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "match_value": {
      +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ],
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Changed7 schema fields changed
    • addedInput schema / properties / body / example
      Added value: +[
      +  {
      +    "keyword": "flight ticket new york san francisco",
      +    "language_code": "en",
      +    "location_code": 2840
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "keyword": "flight ticket new york san francisco",
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "browser_screen_height": {
      +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_resolution_ratio": {
      +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_width": {
      +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "format": "int64",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "calculate_rectangles": {
      +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong></p>\n\nFor current API pricing, see the published x-aisa-pricing metadata. Where supported, obtain a quote for your exact request.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "depth": {
      +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "device": {
      +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "keyword": {
      +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      +        "type": "string"
      +      },
      +      "language_code": {
      +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      +        "type": "integer"
      +      },
      +      "location_coordinate": {
      +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      +        "type": "string"
      +      },
      +      "location_name": {
      +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      +        "type": "string"
      +      },
      +      "match_type": {
      +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      +        "type": "string"
      +      },
      +      "match_value": {
      +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      +        "type": "string"
      +      },
      +      "max_crawl_pages": {
      +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "os": {
      +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_param": {
      +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "stop_crawl_on_match": {
      +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      +        "items": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "match_type": {
      +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "match_value": {
      +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ],
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "device": {
      -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
      -    "type": "string"
      -  },
      -  "keyword": {
      -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
      -    "type": "string"
      -  },
      -  "language_code": {
      -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
      -    "type": "string"
      -  },
      -  "language_name": {
      -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
      -    "type": "string"
      -  },
      -  "location_code": {
      -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
      -    "type": "integer"
      -  },
      -  "location_name": {
      -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
      -    "type": "string"
      -  },
      -  "os": {
      -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "keyword"
      -]
    • 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: -[
      -  {
      -    "keyword": "flight ticket new york san francisco",
      -    "language_code": "en",
      -    "location_code": 2840
      -  }
      -]
    • removedInput schema / properties / body / items / anyOf
      Removed value: -[
      -  {
      -    "example": [
      -      {
      -        "keyword": "flight ticket new york san francisco",
      -        "language_code": "en",
      -        "location_code": 2840
      -      }
      -    ],
      -    "properties": {
      -      "browser_screen_height": {
      -        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_resolution_ratio": {
      -        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "browser_screen_width": {
      -        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      -        "format": "int64",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "calculate_rectangles": {
      -        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> you will be charged extra $0.002 for using this parameter</p>",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "depth": {
      -        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "device": {
      -        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "keyword": {
      -        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      -        "type": "string"
      -      },
      -      "language_code": {
      -        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      -        "type": "string"
      -      },
      -      "language_name": {
      -        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      -        "type": "string"
      -      },
      -      "location_code": {
      -        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      -        "type": "integer"
      -      },
      -      "location_coordinate": {
      -        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      -        "type": "string"
      -      },
      -      "location_name": {
      -        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      -        "type": "string"
      -      },
      -      "match_type": {
      -        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      -        "type": "string"
      -      },
      -      "match_value": {
      -        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      -        "type": "string"
      -      },
      -      "max_crawl_pages": {
      -        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "os": {
      -        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "search_param": {
      -        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "stop_crawl_on_match": {
      -        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      -        "items": {
      -          "anyOf": [
      -            {
      -              "properties": {
      -                "match_type": {
      -                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "match_value": {
      -                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            }
      -          ],
      -          "type": [
      -            "object",
      -            "null"
      -          ]
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "tag": {
      -        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "target": {
      -        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "url": {
      -        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties / body / items / properties
      Added value: +{
      +  "device": {
      +    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
      +    "type": "string"
      +  },
      +  "keyword": {
      +    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
      +    "type": "string"
      +  },
      +  "language_code": {
      +    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
      +    "type": "string"
      +  },
      +  "language_name": {
      +    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
      +    "type": "string"
      +  },
      +  "location_code": {
      +    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
      +    "type": "integer"
      +  },
      +  "location_name": {
      +    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
      +    "type": "string"
      +  },
      +  "os": {
      +    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / body / items / required
      Added value: +[
      +  "keyword"
      +]
    • 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: +[
      +  {
      +    "keyword": "flight ticket new york san francisco",
      +    "language_code": "en",
      +    "location_code": 2840
      +  }
      +]
    • addedInput schema / properties / body / items / anyOf
      Added value: +[
      +  {
      +    "example": [
      +      {
      +        "keyword": "flight ticket new york san francisco",
      +        "language_code": "en",
      +        "location_code": 2840
      +      }
      +    ],
      +    "properties": {
      +      "browser_screen_height": {
      +        "description": "<p><em>browser screen height</em><p>optional field<p>you can set a custom browser screen height to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1080</code> for <code>desktop</code>;<p><code>640</code> for <code>mobile</code> on <code>android</code>;<p><code>812</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_resolution_ratio": {
      +        "description": "<p><em>browser screen resolution ratio</em><p>optional field<p>you can set a custom browser screen resolution ratio to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>0.5-3</code>;<p>by default, the parameter is set to:<p><code>1</code> for <code>desktop</code>;<p><code>3</code> for <code>mobile</code> on <code>android</code>;<p><code>3</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "browser_screen_width": {
      +        "description": "<p><em>browser screen width</em><p>optional field<p>you can set a custom browser screen width to calculate pixel rankings for a particular device;<p>can be specified within the following range: <code>240-9999</code>;<p>by default, the parameter is set to:<p><code>1920</code> for <code>desktop</code>;<p><code>360</code> for <code>mobile</code> on <code>android</code>;<p><code>375</code> for <code>mobile</code> on <code>iOS</code>;<p><strong>Note:</strong> to use this parameter, set <code>calculate_rectangles</code> to <code>true</code></p>",
      +        "format": "int64",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "calculate_rectangles": {
      +        "description": "<p><em>calculate pixel rankings for SERP elements in advanced results</em><p>optional field<p>pixel ranking refers to the distance between the result snippet and top left corner of the screen;<p><a href=\"https://dataforseo.com/help-center/pixel-ranking-in-serp-api\">Visit Help Center to learn more&gt;&gt;</a><p>by default, the parameter is set to <code>false</code><p><strong>Note:</strong> you will be charged extra $0.002 for using this parameter</p>",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "depth": {
      +        "description": "<p><em>parsing depth</em><p>optional field<p>number of results in SERP<p>default value: <code>10</code><p>max value: <code>200</code></p><br><strong>Your account will be billed per each SERP containing up to 10 results;</strong><p>Setting depth above 10 may result in additional charges <a href=\"https://dataforseo.com/help-center/how-many-results-scraped\" rel=\"noopener noreferrer\" target=\"_blank\">if the search engine returns more than 10 results</a>;<p>The cost can be calculated on the <a title=\"Pricing\" href=\"https://dataforseo.com/pricing/serp/bing-organic-serp-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing</a> page.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "device": {
      +        "description": "<p><em>device type</em><p>optional field<p>return results for a specific device type<p>can take the values:<code>desktop</code>, <code>mobile</code><p>default value: <code>desktop</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "keyword": {
      +        "description": "<p><em>keyword</em><p><strong>required field</strong><p>you can specify <strong>up to 700 characters</strong> in the <code>keyword</code> field<p><strong>all %## will be decoded (plus character '+' will be decoded to a space character)</strong><p>if you need to use the \"%\" character for your <code>keyword</code>, please specify it as \"%25\";<p>if you need to use the “+” character for your <code>keyword</code>, please specify it as “%2B”;</p><br><p>learn more about rules and limitations of <code>keyword</code> and <code>keywords</code> fields in DataForSEO APIs in this <a href=\"https://dataforseo.com/help-center/rules-and-limitations-of-keyword-and-keywords-fields-in-dataforseo-apis\" target=\"_blank\" rel=\"noopener noreferrer\">Help Center article</a></p>",
      +        "type": "string"
      +      },
      +      "language_code": {
      +        "description": "<p><em>search engine language code</em><p><strong>required field if you don't specify</strong> <code>language_name</code><p><strong>if you use this field, you don't need to specify <code>language_name</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_code</code>&nbsp;by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><em><p></em>example:<em><p></em><code class=\"long-string\">en</code></p>",
      +        "type": "string"
      +      },
      +      "language_name": {
      +        "description": "<p><em>full name of search engine language</em><p><strong>required field if you don't specify</strong> <code>language_code</code><p><strong>if you use this field, you don't need to specify <code>language_code</code></strong><p>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages</code><p>example:<p><code class=\"long-string\">English</code></p>",
      +        "type": "string"
      +      },
      +      "location_code": {
      +        "description": "<p><em>search engine location code</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">2840</code></p>",
      +        "type": "integer"
      +      },
      +      "location_coordinate": {
      +        "description": "<p><em>GPS coordinates of a location</em><p><strong>required field if you don't specify</strong> <code>location_name</code>&nbsp;or <code>location_code</code><p><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong><p><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format<p>the maximum number of decimal digits for <em>\"latitude\"</em> and <em>\"longitude\"</em>: 7<p>example:<p><code class=\"long-string\">53.476225,-2.243572</code></p>",
      +        "type": "string"
      +      },
      +      "location_name": {
      +        "description": "<p><em>full name of search engine location</em><p><strong>required field if you don't specify</strong> <code>location_code</code> or <code>location_coordinate</code><p><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><p>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to the <code>https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations</code><p>example:<p><code class=\"long-string\">London,England,United Kingdom</code></p>",
      +        "type": "string"
      +      },
      +      "match_type": {
      +        "description": "<p><em>target match type</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>type of match for the <code>match_value</code><p>possible values:<p><code>domain</code> – specific domain or subdomain<p><code>with_subdomains</code> – main domain and subdomains<p><code>wildcard</code> –  wildcard pattern</p>",
      +        "type": "string"
      +      },
      +      "match_value": {
      +        "description": "<p><em>target domain, subdomain, or wildcard value</em><p><strong>required field if <code>stop_crawl_on_match</code> is specified</strong><p>specify a target domain, subdomain, or wildcard value;<p><strong>Note:</strong> domain or subdomain must be specified without a request protocol;<p>example: <code>\"match_value\": \"dataforseo.com\"</code>,<p><code>\"match_value\": \"/blog/post-*\"</code></p>",
      +        "type": "string"
      +      },
      +      "max_crawl_pages": {
      +        "description": "<p><em>page crawl limit</em><p>optional field<p>number of search results pages to crawl<p>default value: <code>1</code><p>max value: <code>100</code><p><strong>Note:</strong> the <code>max_crawl_pages</code> and <code>depth</code> parameters complement each other;<p>learn more at <a href=\"https://dataforseo.com/help-center/what-is-max-crawl-pages-and-how-does-it-work\" rel=\"noopener noreferrer\" target=\"_blank\">our help center</a></p>",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "os": {
      +        "description": "<p><em>device operating system</em><p>optional field<p>if you specify <code>desktop</code> in the <code>device</code> field, choose from the following values: <code>windows</code>, <code>macos</code><p>default value: <code>windows</code><p>if you specify <code>mobile</code> in the <code>device</code> field, choose from the following values: <code>android</code>, <code>ios</code><p>default value: <code>android</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "search_param": {
      +        "description": "<p><em>additional parameters of the search query</em><p>optional field<p><a href=\"https://dataforseo.com/help-center/bing-search-engine-parameters-and-how-to-use-them\">get the list of available parameters and additional details here</a></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "stop_crawl_on_match": {
      +        "description": "array of targets to stop crawling\noptional field\nif specified, the response will contain SERP results up to and including the specified match_value;\nyou can specify up to 10 target values in this array\nexample:\n\"stop_crawl_on_match\":[{\"match_value\":\"dataforseo.com\",\"match_type\":\"with_subdomains\"}]\nlearn more about this parameter on our Help Center - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api\nYour account will be billed per each SERP crawled through the specified targets",
      +        "items": {
      +          "anyOf": [
      +            {
      +              "properties": {
      +                "match_type": {
      +                  "description": "target match type\nrequired field if stop_crawl_on_match is specified;\ntype of match for the match_value\npossible values: domain, with_subdomains, wildcard",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "match_value": {
      +                  "description": "arget domain or wildcard value\nrequired field if stop_crawl_on_match is specified;\nspecify a target domain or wildcard value;\nNote: domain name must be specified without a request protocol;\nexample: dataforseo.com",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ],
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "tag": {
      +        "description": "<p><em>user-defined task identifier</em><p>optional field<p><em>the character limit is 255</em><p>you can use this parameter to identify the task and match it with the result<p>you will find the specified <code>tag</code> value in the <code>data</code> object of the response</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "target": {
      +        "description": "<p><em>target domain, subdomain, or webpage to get results for</em><p>optional field<p>a domain or a subdomain should be specified without <code>https://</code> and <code>www.</code><p>note that the results of <code>target</code>-specific tasks will only include SERP elements that contain a <code>url</code> string;<p>you can also use a wildcard (‘*’) character to specify the search pattern in SERP and narrow down the results;<p>examples:<p><strong><code class=\"long-string\">example.com</code></strong>  - returns results for the website's home page with URLs, such as <code class=\"long-string\">https://example.com</code>, or <code class=\"long-string\">https://www.example.com/</code>, or <code class=\"long-string\">https://example.com/</code>;<p><strong><code class=\"long-string\">example.com*</code></strong> - returns results for the domain, including all its pages;<p><strong><code class=\"long-string\">*example.com*</code></strong> - returns results for the entire domain, including all its pages and subdomains;<p><strong><code class=\"long-string\">*example.com</code></strong>  - returns results for the home page regardless of the subdomain, such as <code class=\"long-string\">https://en.example.com</code>;<p><strong><code class=\"long-string\">example.com/example-page</code></strong>  - returns results for the exact URL;<p><strong><code class=\"long-string\">example.com/example-page*</code></strong>  - returns results for all domain's URLs that start with the specified string</p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "description": "<p><em>direct URL of the search query</em><p>optional field<p>you can specify a direct URL and we will sort it out to the necessary fields. Note that this method is the most difficult for our API to process and also requires you to specify the exact language and location in the URL. In most cases, we wouldn’t recommend using this method.<p>example:<p><code class=\"long-string\">https://www.bing.com/search?q=rank%20checker&amp;count=50&amp;first=1&amp;setlang=en&amp;cc=US&amp;safesearch=Moderate&amp;FORM=SEPAGE</code></p>",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / body / items / properties
      Removed value: -{
      -  "device": {
      -    "description": "device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop",
      -    "type": "string"
      -  },
      -  "keyword": {
      -    "description": "keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article",
      -    "type": "string"
      -  },
      -  "language_code": {
      -    "description": "search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en",
      -    "type": "string"
      -  },
      -  "language_name": {
      -    "description": "full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English",
      -    "type": "string"
      -  },
      -  "location_code": {
      -    "description": "search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840",
      -    "type": "integer"
      -  },
      -  "location_name": {
      -    "description": "full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom",
      -    "type": "string"
      -  },
      -  "os": {
      -    "description": "device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / body / items / required
      Removed value: -[
      -  "keyword"
      -]
    • 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. Changed4 schema fields changed
    • changedInput schema / properties / body / items / properties / language_code / description
      Previous value: -"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: en"
    • changedInput schema / properties / body / items / properties / language_name / description
      Previous value: -"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code. Use the AIsa tool [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages) to retrieve supported Bing languages. Select a language from the returned list and use its `language_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: English"
    • changedInput schema / properties / body / items / properties / location_code / description
      Previous value: -"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_code` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: 2840"
    • changedInput schema / properties / body / items / properties / location_name / description
      Previous value: -"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate. Use the AIsa tool [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations) to retrieve supported Bing locations. Select a location from the returned list and use its `location_name` value exactly. When using MCP, discover this tool through `search` and obtain its schema with `batch_get_schema` if needed. example: London,England,United Kingdom"
  7. Changed7 schema fields changed
    • changedInput schema / properties / body / items / properties / device / description
      Previous value: -"Device type"New value: +"device type optional field return results for a specific device type can take the values:desktop, mobile default value: desktop"
    • changedInput schema / properties / body / items / properties / keyword / description
      Previous value: -"Keyword to search for"New value: +"keyword required field you can specify up to 700 characters in the keyword field all %## will be decoded (plus character '+' will be decoded to a space character) if you need to use the \"%\" character for your keyword, please specify it as \"%25\"; if you need to use the “+” character for your keyword, please specify it as “%2B”; learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article"
    • changedInput schema / properties / body / items / properties / language_code / description
      Previous value: -"Search engine language code"New value: +"search engine language code required field if you don't specify language_name if you use this field, you don't need to specify language_name you can receive the list of available languages of the search engine with their language_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: en"
    • changedInput schema / properties / body / items / properties / language_name / description
      Previous value: -"Full name of search engine language"New value: +"full name of search engine language required field if you don't specify language_code if you use this field, you don't need to specify language_code you can receive the list of available languages of the search engine with their language_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/languages example: English"
    • changedInput schema / properties / body / items / properties / location_code / description
      Previous value: -"Search engine location code"New value: +"search engine location code required field if you don't specify location_name or location_coordinate if you use this field, you don't need to specify location_name or location_coordinate you can receive the list of available locations of the search engines with their location_code by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: 2840"
    • changedInput schema / properties / body / items / properties / location_name / description
      Previous value: -"Full name of search engine location"New value: +"full name of search engine location required field if you don't specify location_code or location_coordinate if you use this field, you don't need to specify location_code or location_coordinate you can receive the list of available locations of the search engine with their location_name by making a separate request to the https://api.dataforseo.com/v3/serp/{{low_se_name}}/locations example: London,England,United Kingdom"
    • changedInput schema / properties / body / items / properties / os / description
      Previous value: -"Device operating system"New value: +"device operating system optional field if you specify desktop in the device field, choose from the following values: windows, macos default value: windows if you specify mobile in the device field, choose from the following values: android, ios default value: android"
  8. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the operational profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false), so the description's burden is lighter. It usefully adds cost context ('Usage-based billing; Default request estimate: $0.002 USD'), but it neither explains the per-SERP/per-depth billing model nor reconciles the read-style 'provides real-time data' framing with the destructive annotation. It also claims 'top 100 results' while the schema's default depth is 10, which is potentially misleading.

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?

Two front-loaded sentences state the purpose and the extra-element coverage, with the pricing note appended as a clearly delimited boilerplate block. No filler sentences, though the generic 'search engine' phrasing wastes the chance to say 'Bing'.

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 values need not be explained, and the schema is richly annotated. Still, for a 15-field advanced SERP endpoint the description omits the Bing specificity, the live/billing implications, and how it relates to the other SERP siblings, leaving the agent to infer routing.

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

Parameters3/5

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

The description adds no parameter detail beyond restating keyword/search-engine/location. However, the nested body schema itself documents nearly every field in depth (depth, device, os, target, match_type, location_coordinate, billing caveats), so the schema carries the semantics and a baseline 3 is appropriate; the description contributes nothing here.

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 gives a concrete verb+resource: 'provides real-time data on top 100 search engine results for the specified keyword, search engine, and location,' and adds the featured-snippet scope. It never names Bing and doesn't distinguish itself from the many sibling organic SERP tools (Google organic live, YouTube organic live, AI mode), so sibling differentiation is left to the tool 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 statement of when to choose this endpoint over alternatives such as post_dataforseo_serp_google_organic_live or the youtube/ai-mode variants. No prerequisites, no exclusion conditions, and no guidance on the live-vs-task model are provided.

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