Billing
Consumo
https://api.kinescope.io/v1/billing/usageRetorna as estatísticas de consumo no período indicado, agrupadas conforme solicitado. Útil para faturamento e planejamento de capacidade.
Nossa API devolve o consumo de recursos por projeto para dar mais granularidade; você pode somar o total do seu lado.
Se precisar, informe project_id como parâmetro GET para filtrar os resultados (editado)
Os tipos de produto são: - CDN (bytes) - Codificação (min) - Armazenamento (bytes)
{
"data": [
{
"date": "2024-01-01T00:00:00Z",
"usage": 85456358,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 65114706,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 29962188,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 904705,
"product": "cdn"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 689510432,
"product": "live_traffic"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 16632753546,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 556115506,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 601660745,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 10406392731,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-01T00:00:00Z",
"usage": 6286301827,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 37429638,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 97450301,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 560037,
"product": "cdn"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 882356207,
"product": "live_traffic"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 16632753546,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 556115506,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 601660745,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 10406392731,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-02T00:00:00Z",
"usage": 6286301827,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 12476546,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 36428908,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 618293,
"product": "cdn"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 750185902,
"product": "live_traffic"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 16632753546,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 556115506,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 601660745,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 10406392731,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-03T00:00:00Z",
"usage": 6286301827,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 42455143,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 48519990,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 89726,
"product": "cdn"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 877485751,
"product": "live_traffic"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 16632753546,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 556115506,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 601660745,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 10406392731,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-04T00:00:00Z",
"usage": 6286301827,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 114946977,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 45670557,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 79114792,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 1443490,
"product": "cdn"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 802691136,
"product": "live_traffic"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 16632753546,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 556115506,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 601660745,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 10406392731,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-05T00:00:00Z",
"usage": 6286301827,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 7342272,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 24953092,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 38352386,
"product": "cdn",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 511222,
"product": "cdn"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 0,
"product": "encoding"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 679400275,
"product": "live_traffic"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 69567273960,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 14996434987,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 34667181,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 130330116051,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage": 4172549388,
"product": "storage",
"project_id": "<UUID>"
},
{
"date": "2024-01-06T00:00:00Z",
"usage":
// … truncatedAnalytics
Visão geral
https://api.kinescope.io/v1/analytics/overviewRetorna estatísticas gerais de reprodução no período indicado: totais de todo o período (data.total), as mesmas métricas por intervalos de tempo (data.timeline) e listas de top por sistema operacional, dispositivo, navegador, país e cidade (data.top). Passe video_id para obter estatísticas de um único vídeo em vez de todo o workspace.
| Parâmetro | Descrição |
|---|---|
from | Obrigatório. Início do período — YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ. |
to | Obrigatório. Fim do período, mesmos formatos de from. |
group_time | Opcional. Intervalo de tempo para os pontos de data.timeline: minute (1m), hour, day (padrão), week, month ou um intervalo como 15m. |
video_id | Opcional. ID do vídeo para o qual obter estatísticas. Sem ele — todo o workspace. |
external_id | Opcional. ID externo do vídeo, se um tiver sido atribuído a ele. |
| Campo | Descrição |
|---|---|
views | Número de visualizações. |
unique_views | Número de espectadores únicos. |
player_loads | Número de carregamentos do player. |
duration | Duração total de reprodução. |
watch_time | Tempo total assistido. |
online | Número de espectadores online. |
date | Início do intervalo de tempo. Não é usado em data.total (0001-01-01T00:00:00Z). |
| Campo | Descrição |
|---|---|
name | Valor: sistema operacional, dispositivo, navegador, país ou cidade. |
code | Código do país com duas letras (somente em countries). |
views | Número de visualizações. |
player_loads | Número de carregamentos do player. |
unique_views | Número de espectadores únicos. |
{
"meta": {
"time": {
"from": "2024-01-01T00:00:00Z",
"to": "2024-01-31T00:00:00Z",
"timezone": "Europe/Moscow"
}
},
"data": {
"total": {
"views": 15432,
"duration": 5123400,
"watch_time": 4820153,
"player_loads": 18902,
"date": "0001-01-01T00:00:00Z",
"unique_views": 11097,
"online": 12
},
"timeline": [
{
"views": 541,
"duration": 178320,
"watch_time": 167415,
"player_loads": 662,
"date": "2024-01-10T21:00:00Z",
"unique_views": 412,
"online": 12
},
{
"views": 488,
"duration": 160910,
"watch_time": 151002,
"player_loads": 594,
"date": "2024-01-11T21:00:00Z",
"unique_views": 389,
"online": 9
}
],
"top": {
"oses": [
{
"name": "Android",
"views": 8123,
"player_loads": 9904,
"unique_views": 6011
},
{
"name": "iOS",
"views": 5304,
"player_loads": 6612,
"unique_views": 3980
}
],
"devices": [
{
"name": "desktop",
"views": 8204,
"player_loads": 10012,
"unique_views": 6002
},
{
"name": "mobile",
"views": 6011,
"player_loads": 7210,
"unique_views": 4410
}
],
"browsers": [
{
"name": "Chrome",
"views": 7611,
"player_loads": 9200,
"unique_views": 5590
},
{
"name": "Safari",
"views": 4310,
"player_loads": 5544,
"unique_views": 3120
}
],
"countries": [
{
"name": "Russia",
"code": "RU",
"views": 11230,
"player_loads": 13660,
"unique_views": 8305
},
{
"name": "Brazil",
"code": "BR",
"views": 2044,
"player_loads": 2610,
"unique_views": 1509
}
],
"cities": [
{
"name": "Moscow",
"views": 4870,
"player_loads": 5810,
"unique_views": 3560
},
{
"name": "São Paulo",
"views": 1140,
"player_loads": 1470,
"unique_views": 830
}
]
}
}
}Personalizado
https://api.kinescope.io/v1/analyticsRetorna um recorte personalizado de analytics: você escolhe quais campos cada linha contém (fields), como as linhas são agrupadas no tempo e por entidades (group, group_entities) e a ordenação (order). Cada linha contém os campos solicitados.
| Parâmetro | Descrição |
|---|---|
from | Obrigatório. Início do período — YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ. |
to | Obrigatório. Fim do período, mesmos formatos de from. |
fields | Necessário para obter linhas de dados: os campos que cada linha contém — veja a tabela abaixo. Repita o parâmetro para solicitar vários: fields=view&fields=play. |
group | Opcional. Intervalo de tempo para date em cada linha: minute (1m), hour, day (padrão), week, month ou um intervalo como 15m. |
group_entities | Opcional. Dimensões para agrupar as linhas, por exemplo group_entities=video_id. Repita o parâmetro para agrupar por várias dimensões. |
limit | Opcional. Número máximo de linhas. |
order | Opcional. Ordenação como field.asc ou field.desc; várias — separadas por vírgula: order=view.desc,date.asc. Padrão: date.desc. Os campos ordenáveis estão marcados com sim na coluna Ordenação da tabela abaixo; date também pode ser ordenado, mas apenas junto com group. Um campo sem direção significa asc. |
<dimensão>=<valor> | Filtro opcional por qualquer dimensão da tabela abaixo: video_id, external_id, project_id, folder_id, type, device, os, browser, city, country_code. Repita o parâmetro para passar vários valores: country_code=US&country_code=DE. |
| Campo | Tipo | Ordenação | Descrição |
|---|---|---|---|
video_id | dimensão | sim | ID do vídeo. |
external_id | dimensão | sim | ID externo do vídeo. |
project_id | dimensão | sim | ID do projeto. |
folder_id | dimensão | sim | ID da pasta. |
type | dimensão | não | Tipo de conteúdo: vod ou live. |
device | dimensão | sim | Tipo de dispositivo: desktop, mobile, tablet, tv. |
os | dimensão | sim | Sistema operacional. |
browser | dimensão | sim | Navegador. |
city | dimensão | sim | Cidade. |
country_code | dimensão | sim | Código do país. |
view | métrica | sim | Número de visualizações. |
unique_view | métrica | não | Número de espectadores únicos. |
play | métrica | sim | Número de inícios de reprodução. |
pause | métrica | sim | Número de pausas. |
seek | métrica | sim | Número de mudanças de posição (seeks). |
replay | métrica | sim | Número de reproduções repetidas. |
end | métrica | não | Número de visualizações assistidas até o fim. |
rate | métrica | não | Número de mudanças de velocidade de reprodução. |
player_init | métrica | sim | Número de inicializações do player. |
player_load | métrica | sim | Número de carregamentos do player. |
watch_time | métrica | não | Tempo total assistido. |
duration | métrica | não | Duração máxima do vídeo entre os vídeos da linha. |
buffering_time | métrica | sim | Tempo total de buffering. |
buffering_count | métrica | sim | Número de eventos de buffering. |
change_quality | métrica | não | Número de trocas de qualidade, manuais e automáticas. |
heatmap | métrica | não | Mapa de engajamento: para cada segundo do vídeo, o número de espectadores que o assistiram. Retornado como um objeto {"<segundo>": <espectadores>}. |
Quando folder_id ou project_id é solicitado, a resposta também inclui folder_name / project_name — o nome da pasta ou do projeto.
{
"meta": {
"order": {
"view": "desc"
},
"time": {
"from": "2024-01-01T00:00:00Z",
"to": "2024-01-31T00:00:00Z",
"timezone": "Europe/Moscow"
},
"group_entities": [
"video_id"
]
},
"data": [
{
"video_id": "4iUMUmb63dLAvnbsMRkSUX",
"date": "2024-01-10T21:00:00Z",
"view": 245,
"unique_view": 187,
"player_load": 312,
"watch_time": 45210
},
{
"video_id": "4iUMUmb63dLAvnbsMRkSUX",
"date": "2024-01-11T21:00:00Z",
"view": 231,
"unique_view": 175,
"player_load": 298,
"watch_time": 43180
},
{
"video_id": "2nQqTmb63dLAvnbsMRkSUZ",
"date": "2024-01-10T21:00:00Z",
"view": 198,
"unique_view": 154,
"player_load": 244,
"watch_time": 39750
}
]
}Mapa de calor
https://api.kinescope.io/v1/analytics/video/:video_id/heatmapRetorna o mapa de calor de engajamento do vídeo — o mesmo gráfico de engajamento exibido no painel. Para cada segundo do vídeo, a API retorna a parcela de espectadores que assistiram àquele segundo. Os valores variam de 0 a 1, onde 1 significa que todos os espectadores assistiram àquele momento.
{
"meta": {
"time": {
"from": "2024-01-01T00:00:00Z",
"to": "2024-01-31T00:00:00Z",
"timezone": "Europe/Moscow"
}
},
"data": {
"points": [
{
"value": 1,
"second": 0
},
{
"value": 0.98,
"second": 1
},
{
"value": 0.95,
"second": 2
},
{
"value": 0.45,
"second": 300
}
]
}
}Origens de tráfego
https://api.kinescope.io/v1/analytics/video/:video_id/referrerRetorna as páginas de origem dos espectadores do vídeo (fontes de tráfego) com o número de visualizações e carregamentos do player de cada origem. Informe format=csv ou format=xlsx para baixar o relatório como arquivo; sem o parâmetro, a resposta é JSON.
{
"meta": {
"time": {
"from": "2024-01-01T00:00:00Z",
"to": "2024-01-31T00:00:00Z",
"timezone": "Europe/Moscow"
}
},
"data": [
{
"url": "https://example.com/lesson-1",
"views": 245,
"player_loads": 312,
"video_id": "4iUMUmb63dLAvnbsMRkSUX"
},
{
"url": "https://example.org/courses/",
"views": 187,
"player_loads": 230,
"video_id": "4iUMUmb63dLAvnbsMRkSUX"
}
]
}Espectadores online do evento
https://api.kinescope.io/v1/analytics/events/:event_id/onlineRetorna o timeline de espectadores simultâneos de uma transmissão do evento: um ponto por intervalo group_time. O pico de espectadores é o máximo de timeline[].online.
stream_id é opcional. Se omitido, a API usa o stream atual do evento (pending ou on-air; para um evento único, também um stream finished). Se o evento não tiver stream atual, stream_id é null e timeline é um array vazio.
from e to são opcionais. Por padrão o período é o próprio stream: de started_at até finished_at, ou até agora se a transmissão ainda estiver ao vivo.
| Parâmetro | Descrição |
|---|---|
event_id | ID do evento ao vivo. |
| Parâmetro | Descrição |
|---|---|
stream_id | Opcional. ID do stream. Deve pertencer ao evento. Sem ele — o stream atual do evento. Para um stream pending o timeline é vazio. |
from | Opcional. Início do período — YYYY-MM-DD ou YYYY-MM-DDTHH:MM:SSZ. Padrão: início do stream. |
to | Opcional. Fim do período, mesmos formatos que from. Padrão: fim do stream, ou agora se o stream estiver ao vivo. |
group_time | Opcional. Intervalo dos pontos de timeline: 1m (padrão), hour, day, week, month ou um intervalo como 5m. |
| Campo | Descrição |
|---|---|
stream_id | Stream para o qual o timeline foi gerado. null se o evento não tiver stream atual. |
timeline | Pontos de cada intervalo group_time. Array vazio quando não há dados ou o stream está pending. |
timeline[].date | Início do intervalo (RFC3339). |
timeline[].online | Espectadores simultâneos no intervalo. |
{
"meta": {
"time": {
"from": "2024-01-01T18:40:00Z",
"to": "2024-01-01T19:10:00Z",
"timezone": "Europe/Moscow"
}
},
"data": {
"stream_id": "60e64b83-21c4-4502-a138-a06635f8210e",
"timeline": [
{
"date": "2024-01-01T18:40:00Z",
"online": 1204
},
{
"date": "2024-01-01T18:41:00Z",
"online": 1487
},
{
"date": "2024-01-01T18:42:00Z",
"online": 1523
}
]
}
}