Grade
gradetv.net
· Grade
Encontre TV e rádio, abra um canal e guarde seus favoritos para voltar. Pastas e M3U para o VLC. Projetos de produtores com direitos sob consulta.
gradetv.net via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
D
Conformance score: 54/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-10-03 03:59:09 current | d5bc04ddb192… |
view → |
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
0x7c22d10a957c62044d03db5c0086f500fc645a26 on Base
· basescan ↗
single_payer_observed
2/5
Payer identities observed; a single payer accounts for effectively all observed volume.
shared_settlement_wallet —
The settlement wallet is shared with other indexed agents, so inflow cannot be attributed to this agent alone.
daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap.
Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions.
Measured 2026-10-02.
get_agent_full and
payment_intelligence skills
on REST, A2A and MCP. API docs →
| Agent card | https://gradetv.net/.well-known/agent-card.json |
| Provider | https://gradetv.net |
| Docs | https://gradetv.net/llms.txt |
Skills · 24 declared · mapped to canonical taxonomy
Índice auto-descrito da API inteira, com os idiomas e as páginas HTML de cada um.
Liveness e o commit publicado agora — é como o smoke espera o próprio deploy.
País e idioma sugeridos para quem está chamando. Sem país detectado pela borda, sugere BR com `source: "fallback"`; `detected` diz o que a borda viu.
Países do catálogo com contagem playable e URL da bandeira (kind=radio conta estações).
Tags das estações de rádio tocáveis, com contagem; opcionalmente por país.
Busca canais públicos (filtros: q, country, category, language, network, quality, playable; kind=radio para estações de rádio, tag para tag de rádio; sort=score…
Idiomas que têm canal tocável, com a contagem de cada um.
Redes e emissoras que têm canal tocável, com a contagem.
Qualidades distintas encontradas nos streams do catálogo (em rádio, codec e bitrate).
Cidades que têm canal tocável, filtráveis por país e por estado.
Ficha completa de um canal, com os streams já apontando para o nosso hop.
Programação de hoje do canal (grabada por nós): agora, a seguir e a lista. Disponível nos canais com guia (`guide=1`), com validade de até dois dias. Confira a …
Cria guest ipt_… Não pede e-mail nem nada. Guarde o token: perdeu o token, perdeu a biblioteca — a não ser que a conta já o tenha reivindicado (`POST /api/auth/…
A galeria inteira do dono: pastas, sub-abas, canais e as URLs de feed de cada nível.
Cria tab/categoria pessoal. Teto de 8 pastas por dono. A resposta traz a biblioteca inteira já atualizada — não precisa recarregar `GET /api/library` depois.
Cria sub-aba numa categoria. Teto de 12 sub-abas por pasta. A resposta traz a biblioteca inteira já atualizada — não precisa recarregar `GET /api/library` depoi…
Adiciona canal à sub-aba. Teto de 40 canais por sub-aba. A resposta diz em que pasta e sub-aba o canal caiu, para a tela abrir no lugar certo. A resposta traz a…
Histórico de canais assistidos pelo dono. Exibe somente canais disponíveis no catálogo.
Registra um canal assistido no histórico do dono.
Metadados públicos: site oficial do canal, URL da transmissão para copiar em outro player e player legado HTTP. O botão legacy_url abre http://legacy.gradetv.ne…
Oferta de transmissão autorizada sob consulta: informações e contatos para produtores. Não ativa streams. Somente informações e captação de interesse. Não provi…
Health · last 1 probes
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/gradetv.net) [](https://agenstry.com/agents/gradetv.net) [](https://agenstry.com/agents/gradetv.net) [](https://agenstry.com/agents/gradetv.net)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "Grade",
"description": "Encontre TV e r\u00e1dio, abra um canal e guarde seus favoritos para voltar. Pastas e M3U para o VLC. Projetos de produtores com direitos sob consulta.",
"url": "https://gradetv.net",
"provider": {
"organization": "Grade",
"url": "https://gradetv.net",
"email": "contato@gradetv.net"
},
"documentationUrl": "https://gradetv.net/llms.txt",
"protocol": "mcp",
"protocolUrl": "https://modelcontextprotocol.io",
"interfaces": [
{
"transport": "streamable-http",
"url": "https://gradetv.net/mcp"
}
],
"capabilities": {
"streaming": true,
"pushNotifications": false,
"authentication": "none"
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json",
"text/markdown"
],
"skills": [
{
"id": "api_index",
"name": "api_index",
"description": "\u00cdndice auto-descrito da API inteira, com os idiomas e as p\u00e1ginas HTML de cada um.",
"endpoint": "GET /api/"
},
{
"id": "health",
"name": "health",
"description": "Liveness e o commit publicado agora \u2014 \u00e9 como o smoke espera o pr\u00f3prio deploy.",
"endpoint": "GET /api/health"
},
{
"id": "geo",
"name": "geo",
"description": "Pa\u00eds e idioma sugeridos para quem est\u00e1 chamando. Sem pa\u00eds detectado pela borda, sugere BR com `source: \"fallback\"`; `detected` diz o que a borda viu.",
"endpoint": "GET /api/geo"
},
{
"id": "list_countries",
"name": "list_countries",
"description": "Pa\u00edses do cat\u00e1logo com contagem playable e URL da bandeira (kind=radio conta esta\u00e7\u00f5es).",
"endpoint": "GET /api/countries"
},
{
"id": "list_tags",
"name": "list_tags",
"description": "Tags das esta\u00e7\u00f5es de r\u00e1dio toc\u00e1veis, com contagem; opcionalmente por pa\u00eds.",
"endpoint": "GET /api/tags"
},
{
"id": "search_channels",
"name": "search_channels",
"description": "Busca canais p\u00fablicos (filtros: q, country, category, language, network, quality, playable; kind=radio para esta\u00e7\u00f5es de r\u00e1dio, tag para tag de r\u00e1dio; sort=score ordena pela sa\u00fade medida por terceiro, sort=votes pelos votos da r\u00e1dio; online=1 s\u00f3 quem foi visto online nas \u00faltimas 48 h). \u00c9 a porta de entrada do produto. A resposta varia por navegador, sistema e pa\u00eds de quem pede \u2014 cada canal traz `social.your_fails`, o recorte do SEU ambiente \u2014 por isso ela \u00e9 `Cache-Control: private`.",
"endpoint": "GET /api/channels"
},
{
"id": "list_languages",
"name": "list_languages",
"description": "Idiomas que t\u00eam canal toc\u00e1vel, com a contagem de cada um.",
"endpoint": "GET /api/languages"
},
{
"id": "list_networks",
"name": "list_networks",
"description": "Redes e emissoras que t\u00eam canal toc\u00e1vel, com a contagem.",
"endpoint": "GET /api/networks"
},
{
"id": "list_qualities",
"name": "list_qualities",
"description": "Qualidades distintas encontradas nos streams do cat\u00e1logo (em r\u00e1dio, codec e bitrate).",
"endpoint": "GET /api/qualities"
},
{
"id": "list_subdivisions",
"name": "list_subdivisions",
"description": "Estados e prov\u00edncias que t\u00eam canal toc\u00e1vel.",
"endpoint": "GET /api/subdivisions"
},
{
"id": "list_cities",
"name": "list_cities",
"description": "Cidades que t\u00eam canal toc\u00e1vel, filtr\u00e1veis por pa\u00eds e por estado.",
"endpoint": "GET /api/cities"
},
{
"id": "get_channel",
"name": "get_channel",
"description": "Ficha completa de um canal, com os streams j\u00e1 apontando para o nosso hop.",
"endpoint": "GET /api/channels/:id"
},
{
"id": "get_channel_guide",
"name": "get_channel_guide",
"description": "Programa\u00e7\u00e3o de hoje do canal (grabada por n\u00f3s): agora, a seguir e a lista. Dispon\u00edvel nos canais com guia (`guide=1`), com validade de at\u00e9 dois dias. Confira a data da resposta; a ficha traz o resumo em `guide_now`.",
"endpoint": "GET /api/channels/:id/guia"
},
{
"id": "create_guest",
"name": "create_guest",
"description": "Cria guest ipt_\u2026 N\u00e3o pede e-mail nem nada. Guarde o token: perdeu o token, perdeu a biblioteca \u2014 a n\u00e3o ser que a conta j\u00e1 o tenha reivindicado (`POST /api/auth/claim`), e a\u00ed o que ele guardou est\u00e1 na conta.",
"endpoint": "POST /api/guest"
},
{
"id": "get_library",
"name": "get_library",
"description": "A galeria inteira do dono: pastas, sub-abas, canais e as URLs de feed de cada n\u00edvel.",
"endpoint": "GET /api/library"
},
{
"id": "create_category",
"name": "create_category",
"description": "Cria tab/categoria pessoal. Teto de 8 pastas por dono. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
"endpoint": "POST /api/categories"
},
{
"id": "create_group",
"name": "create_group",
"description": "Cria sub-aba numa categoria. Teto de 12 sub-abas por pasta. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
"endpoint": "POST /api/groups"
},
{
"id": "add_item",
"name": "add_item",
"description": "Adiciona canal \u00e0 sub-aba. Teto de 40 canais por sub-aba. A resposta diz em que pasta e sub-aba o canal caiu, para a tela abrir no lugar certo. A resposta traz a biblioteca inteira j\u00e1 atualizada \u2014 n\u00e3o precisa recarregar `GET /api/library` depois.",
"endpoint": "POST /api/items"
},
{
"id": "get_history",
"name": "get_history",
"description": "Hist\u00f3rico de canais assistidos pelo dono. Exibe somente canais dispon\u00edveis no cat\u00e1logo.",
"endpoint": "GET /api/history"
},
{
"id": "record_watch",
"name": "record_watch",
"description": "Registra um canal assistido no hist\u00f3rico do dono.",
"endpoint": "POST /api/history"
},
{
"id": "forget_watch",
"name": "forget_watch",
"description": "Tira um canal do hist\u00f3rico do dono.",
"endpoint": "DELETE /api/history/:channel_id"
},
{
"id": "clear_history",
"name": "clear_history",
"description": "Limpa o hist\u00f3rico inteiro do dono, de uma vez.",
"endpoint": "DELETE /api/history"
},
{
"id": "legacy_stream",
"name": "legacy_stream",
"description": "Metadados p\u00fablicos: site oficial do canal, URL da transmiss\u00e3o para copiar em outro player e player legado HTTP. O bot\u00e3o legacy_url abre http://legacy.gradetv.net:8080/legacy?stream=ID. A p\u00e1gina isolada aceita lang=pt/en/es/fr/de e theme=light/dark. Playlists continuam pelo hop HTTPS e m\u00eddia direto da origem. N\u00e3o remove recusa de acesso nem exig\u00eancia CORS. Uma leitura indexada; n\u00e3o busca origem nem grava no D1.",
"endpoint": "GET /api/legacy/:id"
},
{
"id": "producer_services",
"name": "producer_services",
"description": "Oferta de transmiss\u00e3o autorizada sob consulta: informa\u00e7\u00f5es e contatos para produtores. N\u00e3o ativa streams. Somente informa\u00e7\u00f5es e capta\u00e7\u00e3o de interesse. N\u00e3o provisiona, n\u00e3o cobra e n\u00e3o ativa transmiss\u00e3o. Use contact.form_url no browser, contact.email por e-mail ou POST /api/contact para apresentar o projeto. O envio \u00e9 livre \u2014 sem captcha nem pagamento \u2014, uma mensagem a cada 10 s por rede.",
"endpoint": "GET /api/producers"
}
],
"discovery": {
"openapi": "https://gradetv.net/openapi.json",
"llms": "https://gradetv.net/llms.txt",
"okf": "https://gradetv.net/okf/index.md",
"numbers": "https://gradetv.net/api/vitrine",
"partnerships": "https://gradetv.net/api/partners",
"api_catalog": "https://gradetv.net/.well-known/api-catalog",
"x402": "https://gradetv.net/.well-known/x402",
"pricing": "https://gradetv.net/pricing",
"docs": "https://gradetv.net/docs"
},
"updated": "2026-10-03"
}