TOUCHLINE WIRE TACTICAL API v1
OPEN DEVELOPER & BOT INFRASTRUCTURE

Premier League Tactical Intelligence API

High-frequency, unauthenticated JSON endpoints providing verified predicted starting lineups, training ground availability, injury telemetry, and live standings. Built for fantasy sports tools, Discord bots, AI agents, and independent developers.

curl -s "https://touchlinewire.com/api/v1/table"
Zero Authentication
No API keys, registration, or credit cards required. Instantly integrate with any frontend or server.
Full CORS Enabled
Access-Control-Allow-Origin: * enabled globally for direct in-browser fetch() requests.
Edge Cached at 20ms
Powered by AWS CloudFront global edge cache. Sub-30ms global response latencies at scale.
80.6% AI Hit Rate
Tactical starting 11 predictions synthesized from verified press conference telemetry and rotation algorithms.

Core Tactical Endpoints

All endpoints respond with application/json; charset=utf-8 and include standardized metadata envelopes.

GET /api/v1/table
TEST LIVE →
Returns the authoritative 20-club Premier League standings with points, goal difference, win/draw/loss record, European qualification zones, and 5-game form guide.

Query Parameters

No required parameters. Returns full 20-club table.

Sample Response (JSON)

{
  "meta": {
    "source": "Touchline Wire Tactical API",
    "attribution_url": "https://touchlinewire.com",
    "count": 20
  },
  "data": [
    {
      "rank": 1,
      "team_id": 15,
      "name": "Man City",
      "short_name": "MCI",
      "played": 6,
      "won": 6,
      "drawn": 0,
      "lost": 0,
      "points": 18,
      "form": "WWWWW",
      "zone": "Champions League"
    }
  ]
}
GET /api/v1/lineups/{club}
TEST LIVE (ARSENAL) →
Returns the verified predicted tactical lineup for a specific Premier League club, including tactical formation, starters by position, bench options, and set-piece specialists.

Path Parameters

ParameterTypeDescription
club string (required) Club slug or alias. e.g. arsenal, chelsea, man-city, spurs, liverpool.

Sample Response (JSON)

{
  "data": {
    "club": "Arsenal",
    "formation": "4-2-3-1",
    "manager": "Mikel Arteta",
    "tactical_confidence_rate": 0.891,
    "penalties": "Bukayo Saka",
    "starters": [
      { "id": 1, "web_name": "Raya", "position": "GK" },
      { "id": 16, "web_name": "Saka", "position": "MID" }
    ],
    "bench": [
      { "id": 2, "web_name": "Arrizabalaga", "position": "GK" }
    ]
  }
}
GET /api/v1/lineups
TEST LIVE →
Batch endpoint returning the entire 20-club tactical slate in a single request. Perfect for pre-matchday dashboard syncing and fantasy lineup optimizers.

Query Parameters

No parameters required. Returns full slate of 20 clubs.

Sample Response (JSON)

{
  "meta": { "count": 20 },
  "data": [
    { "club": "Arsenal", "formation": "4-2-3-1" },
    { "club": "Aston Villa", "formation": "4-4-2" },
    { "club": "Chelsea", "formation": "4-2-3-1" }
  ]
}
GET /api/v1/injuries
TEST LIVE →
Current Premier League medical room telemetry. Lists all players currently flagged with injuries, illness, or bans, complete with manager press conference notes and percentage chance of playing.

Query Parameters

ParameterTypeDescription
club string (optional) Filter injuries to a specific club (e.g. ?club=arsenal).

Sample Response (JSON)

{
  "meta": { "count": 28 },
  "data": [
    {
      "player_id": 16,
      "web_name": "Saka",
      "team": "Arsenal",
      "position": "MID",
      "status": "doubtful",
      "chance_of_playing": 75,
      "news": "Hamstring issue - 75% chance of playing"
    }
  ]
}
GET /api/v1/fixtures
TEST LIVE →
Complete matchday schedule with kickoff ISO timestamps, gameweek tags, finished statuses, and home/away team identifiers.

Query Parameters

ParameterTypeDescription
gameweek int (optional) Filter by gameweek number (e.g. ?gameweek=7).
club string (optional) Filter fixtures involving a club (e.g. ?club=liverpool).

Sample Response (JSON)

{
  "data": [
    {
      "fixture_id": 9100,
      "gameweek": 7,
      "kickoff_iso": "2026-10-24T14:00:00Z",
      "status": "SCHEDULED",
      "home_team": { "name": "Arsenal", "short_name": "ARS" },
      "away_team": { "name": "Chelsea", "short_name": "CHE" }
    }
  ]
}
GET /api/v1/clubs
TEST LIVE →
Directory of all 20 Premier League clubs, primary hex branding colors, stadium names, managers, and assigned set-piece takers.

Query Parameters

No parameters required.

Sample Response (JSON)

{
  "data": [
    {
      "id": 1,
      "name": "Arsenal",
      "canonical_slug": "arsenal",
      "manager": "Mikel Arteta",
      "stadium": "Emirates Stadium",
      "primary_color": "#EF0107"
    }
  ]
}
GET /api/v1/matches/{club}/latest
TEST LIVE (ARSENAL) →
In-depth tactical match report featuring official starting XIs, substitute benches, chronological match timeline (goals, assists, cards, substitutions), detailed head-to-head metrics (xG, possession, shot maps, passes), and Touchline Wire pre-match lineup forecast accuracy.

Path Parameters & Alternate Routes

RouteDescription
/api/v1/matches/{club}/latest Latest match report for club (e.g. /api/v1/matches/arsenal/latest, /api/v1/matches/chelsea/latest).
/api/v1/matches/{fixture_id} Specific match report by official fixture ID (e.g. /api/v1/matches/1557417).
/api/v1/matches/latest The most recent Premier League match across the entire competition.

