{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-search-console/json-schema/google-search-console-run-mobile-friendly-test-response-schema.json",
  "title": "RunMobileFriendlyTestResponse",
  "description": "Mobile-friendly test response, including mobile-friendly issues and resource issues.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-search-console-urltestingtools-api-openapi.yml#/components/schemas/RunMobileFriendlyTestResponse",
  "type": "object",
  "properties": {
    "testStatus": {
      "$ref": "#/$defs/TestStatus"
    },
    "screenshot": {
      "$ref": "#/$defs/Image"
    },
    "mobileFriendliness": {
      "type": "string",
      "enum": [
        "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED",
        "MOBILE_FRIENDLY",
        "NOT_MOBILE_FRIENDLY"
      ],
      "description": "Test verdict, whether the page is mobile friendly or not.",
      "x-enum-descriptions": {
        "MOBILE_FRIENDLY_TEST_RESULT_UNSPECIFIED": "Internal error when running this test. Please try running the test again.",
        "MOBILE_FRIENDLY": "The page is mobile friendly.",
        "NOT_MOBILE_FRIENDLY": "The page is not mobile friendly."
      }
    },
    "mobileFriendlyIssues": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MobileFriendlyIssue"
      },
      "description": "List of mobile-usability issues."
    },
    "resourceIssues": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ResourceIssue"
      },
      "description": "Information about embedded resources issues."
    }
  },
  "$defs": {
    "BlockedResource": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "URL of the blocked resource."
        }
      },
      "description": "Blocked resource."
    },
    "Image": {
      "type": "object",
      "properties": {
        "mimeType": {
          "type": "string",
          "description": "The mime-type of the image data."
        },
        "data": {
          "type": "string",
          "format": "byte",
          "description": "Image data in format determined by the mime type. Currently, the format will always be \"image/png\", but this might change in the future."
        }
      },
      "description": "Describe image data."
    },
    "MobileFriendlyIssue": {
      "type": "object",
      "properties": {
        "rule": {
          "type": "string",
          "enum": [
            "MOBILE_FRIENDLY_RULE_UNSPECIFIED",
            "USES_INCOMPATIBLE_PLUGINS",
            "CONFIGURE_VIEWPORT",
            "FIXED_WIDTH_VIEWPORT",
            "SIZE_CONTENT_TO_VIEWPORT",
            "USE_LEGIBLE_FONT_SIZES",
            "TAP_TARGETS_TOO_CLOSE"
          ],
          "description": "Rule violated.",
          "x-enum-descriptions": {
            "MOBILE_FRIENDLY_RULE_UNSPECIFIED": "Unknown rule. Sorry, we don't have any description for the rule that was broken.",
            "USES_INCOMPATIBLE_PLUGINS": "Plugins incompatible with mobile devices are being used. [Learn more] (https://support.google.com/webmasters/answer/6352293#flash_usage).",
            "CONFIGURE_VIEWPORT": "Viewport is not specified using the meta viewport tag. [Learn more] (https://support.google.com/webmasters/answer/6352293#viewport_not_configured).",
            "FIXED_WIDTH_VIEWPORT": "Viewport defined to a fixed width. [Learn more] (https://support.google.com/webmasters/answer/6352293#fixed-width_viewport).",
            "SIZE_CONTENT_TO_VIEWPORT": "Content not sized to viewport. [Learn more] (https://support.google.com/webmasters/answer/6352293#content_not_sized_to_viewport).",
            "USE_LEGIBLE_FONT_SIZES": "Font size is too small for easy reading on a small screen. [Learn More] (https://support.google.com/webmasters/answer/6352293#small_font_size).",
            "TAP_TARGETS_TOO_CLOSE": "Touch elements are too close to each other. [Learn more] (https://support.google.com/webmasters/answer/6352293#touch_elements_too_close)."
          }
        }
      },
      "description": "Mobile-friendly issue."
    },
    "ResourceIssue": {
      "type": "object",
      "properties": {
        "blockedResource": {
          "$ref": "#/$defs/BlockedResource"
        }
      },
      "description": "Information about a resource with issue."
    },
    "TestStatus": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "TEST_STATUS_UNSPECIFIED",
            "COMPLETE",
            "INTERNAL_ERROR",
            "PAGE_UNREACHABLE"
          ],
          "description": "Status of the test.",
          "x-enum-descriptions": {
            "TEST_STATUS_UNSPECIFIED": "Internal error when running this test. Please try running the test again.",
            "COMPLETE": "Inspection has completed without errors.",
            "INTERNAL_ERROR": "Inspection terminated in an error state. This indicates a problem in Google's infrastructure, not a user error. Please try again later.",
            "PAGE_UNREACHABLE": "Google can not access the URL because of a user error such as a robots.txt blockage, a 403 or 500 code etc. Please make sure that the URL provided is accessible by Googlebot and is not password protected."
          }
        },
        "details": {
          "type": "string",
          "description": "Error details if applicable."
        }
      },
      "description": "Final state of the test, including error details if necessary."
    }
  }
}