curl -X POST https://api.tryprofound.com/v2/reports/social/youtube/channels \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"group_by": ["channel", "source_type"],
"source_types": ["video", "short"],
"limit": 10
}'
{
"info": {
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"total_results": 137,
"count": 2,
"next_cursor": "eyJvIjoxMH0",
"limit": 10,
"interval": null,
"group_by": ["channel", "source_type"],
"models": ["ChatGPT", "Google Gemini"],
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"filter": null,
"source_types": ["video", "short"]
},
"data": [
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "video",
"count": 128,
"videos": 14,
"citation_share": 0.37
},
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "short",
"count": 42,
"videos": 8,
"citation_share": 0.12
}
]
}
Canales
Rank the YouTube channels cited in a category, or the video categories they publish in.
curl -X POST https://api.tryprofound.com/v2/reports/social/youtube/channels \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"group_by": ["channel", "source_type"],
"source_types": ["video", "short"],
"limit": 10
}'
{
"info": {
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"total_results": 137,
"count": 2,
"next_cursor": "eyJvIjoxMH0",
"limit": 10,
"interval": null,
"group_by": ["channel", "source_type"],
"models": ["ChatGPT", "Google Gemini"],
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"filter": null,
"source_types": ["video", "short"]
},
"data": [
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "video",
"count": 128,
"videos": 14,
"citation_share": 0.37
},
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "short",
"count": 42,
"videos": 8,
"citation_share": 0.12
}
]
}
- Tipos de fuente:
video,short,channel,playlistuother. Omitesource_typespara incluirvideo,short,channelyplaylist. Proporciona una lista no vacía; los valores duplicados se eliminan. Las agregaciones no pueden incluirother, porque esas citas no tienen canal. group_by:channel(el valor predeterminado),video_categoryosource_type. Las tabulaciones cruzadas admitidas son["channel", "video_category"],["channel", "source_type"]y["channel", "model"]. Las dimensiones duplicadas se rechazan.- Series temporales: Establece
intervalenday,weekomonthpara devolver una fila por entidad y período.datees el inicio del intervalo en ET, por lo que un intervalo semanal o mensual puede comenzar antes destart_date. Omítelo para obtener los totales de la ventana. - Filas: Los campos son condicionales:
date,model,source_typeyvideo_categoryaparecen solo con elintervalogroup_bycorrespondiente. Congroup_by: ["video_category"], la categoría se devuelve enname, no envideo_category. Una categoría de video no resuelta se devuelve como"", no comonull.rankes la posición del canal principal en el conjunto clasificado completo y se repite en las filas de tabulación cruzada de ese canal. - Paginación:
limittiene un valor predeterminado de 10 y acepta de 1 a 50. Devuelve el valor opacoinfo.next_cursorcomocursorde la solicitud para obtener la página siguiente;inforepite tucursoren las páginas posteriores a la primera. Elinfode la respuesta repitecategory_id, ellimitefectivo einterval. - Totales:
total_resultscuenta los canales distintos en la ventana, mientras quecountes el número de filas devueltas; usan unidades diferentes. - Filtros: Los campos a nivel de prompt son
model,topic,region,prompt,persona,tagyanalysis_type. El filtrochannelaceptais,in,contains,not_contains,contains_case_insensitiveynot_contains_case_insensitive:is/inseleccionan identificadores exactos, mientras que los demás operadores buscan coincidencias en los títulos o identificadores de los canales.domainypagese rechazan. Una hojachannelno puede compartir unorni unnotcon una hoja a nivel de prompt; coloca las capas separadas en cláusulasand.
limit cuenta los canales principales, no las filas devueltas. Por
ejemplo, limit: 25 con group_by: ["channel", "video_category"] devuelve
25 canales, pero puede devolver más de 25 filas.curl -X POST https://api.tryprofound.com/v2/reports/social/youtube/channels \
-H "X-API-Key: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"group_by": ["channel", "source_type"],
"source_types": ["video", "short"],
"limit": 10
}'
{
"info": {
"category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"total_results": 137,
"count": 2,
"next_cursor": "eyJvIjoxMH0",
"limit": 10,
"interval": null,
"group_by": ["channel", "source_type"],
"models": ["ChatGPT", "Google Gemini"],
"start_date": "2026-06-01",
"end_date": "2026-06-30",
"filter": null,
"source_types": ["video", "short"]
},
"data": [
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "video",
"count": 128,
"videos": 14,
"citation_share": 0.37
},
{
"name": "Example Channel",
"handle": "examplechannel",
"url": "https://www.youtube.com/@examplechannel",
"rank": 1,
"source_type": "short",
"count": 42,
"videos": 8,
"citation_share": 0.12
}
]
}
Autorizaciones
Cuerpo
Channel and category rollups.
YYYY-MM-DD, ET, inclusive
YYYY-MM-DD, ET, inclusive
Advanced filter tree. Prompt-level dimensions are model, topic, region, prompt, persona, tag, analysis_type. channel covers both channel cases: in with a list of handles selects exactly those channels, resolving each handle to its channel so a renamed channel is never returned in pieces; contains matches a channel's title or handle by name. Combine with and/or/not up to 3 deep. An exact channel selection must be its own and clause, and a channel leaf cannot share an or or not with a prompt-level leaf, because those compile at different stages of the query. domain and page are rejected rather than approximated: every row here is one domain, and page is not a video id.
Show child attributes
Show child attributes
Page size; default 10, max 50.
0 < x <= 50Limit results to YouTube source types: video, short, channel, playlist, or other. Omit to include video, short, channel, and playlist; other is excluded because those citations have no channel. Requests containing other are rejected.
video, short, channel, playlist, other What each row represents. Empty or ["channel"] ranks channels; ["video_category"] ranks content categories; ["source_type"] ranks source types; ["channel", "video_category"], ["channel", "source_type"] and ["channel", "model"] return cross-tabs — a row per channel per category, or per answer engine. limit counts leading channels in every case, so ten channels across nine engines is ten channels and ninety rows.
channel, video_category, model, source_type Return a time series instead of window totals: one row per entity per period, each carrying date. citation_share is then relative to that period, so the series is comparable across periods. Omit for window totals.
day, week, month ¿Esta página le ayudó?