List recurring channel sponsors
GET /v1/channels/{channel_id}/sponsors
Rollup of recurring sponsors for a YouTube channel, ordered by ad read count. On a Pro+ plan the full list is served and min_ad_reads (default 3), status, and limit apply. Every other plan receives the free slice an anonymous visitor sees on arcmira.com, with meta.total naming the true count and access naming the gate; passing min_ad_reads, status, or limit on such a plan is refused with filter_requires_paid. Pass src=mcp-tool only from the Arcmira MCP server.
Parameters
| Name | Location | Description |
|---|
| channel_id (required) | path | YouTube channel id, the UC... form. |
| min_ad_reads | query | Sponsors with fewer ad reads are excluded. Default 3. Pro+ only; on other plans passing it is refused with filter_requires_paid. |
| status | query | Filter against the curated known-advertisers dataset. Pro+ only; on other plans passing it is refused with filter_requires_paid. |
| limit | query | Sponsors to return. Default 100. Pro+ only; on other plans passing it is refused with filter_requires_paid, and omitting it serves the free slice. |
| src | query | The surface making this call. The Arcmira MCP server sends mcp-tool so every unlock link in a gate attributes to the directory install. Omit from your own client. |
Responses
200 Success
{
"description": "Success",
"headers": {
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"X-Arcmira-Version": {
"$ref": "#/components/headers/X-Arcmira-Version"
},
"RateLimit-Limit": {
"$ref": "#/components/headers/RateLimit-Limit"
},
"RateLimit-Remaining": {
"$ref": "#/components/headers/RateLimit-Remaining"
},
"RateLimit-Reset": {
"$ref": "#/components/headers/RateLimit-Reset"
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelSponsorsResponse"
}
}
}
}
400 InvalidRequest
{
"$ref": "#/components/responses/InvalidRequest"
}
401 AuthenticationError
{
"$ref": "#/components/responses/AuthenticationError"
}
402 QuotaExceeded
{
"$ref": "#/components/responses/QuotaExceeded"
}
403 PermissionError
{
"$ref": "#/components/responses/PermissionError"
}
404 NotFound
{
"$ref": "#/components/responses/NotFound"
}
429 RateLimited
{
"$ref": "#/components/responses/RateLimited"
}
500 ServerError
{
"$ref": "#/components/responses/ServerError"
}
Operation definition
{
"tags": [
"Recommendations"
],
"operationId": "list_channel_sponsors",
"summary": "List recurring channel sponsors",
"description": "Rollup of recurring sponsors for a YouTube channel, ordered by ad read count. On a Pro+ plan the full list is served and min_ad_reads (default 3), status, and limit apply. Every other plan receives the free slice an anonymous visitor sees on arcmira.com, with meta.total naming the true count and access naming the gate; passing min_ad_reads, status, or limit on such a plan is refused with filter_requires_paid. Pass src=mcp-tool only from the Arcmira MCP server.",
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"schema": {
"type": "string",
"description": "YouTube channel id, the UC... form."
},
"required": true,
"description": "YouTube channel id, the UC... form.",
"name": "channel_id",
"in": "path"
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Sponsors with fewer ad reads are excluded. Default 3. Pro+ only; on other plans passing it is refused with filter_requires_paid."
},
"required": false,
"description": "Sponsors with fewer ad reads are excluded. Default 3. Pro+ only; on other plans passing it is refused with filter_requires_paid.",
"name": "min_ad_reads",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"active",
"lapsed",
"ended",
"uncertain"
],
"description": "Filter against the curated known-advertisers dataset. Pro+ only; on other plans passing it is refused with filter_requires_paid."
},
"required": false,
"description": "Filter against the curated known-advertisers dataset. Pro+ only; on other plans passing it is refused with filter_requires_paid.",
"name": "status",
"in": "query"
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Sponsors to return. Default 100. Pro+ only; on other plans passing it is refused with filter_requires_paid, and omitting it serves the free slice."
},
"required": false,
"description": "Sponsors to return. Default 100. Pro+ only; on other plans passing it is refused with filter_requires_paid, and omitting it serves the free slice.",
"name": "limit",
"in": "query"
},
{
"schema": {
"type": "string",
"enum": [
"mcp-tool"
],
"description": "The surface making this call. The Arcmira MCP server sends mcp-tool so every unlock link in a gate attributes to the directory install. Omit from your own client."
},
"required": false,
"description": "The surface making this call. The Arcmira MCP server sends mcp-tool so every unlock link in a gate attributes to the directory install. Omit from your own client.",
"name": "src",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"headers": {
"X-Request-Id": {
"$ref": "#/components/headers/X-Request-Id"
},
"X-Arcmira-Version": {
"$ref": "#/components/headers/X-Arcmira-Version"
},
"RateLimit-Limit": {
"$ref": "#/components/headers/RateLimit-Limit"
},
"RateLimit-Remaining": {
"$ref": "#/components/headers/RateLimit-Remaining"
},
"RateLimit-Reset": {
"$ref": "#/components/headers/RateLimit-Reset"
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelSponsorsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/InvalidRequest"
},
"401": {
"$ref": "#/components/responses/AuthenticationError"
},
"402": {
"$ref": "#/components/responses/QuotaExceeded"
},
"403": {
"$ref": "#/components/responses/PermissionError"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/ServerError"
}
}
}