API Reference
Call any AI Football tool via REST API. Get an API key from the Developer Portal, then use the endpoints below.
Authentication
Pass your API key in the Authorization header:
Authorization: Bearer tft_sk_your_key_here
Keys are created in the Developer Portal. Product-specific keys use prefixes like fgpt_sk_, rgpt_sk_, cr_sk_.
Base URLs
MCP Gateway: https://mcp.360tft.com/{product}/mcp
REST API: https://mcp.360tft.com/{product}/api/{tool_name}
Products: footballgpt, refereegpt, coachreflectThe MCP endpoint accepts JSON-RPC 2.0 requests (for Claude Desktop and MCP clients). The REST API accepts standard JSON POST requests.
Rate limits
| Tier | Calls/day | Price |
|---|---|---|
| Free | 10 | $0 |
| Pro | 100 | Product subscription |
| Developer | 1,000 | $29/month |
Rate limit resets at midnight UTC. The response includes an X-RateLimit-Remaining header.
Error codes
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (missing or invalid parameters) |
| 401 | Invalid or missing API key |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
FootballGPT
Base: https://mcp.360tft.com/footballgpt/api/
/api/mcp/get-coaching-adviceFootballGPT
Ask 18 specialist AI advisors for coaching guidance across grassroots, academy, and professional levels.
| Param | Required | Description |
|---|---|---|
| message | Yes | Your coaching question |
| mode | No | coach, player, fm, or goalkeeper |
| advisor | No | grassroots-guru, academy-mind, sunday-specialist, pros-pro, gk-coach, scout-advisor, general |
| ageGroup | No | e.g. u10, u14, senior |
curl -X POST https://mcp.360tft.com/footballgpt/api/get_coaching_advice \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"message": "Best warm-up for U12s?"}'/api/mcp/generate-session-planFootballGPT
Generate complete training session plans with warm-up, main activity, progressions, and cool-down.
| Param | Required | Description |
|---|---|---|
| topic | Yes | Session topic (e.g. defending, passing) |
| ageGroup | Yes | e.g. u10, u14, senior |
| duration | No | Minutes (default: 60) |
| playerCount | No | Number of players (default: 16) |
curl -X POST https://mcp.360tft.com/footballgpt/api/generate_session_plan \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"topic": "1v1 defending", "ageGroup": "u12", "duration": 60}'/api/mcp/animate-drillFootballGPT
Turn text descriptions into animated football drill diagrams with player movements and passes.
| Param | Required | Description |
|---|---|---|
| description | Yes | Drill description in plain English |
| category | No | technical, tactical, physical, set-piece |
| ageGroup | No | e.g. u10, u14, senior |
curl -X POST https://mcp.360tft.com/footballgpt/api/animate_drill \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"description": "4v2 rondo with rotation on loss of possession"}'/api/mcp/search-player-statsFootballGPT
Search real player statistics from 100+ football leagues worldwide.
| Param | Required | Description |
|---|---|---|
| name | No | Player name |
| league | No | League name |
| position | No | Player position |
| season | No | e.g. 2024-2025 |
curl -X POST https://mcp.360tft.com/footballgpt/api/search_player_stats \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"name": "Saka", "league": "Premier League"}'/api/mcp/search-drillsFootballGPT
Search the community drill library by topic, age group, and category.
| Param | Required | Description |
|---|---|---|
| query | Yes | Search query |
| category | No | passing, shooting, defending, etc. |
| ageGroup | No | e.g. u10, u14, senior |
curl -X POST https://mcp.360tft.com/footballgpt/api/search_drills \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"query": "1v1 defending drills"}'RefereeGPT
Base: https://mcp.360tft.com/refereegpt/api/
/api/mcp/check-lawRefereeGPT
Search IFAB Laws of the Game with RAG. 9 country-specific rule variations supported.
| Param | Required | Description |
|---|---|---|
| query | Yes | Your rules question |
| country | No | england, scotland, usa, australia, canada, ireland, wales, northern-ireland, south-africa |
| refereeLevel | No | grassroots, youth, amateur, semi-professional, professional |
curl -X POST https://mcp.360tft.com/refereegpt/api/check_law \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"query": "Can a goalkeeper pick up a throw-in?"}'/api/mcp/analyze-incidentRefereeGPT
Get AI analysis of match incidents with specific law references and the correct decision.
| Param | Required | Description |
|---|---|---|
| description | Yes | Describe the incident |
| country | No | Country for local rules (default: england) |
curl -X POST https://mcp.360tft.com/refereegpt/api/analyze_incident \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"description": "Player removes shirt after scoring"}'/api/mcp/generate-quizRefereeGPT
Generate referee training quizzes on any topic with multiple difficulty levels.
| Param | Required | Description |
|---|---|---|
| topic | Yes | Law or topic to quiz on |
| difficulty | No | beginner, intermediate, advanced |
| country | No | Country for local rules |
curl -X POST https://mcp.360tft.com/refereegpt/api/generate_quiz \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"topic": "offside", "difficulty": "intermediate"}'CoachReflect
Base: https://mcp.360tft.com/coachreflect/api/
/api/mcp/log-reflectionCoachReflect
Log coaching session reflections and get AI-powered analysis of your coaching patterns.
| Param | Required | Description |
|---|---|---|
| reflection | Yes | Your session reflection |
| sessionType | No | training, match, observation, cpd, general |
| mood | No | great, good, neutral, challenging, difficult |
| energy | No | high, medium, low |
curl -X POST https://mcp.360tft.com/coachreflect/api/log_reflection \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"reflection": "Great session today. 1v1 defending clicked with the U14s."}'/api/mcp/get-patternsCoachReflect
Analyse coaching reflections to find recurring patterns, strengths, and areas for development.
| Param | Required | Description |
|---|---|---|
| timeRange | No | week, month, quarter, all |
| focus | No | communication, session planning, player engagement, behaviour management |
curl -X POST https://mcp.360tft.com/coachreflect/api/get_patterns \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"timeRange": "month"}'/api/mcp/coaching-chatCoachReflect
Chat with your coaching reflection history. Ask questions about your development.
| Param | Required | Description |
|---|---|---|
| message | Yes | Your question |
| context | No | Additional context |
curl -X POST https://mcp.360tft.com/coachreflect/api/coaching_chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tft_sk_your_key_here" \
-d '{"message": "What have I improved on most this season?"}'Response format
{
"text": "Here is the coaching advice...",
"toolName": "get_coaching_advice"
}{
"error": "Rate limit exceeded",
"message": "You have used all 10 free calls today.",
"upgrade_url": "https://footballgpt.co/pricing"
}