Copyright Detection
Updated: Jul 11, 2024
This guide shows you how to detect copyright violations for a video uploaded or published to Instagram using the Instagram Graph API.
We only support Instagram media created via the content publishing API for early copyright detection.
Before you start
Before you start you will need the following:
- All requirements and limitations for accessing the Instagram Container and Instagram Media endpoints apply
Best practices
When testing an API call, you can include the
access_token parameter set to your access token. However, when making secure calls from your app, use the access token class.Check an uploaded video
To check the copyright status for a video that have been uploaded, but not yet published, send a
GET request to the /{ig-containter-id} endpoint with the fields parameter set to copyright_check_status.Sample Request
curl -i -X GET "https://graph.facebook.com/v25.0/{ig-containter-id}?fields=copyright_check_status"
On success, your app receives a JSON response with a
copyright_check_status object with the following key-value pairs:statusset tocompleted,error,in_progress, ornot_startedmatches_foundset to:falseif none are detectedtrueif violations are detected andauthor,content_title,matched_segments, andowner_copyright_policyvalues
Sample Responses
Violation found
{ "copyright_check_status": { "status": "complete", "matches_found": true }, "id": "{ig-containter-id}" }
No violation found
{ "copyright_check_status": { "status": "in_progress", "matches_found": false } }
Check a published video
To check the copyright status for a video that has been published, send a
GET request to the /{ig-media-id} endpoint with the fields parameter set to copyright_check_information.Sample Request
curl -i -X GET "https://graph.facebook.com/v25.0/{ig-media-id}?fields=copyright_check_information"
On success, your app receives a JSON response with the
id set to the video being checked and the copyright_check_information object with the following:statusset to astatusobject set tocompleted,error,in_progress, ornot_startedcopyright_matchesset to:false– Returned when no copyright violations are detectedtrue– Returned when copyright violations are detected and includes thecopyright_check_informationobject that contains information about the copyright owner, policy, mitigation steps, and sections of the media that violated the copyright.
Sample Responses
Violation found
{ "copyright_check_information": { "status": { "status": "complete", "matches_found": true }, "copyright_matches": [ { "content_title": "In My Feelings", "author": "Drake", "owner_copyright_policy": { "name": "UMG", "actions": [ { "action": "BLOCK", "territories": "3", "geos": [ "Canada", "India", "United States of America" ] }, { "action": "MUTE", "territories": "4", "geos": [ "Taiwan", "Tanzania", "Saudi Arabia", "United Kingdom of Great Britain and Northern Ireland" ] } ] }, "matched_segments": [ { "start_time_in_seconds": 2.4, "duration_in_seconds": 5.1, "segment_type": "AUDIO" }, { "start_time_in_seconds": 10.2, "duration_in_seconds": 4.5, "segment_type": "VIDEO" } ] } ] }, "id": "90012800291314" }
No violation found
{ "copyright_check_information": { "status": { "status": "complete", "matches_found": false } }, "id": "{ig-media-id}" }