curl --request POST \
--url https://api.creatoraudit.com/v2/videos/metrics \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"video_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"period": "30d",
"start_date": "2023-12-25",
"end_date": "2023-12-25"
}
'import requests
url = "https://api.creatoraudit.com/v2/videos/metrics"
payload = {
"video_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"period": "30d",
"start_date": "2023-12-25",
"end_date": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
video_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
period: '30d',
start_date: '2023-12-25',
end_date: '2023-12-25'
})
};
fetch('https://api.creatoraudit.com/v2/videos/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {},
"meta": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}Batch windowed video metrics
Windowed engagement totals for a batch of entities.
For each requested id, returns the SUM of views, plays, likes,
comments, shares, and the derived engagement (likes+comments+shares)
over the resolved [start_date, end_date] window. Read-only. Ids your
organization does not track are omitted from data and listed under
meta.not_found. Response shape:
{ "data": { "<id>": { "views": 1234, "plays": 1200, "likes": 56,
"comments": 7, "shares": 8, "engagement": 71 } },
"meta": { "period": "30d", "start_date": "...", "end_date": "...",
"days": 30, "not_found": ["<unknown_id>"] } }
Note: TikTok has no separate plays count, so a TikTok entity’s plays
equals its views. There is no impressions metric — the platform tracks
views and plays only.
curl --request POST \
--url https://api.creatoraudit.com/v2/videos/metrics \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"video_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"period": "30d",
"start_date": "2023-12-25",
"end_date": "2023-12-25"
}
'import requests
url = "https://api.creatoraudit.com/v2/videos/metrics"
payload = {
"video_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"period": "30d",
"start_date": "2023-12-25",
"end_date": "2023-12-25"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
video_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
period: '30d',
start_date: '2023-12-25',
end_date: '2023-12-25'
})
};
fetch('https://api.creatoraudit.com/v2/videos/metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {},
"meta": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"code": "BAD_REQUEST",
"instance": "<string>",
"errors": [
{}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Org video/post UUIDs to window (1–200).
1 - 200 elementsPreset window (7d/30d/90d) or 'custom' with start_date/end_date.
7d, 30d, 90d, custom Inclusive UTC start; required when period=custom.
Inclusive UTC end; required when period=custom.