{
 "voice": "One card of the book.",
 "agent": {
  "slug": "parlayapi",
  "name": "ParlayAPI",
  "specialty": null,
  "description": "Sports odds, player props and source coverage for AI assistants. Connect with your own API key.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-03T23:11:34.221Z",
  "card": "/agent/parlayapi",
  "url": "https://allagents.app/agent/parlayapi",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://parlay-api.com/mcp/http",
   "site": "https://parlay-api.com/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [
   "pypi"
  ],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://parlay-api.com/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 55,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-04",
   "total": 22,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "parlayapi_signup",
     "description": "Create a free-tier ParlayAPI account for the given email. Returns the API key, a magic-login URL the user can click to access their dashboard, and a Stripe…"
    },
    {
     "name": "parlayapi_checkout_link",
     "description": "Request an owner-authenticated checkout URL or an email-link flow. A configured key is forwarded for the backend to verify account ownership. With no matching…"
    },
    {
     "name": "parlayapi_magic_link",
     "description": "Email a magic-login link for an existing ParlayAPI account. Always returns ok=true regardless of whether the email exists, to prevent account enumeration. The…"
    },
    {
     "name": "parlayapi_get_pricing",
     "description": "Return the current public pricing table. No API key required. Use this when an agent needs to explain which tier unlocks a workflow before sending a checkout…"
    },
    {
     "name": "parlayapi_live_sports",
     "description": "List currently active live sports on the retail /live surface. No API key required. Returns sport keys plus live event and book counts so agents can discover…"
    },
    {
     "name": "parlayapi_live_search",
     "description": "Search live teams, players, and sport keys. No API key required. Useful when the user asks for a team, player, or league by natural-language name and the…"
    },
    {
     "name": "parlayapi_live_command_center",
     "description": "Return the public best-line command center payload. No API key required. Shows current games, participating books, and best available real prices on the /live…"
    },
    {
     "name": "parlayapi_source_quality",
     "description": "Return public per-source freshness and quality metadata. No API key required. Use this to prove that rows are flowing from each source before choosing books…"
    },
    {
     "name": "parlayapi_book_coverage",
     "description": "Return public per-book coverage gates. No API key required. This is the proof surface for whether each source survives freshness, normalization, database…"
    },
    {
     "name": "parlayapi_list_sports",
     "description": "List available sport keys. Use these in subsequent calls. Examples: baseball_mlb, basketball_nba, americanfootball_nfl, icehockey_nhl, soccer_epl, mma_ufc…"
    },
    {
     "name": "parlayapi_get_odds",
     "description": "Get game-level odds for a sport from all configured bookmakers. Args: sport_key: e.g. \"baseball_mlb\", \"soccer_epl\" markets: Comma-separated. h2h, spreads…"
    },
    {
     "name": "parlayapi_get_props",
     "description": "Get player prop odds for a sport. Args: sport_key: e.g. \"baseball_mlb\", \"basketball_nba\" markets: Comma-separated prop market keys (optional). Examples…"
    },
    {
     "name": "parlayapi_best_line",
     "description": "Find the best (highest) price for each outcome across bookmakers. Useful for line-shopping bots. Returns one row per game / market / side with the bookmaker…"
    },
    {
     "name": "parlayapi_verdict",
     "description": "Should I bet this? One-call verdict for a specific bet. Returns the no-vig fair price for the exact bet, the best available price and which book has it, how…"
    },
    {
     "name": "parlayapi_set_bettable_books",
     "description": "Remember which books the user can bet at, so parlayapi_verdict scopes its best-price and shop recommendations to them automatically (no need to pass…"
    },
    {
     "name": "parlayapi_parlay_verdict",
     "description": "Grade a multi-leg parlay: should you bet it, and at which book? Give 2 to 12 legs (each shaped like a parlayapi_verdict bet) and get the combined no-vig fair…"
    },
    {
     "name": "parlayapi_best_bets",
     "description": "What should I bet right now? Ranked +EV plays for a sport. The discovery counterpart to parlayapi_verdict: scans the whole board, grades every candidate with…"
    },
    {
     "name": "parlayapi_account_info",
     "description": "Get info about the API key currently in use: tier, credits remaining, billing period."
    },
    {
     "name": "parlayapi_find_arbitrage",
     "description": "Find cross-book arbitrage candidates from current quoted prices. Scans every event for quoted prices whose combined implied probability is under 100%. Results…"
    },
    {
     "name": "parlayapi_find_ev",
     "description": "Find positive-EV bets vs a sharp book's no-vig fair line. Compares every soft book's price against the no-vig fair probability derived from a sharp book…"
    },
    {
     "name": "parlayapi_consensus",
     "description": "Get consensus (average) odds across all bookmakers per market. Returns average, best, and worst price per (event, market, player, line), a sharp baseline for…"
    },
    {
     "name": "parlayapi_find_middles",
     "description": "Find cross-book middle opportunities. A middle takes the Over at a low line on one book and the Under at a higher line on another, so a window of whole…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://parlay-api.com/mcp/http",
   "answers": true,
   "checked": "2026-11-04T06:47:32.692Z",
   "http": null,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-04T06:47:32.692Z",
     "since": "2026-11-04T06:47:32.692Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-04T06:47:32.692Z",
    "since": "2026-11-04T06:47:32.692Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": null,
   "checked": "2026-11-04T06:47:32.692Z",
   "proof": "badge",
   "verified_as": "mcp",
   "last_answer_at": "2026-11-04T06:47:32.692Z",
   "last_ms": null,
   "checked_at": "2026-11-04T06:02:56.173Z"
  }
 }
}