Docs API
API quickstart
Create a key and run your first check from your own system. The API is part of the Enterprise plan.
Updated November 2026
What you can do
Upload videos, run the same checks as the Agency workspace, read the findings and download the PDF report. A check made through the API appears in your workspace, uses your plan's checks and follows your clients' brand rules.
https://complyvideochecker.in.1. Create a key
- Open API keysIn the Agency workspace, open API keys. Only the account owner can manage keys.
- Create the keyName it after the system that will use it, and choose read only, or read and write. A system that uploads videos needs read and write.
- Copy itYou see the full key only once. Store it in a secret manager or an environment variable on your server.
2. Check your key
Send the key with every request, then ask for your account:
curl https://complyvideochecker.in/v1/account \
-H "Authorization: Bearer $COMPLY_API_KEY"3. Upload a video
Ask for an upload address, then send the file straight to it. Keep the video_uri from the reply.
curl -X POST https://complyvideochecker.in/v1/uploads \
-H "Authorization: Bearer $COMPLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content_type": "video/mp4", "file_size_bytes": 10485760}'
# Then, using upload_url from the reply:
curl -X PUT "$UPLOAD_URL" -H "Content-Type: video/mp4" --upload-file reel.mp44. Start the check
The reply comes back straight away with the check's ID. The check itself runs in the background.
curl -X POST https://complyvideochecker.in/v1/checks \
-H "Authorization: Bearer $COMPLY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: reel-2026-11-02" \
-d '{
"video_uri": "'"$VIDEO_URI"'",
"kinds": ["organic"],
"organic_platforms": ["instagram"],
"title": "November launch reel"
}'5. Get the result
Ask for the check every 15 seconds or so until its status is complete or failed, then download the report if you want it. There are no webhooks yet.
curl https://complyvideochecker.in/v1/checks/$CHECK_ID \
-H "Authorization: Bearer $COMPLY_API_KEY"
curl https://complyvideochecker.in/v1/checks/$CHECK_ID/report \
-H "Authorization: Bearer $COMPLY_API_KEY" -o report.pdfThe same thing in Python
import os, pathlib, time, uuid, requests
api = "https://complyvideochecker.in/v1"
auth = {"Authorization": f"Bearer {os.environ['COMPLY_API_KEY']}"}
video = pathlib.Path("reel.mp4")
up = requests.post(f"{api}/uploads", headers=auth, json={
"content_type": "video/mp4", "file_size_bytes": video.stat().st_size}).json()
requests.put(up["upload_url"], data=video.read_bytes(), headers={"Content-Type": "video/mp4"}).raise_for_status()
check = requests.post(f"{api}/checks", headers={**auth, "Idempotency-Key": str(uuid.uuid4())}, json={
"video_uri": up["video_uri"], "kinds": ["organic"], "organic_platforms": ["instagram"]}).json()
while True:
result = requests.get(f"{api}/checks/{check['id']}", headers=auth).json()
if result["status"] in ("complete", "failed"):
break
time.sleep(15)
print(result["status"], (result["result"] or {}).get("verdict"), result["error"])