ExactScore AI API and MCP server
Overview
Every prediction on the site is also available as JSON: upcoming calls with the predicted score and goalscorers, graded results, the reasoning and the aggregate track record. The API is read-only, free and needs no key or account. The same data is exposed as tools to AI agents through an MCP server.
Endpoints
- GET /api/v1/info — site name, model, last update and links
- GET /api/v1/competitions — competitions covered, with match counts
- GET /api/v1/predictions — list of predictions; filters: competition, status (pending | settled), limit (1-100), offset
- GET /api/v1/predictions/{id} — one prediction with reasoning, revision history and grade
- GET /api/v1/stats — track record: outcome, exact-score and goalscorer hit rates; optional competition filter
curl -s https://exactscoreai.com/api/v1/predictions?status=pending&limit=5
curl -s https://exactscoreai.com/api/v1/stats?competition=world-cup-2026Authentication and rate limits
No authentication. Each IP address can make 120 requests per 60 seconds across the API and the MCP server. Every response carries the IETF RateLimit-Policy and RateLimit headers (remaining requests and seconds until the window resets). Over the limit the API answers 429 with a Retry-After header.
RateLimit-Policy: "default";q=120;w=60
RateLimit: "default";r=118;t=42Errors
Errors under /api/ are returned as application/problem+json (RFC 9457) with the fields type, title, status, detail, code and resolution. The code is stable and machine-readable: bad_request, not_found, method_not_allowed, rate_limited, voting_closed or unavailable.
{
"type": "https://exactscoreai.com/docs/#errors",
"title": "Not Found",
"status": 404,
"detail": "No prediction with id \"abc\".",
"code": "not_found",
"resolution": "List valid ids with GET /api/v1/predictions."
}MCP server
The MCP endpoint speaks JSON-RPC 2.0 over Streamable HTTP (POST /mcp). Tools: get_site_info, list_competitions, list_predictions, get_prediction and get_track_record. Resources: exactscore://track-record and exactscore://upcoming (JSON). Add it to any MCP client as a remote server with the URL https://exactscoreai.com/mcp.
curl -s https://exactscoreai.com/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_predictions","arguments":{"status":"pending","limit":3}}}'Markdown pages
Every main page (home, track record, competition hubs, match pages, about, contact, privacy and this page) is also available as markdown: request it with the header Accept: text/markdown.
curl -s -H 'Accept: text/markdown' https://exactscoreai.com/Terms of use
The data is free to use in apps, bots and articles; please link back to exactscoreai.com as the source. Predictions are AI-generated opinions for entertainment and analysis, not betting advice. Questions: see the contact page.