We are updating the Data API to match how YouTube counts views for Shorts.
Learn more
Videos: reportAbuse
Stay organized with collections
Save and categorize content based on your preferences.
Reports a video for containing abusive content.
Quota impact: A call to this method has a quota cost of 50 units.
Request
HTTP request
POST https://www.googleapis.com/youtube/v3/videos/reportAbuse
Authorization
This request requires authorization with at least one of the following scopes (read more about authentication and authorization).
Scope |
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
https://www.googleapis.com/auth/youtubepartner |
Parameters
The table below lists the parameters that this query supports. All of the parameters listed are query parameters.
Parameters |
Optional parameters |
onBehalfOfContentOwner |
string
This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners.
The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. |
Request body
The request body has the following data structure:
{
"videoId": string,
"reasonId": string,
"secondaryReasonId": string,
"comments": string,
"language": string
}
Required properties
You must set values for the following properties:
Optional properties
You can set values for the following properties:
Properties
The following table defines the properties that appear in this resource:
Properties |
videoId |
string
Identifies the video that is being reported for containing abusive content. Set the value to that video's YouTube video ID. |
reasonId |
object
Specifies the reason that the video that is being reported for containing abusive content. Set the value to the appropriate videoAbuseReportReason resource's unique ID . |
secondaryReasonId |
object
Specifies the secondary reason that the video that is being reported for containing abusive content. A secondary reason provides a more specific description of the objectionable content than the primary reason, which the reasonId property identifies. Set the value to the appropriate secondary reason's unique ID . |
language |
object
Identifies a language spoken by the reporter. |
Response
If successful, this method returns an HTTP 204
response code (No Content
).
Errors
The table below identifies error messages that the API could return in response to a call to this method. Please see the error message documentation for more detail.
Error type |
Error detail |
Description |
badRequest (400) |
invalidAbuseReason |
The request contained an unexpected value for the reasonId property, or an invalid combination of the reasonId and secondaryReasonId properties. |
badRequest (400) |
rateLimitExceeded |
The user has sent too many requests in a given timeframe. |
forbidden (403) |
forbidden |
|
notFound (404) |
videoNotFound |
The video that you are trying to report abuse for cannot be found. |
Try it!
Use the APIs Explorer to call this API and see the API request and response.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThis API allows reporting a YouTube video for abusive content using a POST request to \u003ccode\u003ehttps://www.googleapis.com/youtube/v3/videos/reportAbuse\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eReporting a video requires setting both the \u003ccode\u003evideoId\u003c/code\u003e (the ID of the video being reported) and the \u003ccode\u003ereasonId\u003c/code\u003e (the reason for reporting the video) within the request body.\u003c/p\u003e\n"],["\u003cp\u003eThe request can optionally include \u003ccode\u003esecondaryReasonId\u003c/code\u003e, \u003ccode\u003ecomments\u003c/code\u003e, and \u003ccode\u003elanguage\u003c/code\u003e for more detailed information about the report.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing this API call consumes 50 quota units and requires authorization with specific scopes, such as \u003ccode\u003ehttps://www.googleapis.com/auth/youtube\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe API will return an error if an unexpected or invalid value is entered for \u003ccode\u003ereasonId\u003c/code\u003e or \u003ccode\u003esecondaryReasonId\u003c/code\u003e and if a video is not found.\u003c/p\u003e\n"]]],["This document details how to report a YouTube video for abusive content using the `videos.reportAbuse` API endpoint. A POST request is made to the API with a quota cost of 50 units. Authorization is needed using specified scopes. The request body requires the `videoId` and `reasonId`, and can optionally include `secondaryReasonId`, `comments`, and `language`. The response returns a 204 status code upon success and specific error codes in case of failure.\n"],null,["# Videos: reportAbuse\n\nReports a video for containing abusive content.\n\n**Quota impact:** A call to this method has a [quota cost](/youtube/v3/getting-started#quota) of 50 units.\n\nRequest\n-------\n\n### HTTP request\n\n```\nPOST https://www.googleapis.com/youtube/v3/videos/reportAbuse\n```\n\n### Authorization\n\nThis request requires authorization with at least one of the following scopes ([read more about authentication and authorization](/youtube/v3/guides/authentication)).\n\n| Scope |\n|-----------------------------------------------------|\n| `https://www.googleapis.com/auth/youtube` |\n| `https://www.googleapis.com/auth/youtube.force-ssl` |\n| `https://www.googleapis.com/auth/youtubepartner` |\n\n### Parameters\n\nThe table below lists the parameters that this query supports. All of the parameters listed are query parameters.\n\n| Parameters ||\n|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| **Optional parameters** |||\n| `onBehalfOfContentOwner` | `string` This parameter can only be used in a properly [authorized request](/youtube/v3/guides/authentication). **Note:** This parameter is intended exclusively for YouTube content partners. The **onBehalfOfContentOwner** parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner. |\n\n### Request body\n\nThe request body has the following data structure: \n\n```text\n{\n \"videoId\": string,\n \"reasonId\": string,\n \"secondaryReasonId\": string,\n \"comments\": string,\n \"language\": string\n}\n```\n\n#### Required properties\n\nYou must set values for the following properties:\n\n\u003cbr /\u003e\n\n- [videoId](#videoId)\n- [reasonId](#reasonId)\n\n\u003cbr /\u003e\n\n#### Optional properties\n\nYou can set values for the following properties:\n\n\u003cbr /\u003e\n\n- [secondaryReasonId](#secondaryReasonId)\n- [comments](#comments)\n- [language](#language)\n\n\u003cbr /\u003e\n\n### Properties\n\nThe following table defines the properties that appear in this resource:\n\n| Properties ||\n|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `videoId` | `string` Identifies the video that is being reported for containing abusive content. Set the value to that video's YouTube video ID. |\n| `reasonId` | `object` Specifies the reason that the video that is being reported for containing abusive content. Set the value to the appropriate `videoAbuseReportReason` resource's [unique ID](/youtube/v3/docs/videoAbuseReportReasons#id). |\n| `secondaryReasonId` | `object` Specifies the secondary reason that the video that is being reported for containing abusive content. A secondary reason provides a more specific description of the objectionable content than the primary reason, which the `reasonId` property identifies. Set the value to the appropriate secondary reason's [unique ID](/youtube/v3/docs/videoAbuseReportReasons#snippet.secondaryReasons[].id). |\n| `comments` | `string` Provides any additional information that the reporter wants to add. |\n| `language` | `object` Identifies a language spoken by the reporter. |\n\nResponse\n--------\n\nIf successful, this method returns an HTTP `204` response code (`No Content`).\n\nErrors\n------\n\nThe table below identifies error messages that the API could return in response to a call to this method. Please see the [error message](/youtube/v3/docs/errors) documentation for more detail.\n\n| Error type | Error detail | Description |\n|--------------------|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `badRequest (400)` | `invalidAbuseReason` | The request contained an unexpected value for the `reasonId` property, or an invalid combination of the `reasonId` and `secondaryReasonId` properties. |\n| `badRequest (400)` | `rateLimitExceeded` | The user has sent too many requests in a given timeframe. |\n| `forbidden (403)` | `forbidden` | |\n| `notFound (404)` | `videoNotFound` | The video that you are trying to report abuse for cannot be found. |\n\nTry it!\n-------\n\nUse the APIs Explorer to call this API and see the API request and response."]]