Sample Response (JSON)

{
  "meta": { "source": "Touchline Wire Tactical API" },
  "data": {
    "fixture_id": 1557417,
    "gameweek": "Regular Season - 7",
    "status": { "short": "FT", "long": "Match Finished", "elapsed_minutes": 90 },
    "teams": {
      "home": { "name": "Arsenal", "score": 2, "winner": true },
      "away": { "name": "Leeds", "score": 1, "winner": false }
    },
    "score": {
      "fulltime": { "home": 2, "away": 1 },
      "halftime": { "home": 0, "away": 0 }
    },
    "tactical_intelligence": {
      "tactical_matchup": "Arsenal (4-2-3-1) vs Leeds (3-4-2-1)",
      "forecast_accuracy_pct": 90.9,
      "home_lineup_forecast": "10/11 predicted starters confirmed",
      "xg_comparison": { "home_xg": 2.33, "away_xg": 0.62 }
    },
    "lineups": {
      "home": {
        "team": "Arsenal", "formation": "4-2-3-1", "coach": "M. Arteta",
        "starters": [
          { "id": 1, "name": "David Raya", "position": "G", "grid": "1:1" }
        ]
      },
      "away": {
        "team": "Leeds", "formation": "3-4-2-1", "coach": "D. Farke",
        "starters": [...]
      }
    },
    "events": [
      {
        "minute": 54, "team": "Arsenal", "type": "goal",
        "player": "Bukayo Saka", "assist": "Martin Ødegaard"
      }
    ],
    "statistics": {
      "home": { "expected_goals": 2.33, "possession": "58%", "total_shots": 13, "pass_accuracy": "85%" },
      "away": { "expected_goals": 0.62, "possession": "42%", "total_shots": 11, "pass_accuracy": "79%" }
    }
  }
}
GET /api/v1/set-pieces/{club}
TEST LIVE (ARSENAL) →
Authoritative hierarchy of set-piece specialists: primary and backup penalty takers, direct free-kick takers, and corner kick specialists ordered by manager priority, with player position and playing status.

Path & Query Options

Route / ParamDescription
/api/v1/set-pieces/{club} Set-piece hierarchy for a specific club (e.g. arsenal, chelsea, liverpool).
/api/v1/set-pieces Directory of all 20 Premier League clubs' set-piece specialists.

Sample Response (JSON)

{
  "meta": { "source": "Touchline Wire Tactical API" },
  "data": {
    "club": "Arsenal",
    "short_name": "ARS",
    "hierarchy": {
      "primary_penalty_taker": "Saka",
      "secondary_penalty_taker": "Gyökeres",
      "primary_freekick_taker": "Rice",
      "primary_corner_taker": "Rice"
    },
    "penalties": [
      { "name": "Saka", "order": 1, "position": "MID" },
      { "name": "Gyökeres", "order": 2, "position": "FWD" }
    ],
    "direct_free_kicks": [
      { "name": "Rice", "order": 1, "position": "MID" },
      { "name": "Saka", "order": 2, "position": "MID" }
    ]
  }
}
GET /api/v1/schedule/difficulty
TEST LIVE (NEXT 5) →
Calculates average Fixture Difficulty Ratings (FDR) across upcoming matchdays. Ranks all 20 clubs from easiest to toughest schedule with individual opponent difficulty ratings (1 to 5) and home/away venue splits.

Query Parameters

ParameterTypeDescription
window integer (optional, default 5) Number of upcoming matches to analyze (1 to 10).
sort string (easiest | hardest) Sort ordering of ranked clubs. Defaults to easiest.
club string (optional) Filter schedule difficulty to a single club (e.g. ?club=arsenal).

Sample Response (JSON)

{
  "meta": { "source": "Touchline Wire Tactical API" },
  "window": 5,
  "data": [
    {
      "rank": 1,
      "club": "Crystal Palace",
      "short_name": "CRY",
      "average_difficulty": 2.8,
      "tier": "Moderate",
      "schedule": [
        { "gameweek": 8, "opponent_short": "NEW", "venue": "Home", "difficulty_rating": 3 },
        { "gameweek": 9, "opponent_short": "TOT", "venue": "Away", "difficulty_rating": 4 }
      ]
    }
  ]
}
GET /api/v1/matches/{home}-vs-{away}/preview
TEST LIVE PREVIEW →
Pre-match tactical dossier: predicted formation clash (e.g. 4-3-3 possession vs 5-4-1 low block), manager tactical records, expected starter matchups, medical availability, and 5-game form guide.

Path & Alternative Routes

RouteDescription
/api/v1/matches/{home}-vs-{away}/preview Head-to-head match preview (e.g. arsenal-vs-chelsea).
/api/v1/preview/{club} Next scheduled match preview for club (e.g. /api/v1/preview/arsenal).

Sample Response (JSON)

{
  "meta": { "source": "Touchline Wire Tactical API" },
  "data": {
    "tactical_matchup": "Arsenal (4-2-3-1) vs Chelsea (4-2-3-1)",
    "home_team": { "name": "Arsenal", "manager": "Mikel Arteta", "formation": "4-2-3-1" },
    "away_team": { "name": "Chelsea", "manager": "Xabi Alonso", "formation": "4-2-3-1" },
    "venue": { "name": "Emirates Stadium", "city": "London" }
  }
}

Free Use & Attribution Policy

The Touchline Wire Tactical API is 100% free for personal, hobbyist, academic, and open-source projects. No authentication is required. In exchange, we ask that you include a visible attribution link back to https://touchlinewire.com in your application UI, GitHub README, or website footer.

<a href="https://touchlinewire.com" target="_blank">Tactical Data by Touchline Wire</a>