Arcmira · Schema

ChannelSponsorsResponse

Artificial IntelligenceSearchYouTubeTranscriptsSDK

Properties

Name Type Description
channel object
sponsors array Recurring sponsors ordered by ad read count (descending).
meta object
access object The gate that reduced this response. Present only when something was withheld; carries the same code, gate, and unlock an outright refusal would.
View JSON Schema on GitHub

JSON Schema

arcmira-channel-sponsors-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/arcmira/main/json-schema/arcmira-channel-sponsors-response-schema.json",
  "title": "ChannelSponsorsResponse",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/arcmira-v1-openapi.json#/components/schemas/ChannelSponsorsResponse",
  "type": "object",
  "properties": {
    "channel": {
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Public entity id (\"ent_{n}\") of the channel. Null when the channel has media in the index but no entity record yet."
        },
        "youtube_channel_id": {
          "type": "string",
          "description": "YouTube channel id as supplied in the request path."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Channel name. Null when no entity record exists."
        },
        "page": {
          "type": [
            "string",
            "null"
          ],
          "description": "The channel's page on arcmira.com, absolute. Null when no channel is known."
        }
      },
      "required": [
        "id",
        "youtube_channel_id",
        "name",
        "page"
      ]
    },
    "sponsors": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ChannelSponsor"
      },
      "description": "Recurring sponsors ordered by ad read count (descending)."
    },
    "meta": {
      "type": "object",
      "properties": {
        "min_ad_reads": {
          "type": "integer",
          "description": "The min_ad_reads threshold applied (default 3)."
        },
        "count": {
          "type": "integer",
          "description": "Number of sponsors returned."
        },
        "total": {
          "type": "integer",
          "description": "Sponsors in the rollup at the applied threshold. Greater than count only when the plan gate cut the list to the free slice."
        }
      },
      "required": [
        "min_ad_reads",
        "count",
        "total"
      ]
    },
    "access": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "invalid_request_error",
            "authentication_error",
            "permission_error",
            "quota_exceeded",
            "rate_limit_error",
            "not_found",
            "conflict_error",
            "server_error"
          ],
          "description": "The error class. It fixes the HTTP status: invalid_request_error 400, authentication_error 401, quota_exceeded 402, permission_error 403, not_found 404, conflict_error 409, rate_limit_error 429, server_error 500. Switch on it for retry and gate handling."
        },
        "code": {
          "type": "string",
          "description": "The specific condition, stable and snake_case; doc_url anchors on it. x-arcmira-codes on this schema lists every code with its type, gate and meaning. The list is open: new codes may appear inside an existing type, so switch on type and gate first."
        },
        "reason": {
          "type": "string",
          "enum": [
            "no_credential",
            "invalid",
            "revoked"
          ],
          "description": "Only on invalid_api_key. no_credential: nothing was sent. invalid: a credential was sent and is unknown or malformed. revoked: the key exists and is no longer usable."
        },
        "message": {
          "type": "string",
          "description": "One plain line. Names the fix or the unlock."
        },
        "param": {
          "type": "string",
          "description": "The query or body parameter the gate refused, when one did."
        },
        "gate": {
          "type": "string",
          "enum": [
            "rows",
            "key",
            "plan",
            "freshness",
            "exposure_law",
            "rate",
            "pagination"
          ],
          "description": "Which boundary refused. Present on every gate error; switch on it without parsing the message."
        },
        "resource": {
          "$ref": "#/$defs/ErrorResource"
        },
        "unlock": {
          "type": "object",
          "properties": {
            "tier": {
              "type": "string",
              "description": "The plan that lifts the gate."
            },
            "url": {
              "type": "string",
              "description": "Absolute upgrade or sign-up URL carrying its ?src= attribution. Use it verbatim."
            },
            "offer": {
              "type": "null",
              "description": "Reserved for the agent-discount offer. Always null today."
            },
            "action": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "description": "What the call does. send_signup_code sends a verification code to an address for an account key."
                },
                "method": {
                  "type": "string",
                  "description": "HTTP method to use."
                },
                "url": {
                  "type": "string",
                  "description": "Absolute endpoint carrying its ?src= attribution. Call it verbatim."
                }
              },
              "required": [
                "kind",
                "method",
                "url"
              ],
              "description": "The request that lifts the gate with no human, present when the caller can fix this itself. A key gate carries the signup send here; a plan or quota gate has no action and its url is a page a person opens."
            }
          },
          "required": [
            "tier",
            "url",
            "offer"
          ],
          "description": "How to lift the gate. Present when the gate has an unlock."
        },
        "retry_after_seconds": {
          "type": "integer",
          "description": "Present on rate gates. Mirrors the Retry-After header."
        },
        "details": {
          "type": "object",
          "properties": {
            "quote": {
              "$ref": "#/$defs/RefusedQuote"
            },
            "existing_id": {
              "type": "string",
              "description": "On tracker_already_exists, the existing tracker id. Reuse it instead of creating another tracker."
            },
            "limit": {
              "type": "integer",
              "description": "On tracker_limit, the trackers the plan holds."
            },
            "count": {
              "type": "integer",
              "description": "On tracker_limit, the trackers the account holds now."
            }
          },
          "description": "Machine data the refusal carries for you to act on. Present only on the codes that name a field here."
        },
        "doc_url": {
          "type": "string"
        },
        "request_id": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "doc_url",
        "request_id"
      ],
      "description": "The gate that reduced this response. Present only when something was withheld; carries the same code, gate, and unlock an outright refusal would."
    }
  },
  "required": [
    "channel",
    "sponsors",
    "meta"
  ],
  "$defs": {
    "ChannelSponsor": {
      "type": "object",
      "properties": {
        "entity": {
          "allOf": [
            {
              "$ref": "#/$defs/EntityRef"
            },
            {
              "description": "The sponsoring entity."
            }
          ]
        },
        "ad_reads": {
          "type": "integer",
          "description": "Number of ad_read recommendation rows for this sponsor on the channel."
        },
        "videos": {
          "type": "integer",
          "description": "Number of distinct videos containing those ad reads."
        },
        "first_seen": {
          "type": [
            "string",
            "null"
          ],
          "description": "Publish timestamp of the earliest video with an ad read. Null when unknown."
        },
        "last_seen": {
          "type": [
            "string",
            "null"
          ],
          "description": "Publish timestamp of the most recent video with an ad read. Null when unknown."
        },
        "sponsor_status": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "status": {
              "type": "string",
              "description": "Curated sponsorship status from the known-advertisers dataset. Values: active (currently sponsoring), lapsed (no recent ad reads), ended (relationship known to have ended), uncertain (signal too weak to classify)."
            },
            "ad_count": {
              "type": [
                "integer",
                "null"
              ],
              "description": "Curated ad count from the known-advertisers dataset."
            },
            "first_ad_date": {
              "type": [
                "string",
                "null"
              ],
              "description": "Curated first-ad date. Null when not recorded."
            },
            "last_ad_date": {
              "type": [
                "string",
                "null"
              ],
              "description": "Curated last-ad date. Null when not recorded."
            }
          },
          "required": [
            "status",
            "ad_count",
            "first_ad_date",
            "last_ad_date"
          ],
          "description": "Curated known-advertiser record for this sponsor/channel pair. Null unless the pair exists in the curated dataset."
        }
      },
      "required": [
        "entity",
        "ad_reads",
        "videos",
        "first_seen",
        "last_seen",
        "sponsor_status"
      ]
    },
    "EntityRef": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Public entity id in the form \"ent_{n}\"."
        },
        "name": {
          "type": "string",
          "description": "Canonical entity name."
        },
        "type": {
          "type": "string",
          "description": "Entity type. Values: person (an individual), organization (a company or institution; legacy rows may read company or brand), product (a product or service), topic (a subject or theme), channel (a media source such as a YouTube channel), unknown (type was never classified)."
        },
        "slug": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL slug, the site's canonical id for every type but channel. Null when never slugged."
        },
        "page": {
          "type": [
            "string",
            "null"
          ],
          "description": "The entity's page on arcmira.com, absolute. Link the name to it when you write the entity into an answer. Null for a type the site has no page for."
        }
      },
      "required": [
        "id",
        "name",
        "type",
        "slug",
        "page"
      ]
    },
    "ErrorResource": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "media_rows"
              ]
            },
            "beyond_row": {
              "type": "integer"
            }
          },
          "required": [
            "kind",
            "beyond_row"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "fresh_media"
              ]
            },
            "window_days": {
              "type": "integer"
            },
            "cutoff": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "kind",
            "window_days",
            "cutoff"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "sidebar_rows"
              ]
            },
            "section": {
              "type": "string",
              "enum": [
                "topics",
                "entities"
              ]
            },
            "beyond_row": {
              "type": "integer"
            }
          },
          "required": [
            "kind",
            "section",
            "beyond_row"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "counts"
              ]
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "chart"
              ]
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "pagination"
              ]
            },
            "param": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "offset",
                "cursor",
                null
              ]
            }
          },
          "required": [
            "kind",
            "param"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "premium_transcript"
              ]
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "filter"
              ]
            },
            "param": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "param"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "commercial"
              ]
            },
            "what": {
              "type": "string",
              "enum": [
                "sponsors",
                "recommendations",
                "mention_details",
                "community_review",
                "paid_split"
              ]
            }
          },
          "required": [
            "kind",
            "what"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "feature"
              ]
            },
            "feature": {
              "type": "string",
              "enum": [
                "api",
                "export"
              ]
            }
          },
          "required": [
            "kind",
            "feature"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "rows"
              ]
            },
            "requested": {
              "type": [
                "integer",
                "null"
              ]
            },
            "remaining": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "kind",
            "requested",
            "remaining"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "key"
              ]
            },
            "scope": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "read",
                "monitors:write",
                "trackers:write",
                "recommendations:read",
                null
              ]
            }
          },
          "required": [
            "kind",
            "scope"
          ]
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "requests"
              ]
            }
          },
          "required": [
            "kind"
          ]
        }
      ],
      "description": "The value the boundary withheld, not the reason it refused. kind is a closed vocabulary and the fields beside it are fixed per kind; see https://arcmira.com/docs/errors#resource-kinds."
    },
    "RefusedQuote": {
      "allOf": [
        {
          "$ref": "#/$defs/TranscriptQuote"
        },
        {
          "type": "object",
          "properties": {
            "charge": {
              "type": "object",
              "properties": {
                "unit": {
                  "type": "string",
                  "enum": [
                    "rows",
                    "credits"
                  ]
                },
                "amount": {
                  "type": "number"
                },
                "from": {
                  "type": "string",
                  "enum": [
                    "included",
                    "on_demand",
                    "mixed"
                  ],
                  "description": "Where the charge would come from at the current balance."
                }
              },
              "required": [
                "unit",
                "amount",
                "from"
              ],
              "description": "What the purchase would charge at the current balance. Absent when no current price could be read."
            },
            "max_on_demand_cents": {
              "type": "integer",
              "description": "The on-demand money, in whole cents, this purchase needs beyond included credits at the current balance."
            }
          }
        }
      ],
      "description": "The refused price, on a priced refusal: quota_exceeded, spend_limit_exceeded and paid_plan_required."
    },
    "TranscriptQuote": {
      "type": "object",
      "properties": {
        "quarters": {
          "type": "integer",
          "description": "Number of 15-minute blocks in the video, ceiling'd, minimum 1."
        },
        "rows": {
          "type": "integer",
          "description": "Total unlock cost in rows: 75 rows per 15-minute block."
        }
      },
      "required": [
        "quarters",
        "rows"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/arcmira-channel-sponsors-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.