{
  "baseUrl": "https://factchecktools.googleapis.com/",
  "ownerDomain": "google.com",
  "version": "v1alpha1",
  "description": "",
  "servicePath": "",
  "discoveryVersion": "v1",
  "revision": "20260628",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/factchecktools": {
          "description": "Read, create, update, and delete your ClaimReview data."
        }
      }
    }
  },
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "protocol": "rest",
  "documentationLink": "https://developers.google.com/fact-check/tools/api/",
  "rootUrl": "https://factchecktools.googleapis.com/",
  "kind": "discovery#restDescription",
  "parameters": {
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "default": "json",
      "location": "query",
      "description": "Data format for response."
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean",
      "default": "true"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ]
    },
    "key": {
      "location": "query",
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    }
  },
  "canonicalName": "Fact Check Tools",
  "resources": {
    "claims": {
      "methods": {
        "search": {
          "httpMethod": "GET",
          "parameterOrder": [],
          "id": "factchecktools.claims.search",
          "description": "Search through fact-checked claims.",
          "flatPath": "v1alpha1/claims:search",
          "parameters": {
            "pageToken": {
              "description": "The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request.",
              "type": "string",
              "location": "query"
            },
            "languageCode": {
              "location": "query",
              "type": "string",
              "description": "The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". Can be used to restrict results by language, though we do not currently consider the region."
            },
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "The pagination size. We will return up to that many results. Defaults to 10 if not set."
            },
            "reviewPublisherSiteFilter": {
              "description": "The review publisher site to filter results by, e.g. nytimes.com.",
              "type": "string",
              "location": "query"
            },
            "query": {
              "description": "Textual query string. Required unless `review_publisher_site_filter` is specified.",
              "location": "query",
              "type": "string"
            },
            "offset": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result."
            },
            "maxAgeDays": {
              "description": "The maximum age of the returned search results, in days. Age is determined by either claim date or review date, whichever is newer.",
              "format": "int32",
              "type": "integer",
              "location": "query"
            }
          },
          "path": "v1alpha1/claims:search",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse"
          }
        },
        "imageSearch": {
          "id": "factchecktools.claims.imageSearch",
          "description": "Search through fact-checked claims using an image as the query.",
          "httpMethod": "GET",
          "parameterOrder": [],
          "path": "v1alpha1/claims:imageSearch",
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse"
          },
          "flatPath": "v1alpha1/claims:imageSearch",
          "parameters": {
            "pageSize": {
              "format": "int32",
              "description": "Optional. The pagination size. We will return up to that many results. Defaults to 10 if not set.",
              "location": "query",
              "type": "integer"
            },
            "languageCode": {
              "description": "Optional. The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". Can be used to restrict results by language, though we do not currently consider the region.",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "Optional. The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request."
            },
            "offset": {
              "format": "int32",
              "description": "Optional. An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result.",
              "location": "query",
              "type": "integer"
            },
            "imageUri": {
              "description": "Required. The URI of the source image. This must be a publicly-accessible image HTTP/HTTPS URL. When fetching images from HTTP/HTTPS URLs, Google cannot guarantee that the request will be completed. Your request may fail if the specified host denies the request (e.g. due to request throttling or DOS prevention), or if Google throttles requests to the site for abuse prevention. You should not depend on externally-hosted images for production applications.",
              "type": "string",
              "location": "query"
            }
          }
        }
      }
    },
    "pages": {
      "methods": {
        "get": {
          "httpMethod": "GET",
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1alpha1/pages/{pagesId}",
          "parameters": {
            "name": {
              "description": "The name of the resource to get, in the form of `pages/{page_id}`.",
              "pattern": "^pages/[^/]+$",
              "required": true,
              "type": "string",
              "location": "path"
            }
          },
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "id": "factchecktools.pages.get",
          "description": "Get all `ClaimReview` markup on a page.",
          "path": "v1alpha1/{+name}"
        },
        "update": {
          "id": "factchecktools.pages.update",
          "description": "Update for all `ClaimReview` markup on a page Note that this is a full update. To retain the existing `ClaimReview` markup on a page, first perform a Get operation, then modify the returned markup, and finally call Update with the entire `ClaimReview` markup as the body.",
          "path": "v1alpha1/{+name}",
          "httpMethod": "PUT",
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1alpha1/pages/{pagesId}",
          "parameters": {
            "name": {
              "description": "The name of this `ClaimReview` markup page resource, in the form of `pages/{page_id}`. Except for update requests, this field is output-only and should not be set by the user.",
              "pattern": "^pages/[^/]+$",
              "required": true,
              "type": "string",
              "location": "path"
            }
          },
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          }
        },
        "delete": {
          "path": "v1alpha1/{+name}",
          "id": "factchecktools.pages.delete",
          "description": "Delete all `ClaimReview` markup on a page.",
          "flatPath": "v1alpha1/pages/{pagesId}",
          "parameters": {
            "name": {
              "pattern": "^pages/[^/]+$",
              "required": true,
              "description": "The name of the resource to delete, in the form of `pages/{page_id}`.",
              "location": "path",
              "type": "string"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "response": {
            "$ref": "GoogleProtobufEmpty"
          },
          "httpMethod": "DELETE",
          "parameterOrder": [
            "name"
          ]
        },
        "create": {
          "httpMethod": "POST",
          "parameterOrder": [],
          "flatPath": "v1alpha1/pages",
          "parameters": {},
          "request": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          },
          "id": "factchecktools.pages.create",
          "description": "Create `ClaimReview` markup on a page.",
          "path": "v1alpha1/pages"
        },
        "list": {
          "response": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/factchecktools"
          ],
          "flatPath": "v1alpha1/pages",
          "parameters": {
            "pageToken": {
              "description": "The pagination token. You may provide the `next_page_token` returned from a previous List request, if any, in order to get the next page. All other fields must have the same values as in the previous request.",
              "type": "string",
              "location": "query"
            },
            "pageSize": {
              "type": "integer",
              "location": "query",
              "description": "The pagination size. We will return up to that many results. Defaults to 10 if not set. Has no effect if a URL is requested.",
              "format": "int32"
            },
            "organization": {
              "type": "string",
              "location": "query",
              "description": "The organization for which we want to fetch markups for. For instance, \"site.com\". Cannot be specified along with an URL."
            },
            "url": {
              "description": "The URL from which to get `ClaimReview` markup. There will be at most one result. If markup is associated with a more canonical version of the URL provided, we will return that URL instead. Cannot be specified along with an organization.",
              "location": "query",
              "type": "string"
            },
            "offset": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "An integer that specifies the current offset (that is, starting result location) in search results. This field is only considered if `page_token` is unset, and if the request is not for a specific URL. For example, 0 means to return results starting from the first matching result, and 10 means to return from the 11th result."
            }
          },
          "httpMethod": "GET",
          "parameterOrder": [],
          "path": "v1alpha1/pages",
          "id": "factchecktools.pages.list",
          "description": "List the `ClaimReview` markup pages for a specific URL or for an organization."
        }
      }
    }
  },
  "schemas": {
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimSearchResponse",
      "description": "Response from searching fact-checked claims.",
      "properties": {
        "claims": {
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim"
          },
          "type": "array",
          "description": "The list of claims and all of their associated information."
        },
        "nextPageToken": {
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating",
      "description": "Information about the claim rating.",
      "properties": {
        "textualRating": {
          "description": "The truthfulness rating as a human-readible short word or phrase. Corresponds to `ClaimReview.reviewRating.alternateName`.",
          "type": "string"
        },
        "ratingValue": {
          "description": "A numeric rating of this claim, in the range worstRating — bestRating inclusive. Corresponds to `ClaimReview.reviewRating.ratingValue`.",
          "format": "int32",
          "type": "integer"
        },
        "worstRating": {
          "format": "int32",
          "description": "For numeric ratings, the worst value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.worstRating`.",
          "type": "integer"
        },
        "bestRating": {
          "format": "int32",
          "description": "For numeric ratings, the best value possible in the scale from worst to best. Corresponds to `ClaimReview.reviewRating.bestRating`.",
          "type": "integer"
        },
        "ratingExplanation": {
          "description": "Corresponds to `ClaimReview.reviewRating.ratingExplanation`.",
          "type": "string"
        },
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.reviewRating.image`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult": {
      "type": "object",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult",
      "description": "A claim and its associated information.",
      "properties": {
        "claim": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Claim",
          "description": "A claim which matched the query."
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponse",
      "description": "Response from searching fact-checked claims by image.",
      "properties": {
        "results": {
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1FactCheckedClaimImageSearchResponseResult"
          },
          "type": "array",
          "description": "The list of claims and all of their associated information."
        },
        "nextPageToken": {
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor",
      "description": "Information about the claim review author.",
      "properties": {
        "name": {
          "description": "Name of the organization that is publishing the fact check. Corresponds to `ClaimReview.author.name`.",
          "type": "string"
        },
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.author.image`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor",
      "description": "Information about the claim author.",
      "properties": {
        "name": {
          "description": "A person or organization stating the claim. For instance, \"John Doe\". Corresponds to `ClaimReview.itemReviewed.author.name`.",
          "type": "string"
        },
        "jobTitle": {
          "description": "Corresponds to `ClaimReview.itemReviewed.author.jobTitle`.",
          "type": "string"
        },
        "imageUrl": {
          "description": "Corresponds to `ClaimReview.itemReviewed.author.image`.",
          "type": "string"
        },
        "sameAs": {
          "description": "Corresponds to `ClaimReview.itemReviewed.author.sameAs`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleProtobufEmpty": {
      "type": "object",
      "id": "GoogleProtobufEmpty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {}
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup": {
      "type": "object",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup",
      "description": "Fields for an individual `ClaimReview` element. Except for sub-messages that group fields together, each of these fields correspond those in https://schema.org/ClaimReview. We list the precise mapping for each field.",
      "properties": {
        "url": {
          "description": "This field is optional, and will default to the page URL. We provide this field to allow you the override the default value, but the only permitted override is the page URL plus an optional anchor link (\"page jump\"). Corresponds to `ClaimReview.url`",
          "type": "string"
        },
        "rating": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimRating",
          "description": "Info about the rating of this claim review."
        },
        "claimReviewed": {
          "description": "A short summary of the claim being evaluated. Corresponds to `ClaimReview.claimReviewed`.",
          "type": "string"
        },
        "claimFirstAppearance": {
          "description": "A link to a work in which this claim first appears. Corresponds to `ClaimReview.itemReviewed[@type=Claim].firstAppearance.url`.",
          "type": "string"
        },
        "claimAuthor": {
          "description": "Info about the author of this claim.",
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimAuthor"
        },
        "claimDate": {
          "description": "The date when the claim was made or entered public discourse. Corresponds to `ClaimReview.itemReviewed.datePublished`.",
          "type": "string"
        },
        "claimAppearances": {
          "description": "A list of links to works in which this claim appears, aside from the one specified in `claim_first_appearance`. Corresponds to `ClaimReview.itemReviewed[@type=Claim].appearance.url`.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "claimLocation": {
          "description": "The location where this claim was made. Corresponds to `ClaimReview.itemReviewed.name`.",
          "type": "string"
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse": {
      "type": "object",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ListClaimReviewMarkupPagesResponse",
      "description": "Response from listing `ClaimReview` markup.",
      "properties": {
        "nextPageToken": {
          "description": "The next pagination token in the Search response. It should be used as the `page_token` for the following request. An empty value means no more results.",
          "type": "string"
        },
        "claimReviewMarkupPages": {
          "description": "The result list of pages of `ClaimReview` markup.",
          "type": "array",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage"
          }
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1Publisher": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher",
      "description": "Information about the publisher.",
      "properties": {
        "site": {
          "description": "Host-level site name, without the protocol or \"www\" prefix. For instance, \"awesomefactchecks.com\". This value of this field is based purely on the claim review URL.",
          "type": "string"
        },
        "name": {
          "description": "The name of this publisher. For instance, \"Awesome Fact Checks\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1Claim": {
      "type": "object",
      "properties": {
        "claimant": {
          "description": "A person or organization stating the claim. For instance, \"John Doe\".",
          "type": "string"
        },
        "text": {
          "description": "The claim text. For instance, \"Crime has doubled in the last 2 years.\"",
          "type": "string"
        },
        "claimReview": {
          "description": "One or more reviews of this claim (namely, a fact-checking article).",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview"
          },
          "type": "array"
        },
        "claimDate": {
          "description": "The date that the claim was made.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1Claim",
      "description": "Information about the claim."
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage": {
      "type": "object",
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkupPage",
      "description": "Holds one or more instances of `ClaimReview` markup for a webpage.",
      "properties": {
        "name": {
          "description": "The name of this `ClaimReview` markup page resource, in the form of `pages/{page_id}`. Except for update requests, this field is output-only and should not be set by the user.",
          "type": "string"
        },
        "claimReviewAuthor": {
          "description": "Info about the author of this claim review. Similar to the above, semantically these are page-level fields, and each `ClaimReview` on this page will contain the same values.",
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewAuthor"
        },
        "pageUrl": {
          "description": "The URL of the page associated with this `ClaimReview` markup. While every individual `ClaimReview` has its own URL field, semantically this is a page-level field, and each `ClaimReview` on this page will use this value unless individually overridden. Corresponds to `ClaimReview.url`",
          "type": "string"
        },
        "claimReviewMarkups": {
          "description": "A list of individual claim reviews for this page. Each item in the list corresponds to one `ClaimReview` element.",
          "type": "array",
          "items": {
            "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReviewMarkup"
          }
        },
        "publishDate": {
          "description": "The date when the fact check was published. Similar to the URL, semantically this is a page-level field, and each `ClaimReview` on this page will contain the same value. Corresponds to `ClaimReview.datePublished`",
          "type": "string"
        },
        "versionId": {
          "description": "The version ID for this markup. Except for update requests, this field is output-only and should not be set by the user.",
          "type": "string"
        }
      }
    },
    "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview": {
      "id": "GoogleFactcheckingFactchecktoolsV1alpha1ClaimReview",
      "description": "Information about a claim review.",
      "properties": {
        "url": {
          "description": "The URL of this claim review.",
          "type": "string"
        },
        "title": {
          "description": "The title of this claim review, if it can be determined.",
          "type": "string"
        },
        "reviewDate": {
          "type": "string",
          "description": "The date the claim was reviewed.",
          "format": "google-datetime"
        },
        "textualRating": {
          "description": "Textual rating. For instance, \"Mostly false\".",
          "type": "string"
        },
        "languageCode": {
          "description": "The language this review was written in. For instance, \"en\" or \"de\".",
          "type": "string"
        },
        "publisher": {
          "$ref": "GoogleFactcheckingFactchecktoolsV1alpha1Publisher",
          "description": "The publisher of this claim review."
        }
      },
      "type": "object"
    }
  },
  "version_module": true,
  "ownerName": "Google",
  "batchPath": "batch",
  "basePath": "",
  "name": "factchecktools",
  "mtlsRootUrl": "https://factchecktools.mtls.googleapis.com/",
  "id": "factchecktools:v1alpha1",
  "fullyEncodeReservedExpansion": true,
  "title": "Fact Check Tools API"
}
