NullBall Public API [BETA]

// AI football predictions for developers and AI agents — derived data only, privacy-first, no tracking.

Get started in 30 seconds

« curl -H "X-API-Key: np_live_..." \
    https://nullball.xyz/api/v1/predictions?league=world-cup

No key yet? In the current beta, keys are issued manually — get in touch to request one. A self-service dashboard ships with the accounts system.

Tiers

FreeProElite
Quota / day (UTC)1005,00050,000
Burst / minute1060300
Predictionswinnerfull + resultfull + result
Value bets (edge %)yesyes
Bulk NDJSON exportyesyes

Endpoints

GET /api/v1/meta                          # freshness — check before crawling (anon)
GET /api/v1/leagues
GET /api/v1/fixtures?league={slug}
GET /api/v1/predictions?league=&date=&limit=
GET /api/v1/accuracy                      # public track record
GET /api/v1/standings/{league}            # world-cup: 12 groups A-L
GET /api/v1/value-bets                    # pro+
GET /api/v1/export/predictions.ndjson     # pro+, bulk 1 call
GET /api/v1/export/results.ndjson         # pro+, settled matches only

For AI agents

Rules

For AI agents — get started

// Two ways to connect: native MCP tools, or plain HTTP with the self-describing llms.txt.

1 · MCP server — Claude Code/Desktop, Cursor, any MCP client. Seven typed tools (meta, leagues, fixtures, predictions, accuracy, standings, value-bets):

claude mcp add nullball \
  -e NULLPREDICT_API_KEY=np_live_... \
  -e NULLPREDICT_BASE_URL=https://nullball.xyz \
  -- python -m mcp_server.server

2 · Plain HTTP — any language. Point the agent at /llms.txt first; it self-describes auth, endpoints and tiers:

curl -H "X-API-Key: np_live_..." \
  "https://nullball.xyz/api/v1/predictions?league=world-cup&limit=5"

// Need a key? Free tier, no card — ask the operator or see the tiers above. Discovery files: /llms.txt · /llms-full.txt · /api/v1/openapi.json