tv-schedule-intel

Real-time TV schedule, show data, and episode info powered by TVMaze. Useful for content agents, social bots, and entertainment recommendations.

  • 9 Entrypoints
  • v1.0.0 Version
  • Enabled Payments
gleaming-gratitude-production.up.railway.app

Entrypoints

Explore the capabilities exposed by this agent. Invoke with JSON, stream responses when available, and inspect pricing where monetization applies.

overview

Invoke

Free overview of today's US TV schedule - try before you buy

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/overview/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/overview/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {}
    }
  '

search

Invoke

Search for TV shows by name

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/search/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Show name to search for"
    },
    "limit": {
      "default": 10,
      "description": "Max results to return",
      "type": "number"
    }
  },
  "required": [
    "query",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/search/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "query": "<Show name to search for>",
        "limit": 0
      }
    }
  '

show-details

Invoke

Get detailed info about a specific show by ID

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/show-details/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "showId": {
      "type": "number",
      "description": "TVMaze show ID"
    }
  },
  "required": [
    "showId"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/show-details/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "showId": 0
      }
    }
  '

episodes

Invoke

Get full episode list for a show

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/episodes/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "showId": {
      "type": "number",
      "description": "TVMaze show ID"
    },
    "season": {
      "description": "Filter by season number",
      "type": "number"
    }
  },
  "required": [
    "showId"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/episodes/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "showId": 0
      }
    }
  '

schedule

Invoke

Get TV schedule for a specific date and country

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/schedule/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "date": {
      "description": "Date in YYYY-MM-DD format (defaults to today)",
      "type": "string"
    },
    "country": {
      "default": "US",
      "description": "Country code (US, GB, AU, etc.)",
      "type": "string"
    },
    "limit": {
      "default": 50,
      "description": "Max results",
      "type": "number"
    }
  },
  "required": [
    "country",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/schedule/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "country": "<Country code (US, GB, AU, etc.)>",
        "limit": 0
      }
    }
  '

compare

Invoke

Compare multiple shows side by side

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/compare/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "showIds": {
      "minItems": 2,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Array of TVMaze show IDs to compare"
    }
  },
  "required": [
    "showIds"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/compare/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "showIds": [
          0
        ]
      }
    }
  '

analytics

Invoke

Payment analytics summary

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "description": "Time window in ms",
      "type": "number"
    }
  },
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/analytics/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "windowMs": 0
      }
    }
  '

analytics-transactions

Invoke

Recent payment transactions

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics-transactions/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "type": "number"
    },
    "limit": {
      "default": 50,
      "type": "number"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/analytics-transactions/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "limit": 0
      }
    }
  '

analytics-csv

Invoke

Export payment data as CSV

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/analytics-csv/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "windowMs": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://gleaming-gratitude-production.up.railway.app/entrypoints/analytics-csv/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "windowMs": 0
      }
    }
  '

Client Example: x402-fetch

Use the x402-fetch helpers to wrap a standard fetch call and automatically attach payments. This script loads configuration from .env, pays the facilitator, and logs both the response body and the decoded payment receipt.

import { config } from "dotenv";
import {
  decodeXPaymentResponse,
  wrapFetchWithPayment,
  createSigner,
  type Hex,
} from "x402-fetch";

config();

const privateKey = process.env.AGENT_WALLET_PRIVATE_KEY as Hex | string;
const agentUrl = process.env.AGENT_URL as string; // e.g. https://agent.example.com
const endpointPath = process.env.ENDPOINT_PATH as string; // e.g. /entrypoints/echo/invoke
const url = `${agentUrl}${endpointPath}`;

if (!agentUrl || !privateKey || !endpointPath) {
  console.error("Missing required environment variables");
  console.error("Required: AGENT_WALLET_PRIVATE_KEY, AGENT_URL, ENDPOINT_PATH");
  process.exit(1);
}

/**
 * Demonstrates paying for a protected resource using x402-fetch.
 *
 * Required environment variables:
 * - AGENT_WALLET_PRIVATE_KEY    Wallet private key for signing payments
 * - AGENT_URL                   Base URL of the agent server
 * - ENDPOINT_PATH               Endpoint path (e.g. /entrypoints/echo/invoke)
 */
async function main(): Promise<void> {
  // const signer = await createSigner("solana-devnet", privateKey); // uncomment for Solana
  const signer = await createSigner("base-sepolia", privateKey);
  const fetchWithPayment = wrapFetchWithPayment(fetch, signer);

  const response = await fetchWithPayment(url, { method: "GET" });
  const body = await response.json();
  console.log(body);

  const paymentResponse = decodeXPaymentResponse(
    response.headers.get("x-payment-response")!
  );
  console.log(paymentResponse);
}

main().catch((error) => {
  console.error(error?.response?.data?.error ?? error);
  process.exit(1);
});

Manifest

Loading…
Fetching agent card…