sports-data-agent

Live sports data from ESPN - scores, standings, schedules, and team info for NBA, NFL, NHL, MLB, and more.

  • 6 Entrypoints
  • v1.0.0 Version
  • Enabled Payments
sports-data-agent-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 games across major sports (NBA, NFL, NHL, MLB)

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://sports-data-agent-production.up.railway.app/entrypoints/overview/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {}
    }
  '

lookup

Invoke

Look up a team by name or ID. Returns team info, record, and current standings.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/lookup/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sport": {
      "default": "nba",
      "type": "string",
      "enum": [
        "nba",
        "nfl",
        "nhl",
        "mlb",
        "ncaaf",
        "ncaab",
        "mls"
      ]
    },
    "team": {
      "type": "string",
      "description": "Team name or ESPN team ID"
    }
  },
  "required": [
    "sport",
    "team"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://sports-data-agent-production.up.railway.app/entrypoints/lookup/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "sport": "nba",
        "team": "<Team name or ESPN team ID>"
      }
    }
  '

scores

Invoke

Get live scores for a sport. Returns all games for today with real-time scores.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/scores/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sport": {
      "default": "nba",
      "type": "string",
      "enum": [
        "nba",
        "nfl",
        "nhl",
        "mlb",
        "ncaaf",
        "ncaab",
        "mls"
      ]
    },
    "date": {
      "description": "Date in YYYYMMDD format (default: today)",
      "type": "string"
    }
  },
  "required": [
    "sport"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://sports-data-agent-production.up.railway.app/entrypoints/scores/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "sport": "nba"
      }
    }
  '

standings

Invoke

Get current league standings with win/loss records and rankings.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/standings/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sport": {
      "default": "nba",
      "type": "string",
      "enum": [
        "nba",
        "nfl",
        "nhl",
        "mlb"
      ]
    },
    "conference": {
      "default": "all",
      "type": "string",
      "enum": [
        "east",
        "west",
        "afc",
        "nfc",
        "all"
      ]
    }
  },
  "required": [
    "sport",
    "conference"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://sports-data-agent-production.up.railway.app/entrypoints/standings/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "sport": "nba",
        "conference": "east"
      }
    }
  '

schedule

Invoke

Get upcoming and past games for a specific team.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/schedule/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sport": {
      "default": "nba",
      "type": "string",
      "enum": [
        "nba",
        "nfl",
        "nhl",
        "mlb"
      ]
    },
    "teamId": {
      "type": "string",
      "description": "ESPN team ID"
    },
    "limit": {
      "default": 10,
      "type": "number"
    }
  },
  "required": [
    "sport",
    "teamId",
    "limit"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://sports-data-agent-production.up.railway.app/entrypoints/schedule/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "sport": "nba",
        "teamId": "<ESPN team ID>",
        "limit": 0
      }
    }
  '

report

Invoke

Comprehensive team report: info, record, standings, recent games, and upcoming schedule.

Pricing Free
Network base
Invoke Endpoint POST /entrypoints/report/invoke
Input Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "sport": {
      "default": "nba",
      "type": "string",
      "enum": [
        "nba",
        "nfl",
        "nhl",
        "mlb"
      ]
    },
    "team": {
      "type": "string",
      "description": "Team name or ESPN team ID"
    }
  },
  "required": [
    "sport",
    "team"
  ],
  "additionalProperties": false
}
Invoke with curl
curl -s -X POST \
  'https://sports-data-agent-production.up.railway.app/entrypoints/report/invoke' \
  -H 'Content-Type: application/json' \
  -d '
    {
      "input": {
        "sport": "nba",
        "team": "<Team name or ESPN team ID>"
      }
    }
  '

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…