Grade Legacy API

The Legacy API from Grade — 1 operation(s) for legacy.

GitHub OpenAPI

Operations 1

GET /api/legacy/{id} Public metadata for the legacy HTTP player, without a session #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/gradetv:gradetv-legacy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.

OpenAPI Specification

gradetv-legacy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GradeTV Legacy API
  version: 1d751aaf
  description: Find TV and radio, check the schedule and organize personal lists. Present authorized broadcast projects for evaluation, without activation.
servers:
- url: https://gradetv.net
tags:
- name: Legacy
paths:
  /api/legacy/{id}:
    get:
      operationId: legacy_stream
      summary: Public metadata for the legacy HTTP player, without a session
      description: 'The legacy_url button opens http://legacy.gradetv.net/legacy?stream=ID, without a port in the address. The standalone page accepts lang=pt/en/es/fr/de/hu and theme=light/dark. Playlists continue through the HTTPS hop and media directly from the origin. It does not remove an access refusal or a CORS requirement. One indexed read; it does not fetch the origin or write to the database.

        Returns: { id, name, kind, radio, url, provider_url, website, legacy_url }'
      security: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Public stream ID, including compatibility with old IDs.
        example: 1001Noites.br:SD:2168
      responses:
        '200':
          description: '{ id, name, kind, radio, url, provider_url, website, legacy_url }'
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Resolved stream ID.
                  name:
                    type: string
                    description: Channel name.
                  kind:
                    type: string
                    description: Stream type for the player.
                  radio:
                    type: boolean
                    description: Whether the channel is radio.
                  url:
                    type: string
                    description: Public URL of the HTTPS playlist hop.
                  provider_url:
                    type: string
                    description: Direct broadcast URL at the provider.
                  website:
                    type: string
                    description: Official site of the channel; null when missing or invalid. Destination of the open-site button, separate from the broadcast URL.
                    nullable: true
                  legacy_url:
                    type: string
                    description: Standalone HTTP player, without a credential.
                required:
                - id
                - name
                - kind
                - radio
                - url
                - provider_url
                - website
                - legacy_url
        '404':
          description: Stream unavailable or incompatible origin.
      tags:
      - Legacy
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: ipt_… (guest); the account is a cookie, never a bearer
    globalAccount:
      type: apiKey
      in: cookie
      name: __Host-mm-auth
      description: Global session in the product's HttpOnly cookie; writes require exact Origin and X-CSRF-Token.
    contaChaveApi:
      type: http
      scheme: bearer
      bearerFormat: mmk_…
      description: 'Account API key: `Authorization: Bearer mmk_…` or `X-Api-Key: mmk_…`. Created on the account page (API keys), valid only in the product where it was created; it acts as the account (or the organization that owns it).'
    carteiraAgente:
      type: http
      scheme: bearer
      bearerFormat: mmw_…
      description: 'Wallet credential of an agent without an account (`Authorization: Bearer mmw_…`, 30 days, this product only): POST /api/auth/wallet/agent/start, sign the message with the wallet, POST /api/auth/wallet/agent/token. The owner is `x402:<address>`.'
x-service-info:
  categories:
  - tv-guide
  - media
  - directory
  docs:
    homepage: https://gradetv.net/
    apiReference: https://gradetv.net/developers
    llms: https://gradetv.net/llms.txt