Skip to content

Instantly share code, notes, and snippets.

@anorth848
Last active January 22, 2025 19:47
Show Gist options
  • Select an option

  • Save anorth848/686221ca793dd2dc3a5412359d0aa31e to your computer and use it in GitHub Desktop.

Select an option

Save anorth848/686221ca793dd2dc3a5412359d0aa31e to your computer and use it in GitHub Desktop.
Get DartConnect Event matches json response
import requests
import json
import argparse
import pyperclip
parser = argparse.ArgumentParser()
parser.add_argument("--event", help="The dartconnect event id for the event", required=True)
args = parser.parse_args()
url = f'https://tv.dartconnect.com/api2/event/{args.event}/matches'
response = requests.post(url).json()
for i in response['payload']['events']:
if i['bracket_status'] != 'C':
raise ValueError('Bracket is not complete. Close bracket first.')
pyperclip.copy(json.dumps(response, indent=4))
print(f"Copied matches to clipboard for {response['payload']['events'][0]['event_label']}")
certifi==2024.12.14
charset-normalizer==3.4.0
idna==3.10
pyperclip==1.9.0
requests==2.32.3
urllib3==1.26.6
@anorth848
Copy link
Author

{
    "url": "https:\/\/tv.dartconnect.com",
    "port": null,
    "defaults": {},
    "routes": {
        "sanctum.csrf-cookie": {
            "uri": "sanctum\/csrf-cookie",
            "methods": ["GET", "HEAD"]
        },
        "api.tournament.entries": {
            "uri": "api\/event\/{tournament}\/entries",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api.tournament.bracket": {
            "uri": "api\/event\/{tournament}\/bracket\/{tournamentEvent}",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "api.tournament.round-robin": {
            "uri": "api\/event\/{tournament}\/round-robin\/{tournamentEvent}",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "event-options": {
            "uri": "api\/event-options",
            "methods": ["POST"]
        },
        "api.tournament.matches": {
            "uri": "api\/event\/{tournament}\/matches",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api.league.matches": {
            "uri": "api\/league\/{league}\/matches\/{leagueSeason?}",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.league.matches.live": {
            "uri": "api\/league\/{league}\/matches\/live\/{leagueSeason?}",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.league.standings.matches": {
            "uri": "api\/league\/{league}\/standings\/{leagueSeason}\/matches",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.league.standings.players": {
            "uri": "api\/league\/{league}\/standings\/{leagueSeason}\/players",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.league.lineups": {
            "uri": "api\/league\/{league}\/lineups\/{leagueSeason}",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.leagues.seasons.tv-scroller": {
            "uri": "api\/league\/{league}\/{leagueSeason}\/tv-scroller",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api.rankings.show": {
            "uri": "api\/rankings\/{ranking}",
            "methods": ["POST"],
            "parameters": ["ranking"],
            "bindings": {
                "ranking": "slug"
            }
        },
        "api.rankings.players": {
            "uri": "api\/rankings\/{ranking}\/players\/{player}",
            "methods": ["POST"],
            "parameters": ["ranking", "player"],
            "bindings": {
                "ranking": "slug"
            }
        },
        "api.wdf-point-table.countries": {
            "uri": "api\/wdf-point-table-countries\/{wdfPointTable}",
            "methods": ["POST"],
            "parameters": ["wdfPointTable"],
            "bindings": {
                "wdfPointTable": "slug"
            }
        },
        "api.wdf-point-table.countries.show": {
            "uri": "api\/wdf-point-table-countries\/{wdfPointTable}\/show",
            "methods": ["POST"],
            "parameters": ["wdfPointTable"],
            "bindings": {
                "wdfPointTable": "slug"
            }
        },
        "api.user": {
            "uri": "api\/user",
            "methods": ["GET", "HEAD"]
        },
        "api.user.update-board-calls": {
            "uri": "api\/user\/update-board-calls",
            "methods": ["POST"]
        },
        "api.fan-alerts.index": {
            "uri": "api\/fan-alerts",
            "methods": ["POST"]
        },
        "api.fan-alerts.store": {
            "uri": "api\/fan-alerts\/{memberId}",
            "methods": ["POST"],
            "parameters": ["memberId"]
        },
        "api.fan-alerts.destroy": {
            "uri": "api\/fan-alerts\/{memberId}",
            "methods": ["DELETE"],
            "parameters": ["memberId"]
        },
        "api.search-fan-alerts": {
            "uri": "api\/search-fan-alerts",
            "methods": ["POST"]
        },
        "api.request-follow-fan-alert": {
            "uri": "api\/request-follow-fan-alert",
            "methods": ["POST"]
        },
        "api.my-board-group": {
            "uri": "api\/my-board-group\/{tournament}\/{tournamentEvent}",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "api.tournaments.board-management-tool.matches": {
            "uri": "api\/board-management-tool\/{tournament}\/matches",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api.tournaments.board-management-tool.messages.store": {
            "uri": "api\/board-management-tool\/{tournament}\/messages",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api.tournaments.board-management-tool.messages.update": {
            "uri": "api\/board-management-tool\/{tournament}\/messages\/{tournamentBoardMessage}\/update",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentBoardMessage"],
            "bindings": {
                "tournament": "id",
                "tournamentBoardMessage": "id"
            }
        },
        "api.tournaments.board-management-tool.report-no-show-scorekeeper": {
            "uri": "api\/board-management-tool\/{tournamentEvent}\/report-no-show-scorekeeper\/{tournamentMatch}",
            "methods": ["POST"],
            "parameters": ["tournamentEvent", "tournamentMatch"],
            "bindings": {
                "tournamentEvent": "id",
                "tournamentMatch": "id"
            }
        },
        "api.tournaments.board-management-tool.request-forfeit": {
            "uri": "api\/board-management-tool\/forfeit\/{tournamentEvent}\/request-forfeit\/{tournamentMatch}",
            "methods": ["POST"],
            "parameters": ["tournamentEvent", "tournamentMatch"],
            "bindings": {
                "tournamentEvent": "id",
                "tournamentMatch": "id"
            }
        },
        "api.tournaments.board-management-tool.process-forfeit": {
            "uri": "api\/board-management-tool\/forfeit\/{tournamentEvent}\/process-forfeit\/{tournamentMatch}",
            "methods": ["POST"],
            "parameters": ["tournamentEvent", "tournamentMatch"],
            "bindings": {
                "tournamentEvent": "id",
                "tournamentMatch": "id"
            }
        },
        "api.tournaments.board-management-tool.cancel-forfeit": {
            "uri": "api\/board-management-tool\/forfeit\/{tournamentEvent}\/cancel-forfeit\/{tournamentMatch}",
            "methods": ["POST"],
            "parameters": ["tournamentEvent", "tournamentMatch"],
            "bindings": {
                "tournamentEvent": "id",
                "tournamentMatch": "id"
            }
        },
        "api2.tournament.entries": {
            "uri": "api2\/event\/{tournament}\/entries",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api2.tournament.bracket": {
            "uri": "api2\/event\/{tournament}\/bracket\/{tournamentEvent}",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "api2.tournament.round-robin": {
            "uri": "api2\/event\/{tournament}\/round-robin\/{tournamentEvent}",
            "methods": ["POST"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "api2.event-options": {
            "uri": "api2\/event-options",
            "methods": ["POST"]
        },
        "api2.tournament.matches": {
            "uri": "api2\/event\/{tournament}\/matches",
            "methods": ["POST"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "api2.league.matches": {
            "uri": "api2\/league\/{league}\/matches\/{leagueSeason?}",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api2.league.matches.live": {
            "uri": "api2\/league\/{league}\/matches\/live\/{leagueSeason?}",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api2.league.standings.matches": {
            "uri": "api2\/league\/{league}\/standings\/{leagueSeason}\/matches",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api2.league.standings.players": {
            "uri": "api2\/league\/{league}\/standings\/{leagueSeason}\/players",
            "methods": ["POST"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "api2.rankings.show": {
            "uri": "api2\/rankings\/{ranking}",
            "methods": ["POST"],
            "parameters": ["ranking"],
            "bindings": {
                "ranking": "slug"
            }
        },
        "api2.rankings.players": {
            "uri": "api2\/rankings\/{ranking}\/players\/{player}",
            "methods": ["POST"],
            "parameters": ["ranking", "player"],
            "bindings": {
                "ranking": "slug"
            }
        },
        "api2.wdf-point-table.countries": {
            "uri": "api2\/wdf-point-table-countries\/{wdfPointTable}",
            "methods": ["POST"],
            "parameters": ["wdfPointTable"],
            "bindings": {
                "wdfPointTable": "slug"
            }
        },
        "api2.wdf-point-table.countries.show": {
            "uri": "api2\/wdf-point-table-countries\/{wdfPointTable}\/show",
            "methods": ["POST"],
            "parameters": ["wdfPointTable"],
            "bindings": {
                "wdfPointTable": "slug"
            }
        },
        "home": {
            "uri": "\/",
            "methods": ["GET", "HEAD"]
        },
        "event-categories.show": {
            "uri": "events\/{category}",
            "methods": ["GET", "HEAD"],
            "wheres": {
                "category": "wdf|wsdt|pdc|league|dartconnect|league-event"
            },
            "parameters": ["category"]
        },
        "tournaments.show": {
            "uri": "event\/{tournament}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.matches": {
            "uri": "event\/{tournament}\/matches",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.tvscoreboard": {
            "uri": "event\/{tournament}\/tvscoreboard",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.board-assignments": {
            "uri": "event\/{tournament}\/board-assignments",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.board-calls": {
            "uri": "event\/{tournament}\/board-calls",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.playerboards": {
            "uri": "event\/{tournament}\/playerboards",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.ko-board-groups": {
            "uri": "event\/{tournament}\/ko-board-groups",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.groupboards": {
            "uri": "event\/{tournament}\/groupboards",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.entries": {
            "uri": "event\/{tournament}\/entries",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.confirmation": {
            "uri": "event\/{tournament}\/confirmation",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.performance": {
            "uri": "event\/{tournament}\/performance\/{tournamentEvent}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "tournaments.board-management-tool": {
            "uri": "event\/{tournament}\/board-management-tool",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.state": {
            "uri": "event\/{tournament}\/state\/{topic}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "topic"]
        },
        "tournaments.groups.index": {
            "uri": "event\/{tournament}\/groups",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.groups.show": {
            "uri": "event\/{tournament}\/groups\/{tournamentEvent}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "tournaments.results.index": {
            "uri": "event\/{tournament}\/results",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.results.show": {
            "uri": "event\/{tournament}\/results\/{tournamentEvent}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "tournaments.brackets.index": {
            "uri": "event\/{tournament}\/brackets",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament"],
            "bindings": {
                "tournament": "id"
            }
        },
        "tournaments.brackets.show": {
            "uri": "event\/{tournament}\/brackets\/{tournamentEvent}",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "tournaments.brackets.rotator": {
            "uri": "event\/{tournament}\/brackets\/{tournamentEvent}\/rotator",
            "methods": ["GET", "HEAD"],
            "parameters": ["tournament", "tournamentEvent"],
            "bindings": {
                "tournament": "id",
                "tournamentEvent": "id"
            }
        },
        "rankings.show": {
            "uri": "rankings\/{ranking}",
            "methods": ["GET", "HEAD"],
            "parameters": ["ranking"],
            "bindings": {
                "ranking": "slug"
            }
        },
        "leagues.index": {
            "uri": "leagues",
            "methods": ["GET", "HEAD"]
        },
        "leagues.show": {
            "uri": "league\/{league}",
            "methods": ["GET", "HEAD"],
            "parameters": ["league"],
            "bindings": {
                "league": "id"
            }
        },
        "leagues.tvscoreboard": {
            "uri": "league\/{league}\/tvscoreboard",
            "methods": ["GET", "HEAD"],
            "parameters": ["league"],
            "bindings": {
                "league": "id"
            }
        },
        "leagues.matches": {
            "uri": "league\/{league}\/matches\/{leagueSeason?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.lineups": {
            "uri": "league\/{league}\/lineups\/{leagueSeason?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.seasons.standings": {
            "uri": "league\/{league}\/{leagueSeason}\/standings",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.seasons.tv-scroller": {
            "uri": "league\/{league}\/{leagueSeason}\/tv-scroller",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.seasons.post-season.standings": {
            "uri": "league\/{league}\/{leagueSeason}\/ps\/standings",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.seasons.post-season.brackets": {
            "uri": "league\/{league}\/{leagueSeason}\/ps\/brackets",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id"
            }
        },
        "leagues.seasons.post-season.brackets.show": {
            "uri": "league\/{league}\/{leagueSeason}\/ps\/brackets\/{leagueBracket}",
            "methods": ["GET", "HEAD"],
            "parameters": ["league", "leagueSeason", "leagueBracket"],
            "bindings": {
                "league": "id",
                "leagueSeason": "id",
                "leagueBracket": "id"
            }
        },
        "wdf-world-cup-rankings.index": {
            "uri": "wdf-world-cup-rankings",
            "methods": ["GET", "HEAD"]
        },
        "wdf-europe-cup-youth-2024-rankings.index": {
            "uri": "wdf-europe-cup-youth-2024-rankings",
            "methods": ["GET", "HEAD"]
        },
        "wdf-europe-cup-2024-rankings.index": {
            "uri": "wdf-europe-cup-2024-rankings",
            "methods": ["GET", "HEAD"]
        },
        "wdf-world-cup-rankings.show": {
            "uri": "wdf-rankings\/{wdfPointTable}",
            "methods": ["GET", "HEAD"],
            "parameters": ["wdfPointTable"],
            "bindings": {
                "wdfPointTable": "slug"
            }
        },
        "watch": {
            "uri": "watch",
            "methods": ["GET", "HEAD"]
        },
        "watch2": {
            "uri": "watch2\/{spectatorKey?}\/{type?}\/{tournament?}\/{event?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["spectatorKey", "type", "tournament", "event"]
        },
        "live": {
            "uri": "live\/{spectatorKey?}\/{type?}\/{tournament?}\/{event?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["spectatorKey", "type", "tournament", "event"]
        },
        "watch.league-lineup": {
            "uri": "watch\/league-lineup\/{leagueMatchId}\/{seasonStatus}\/{leagueAmbSetId?}\/{homeScore}\/{awayScore}",
            "methods": ["GET", "HEAD"],
            "parameters": ["leagueMatchId", "seasonStatus", "leagueAmbSetId", "homeScore", "awayScore"]
        },
        "tv-scoreboard": {
            "uri": "tvscoreboard\/{spectatorKey?}\/{type?}\/{tournament?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["spectatorKey", "type", "tournament"]
        },
        "stagescoreboard": {
            "uri": "stagescoreboard\/{spectatorKey?}\/{type?}\/{tournament?}\/{event?}",
            "methods": ["GET", "HEAD"],
            "parameters": ["spectatorKey", "type", "tournament", "event"]
        },
        "register": {
            "uri": "register",
            "methods": ["GET", "HEAD"]
        },
        "login": {
            "uri": "login",
            "methods": ["GET", "HEAD"]
        },
        "verify": {
            "uri": "email\/verify\/{id}\/{hash}",
            "methods": ["GET", "HEAD"],
            "parameters": ["id", "hash"]
        },
        "password.request": {
            "uri": "forgot-password",
            "methods": ["GET", "HEAD"]
        },
        "password.email": {
            "uri": "forgot-password",
            "methods": ["POST"]
        },
        "password.reset": {
            "uri": "reset-password\/{token}",
            "methods": ["GET", "HEAD"],
            "parameters": ["token"]
        },
        "password.store": {
            "uri": "reset-password",
            "methods": ["POST"]
        },
        "membership": {
            "uri": "membership",
            "methods": ["GET", "HEAD"]
        },
        "fan-alerts": {
            "uri": "fan-alerts",
            "methods": ["GET", "HEAD"]
        },
        "notifications": {
            "uri": "notifications",
            "methods": ["GET", "HEAD"]
        },
        "profile": {
            "uri": "profile",
            "methods": ["GET", "HEAD"]
        },
        "password.confirm": {
            "uri": "confirm-password",
            "methods": ["GET", "HEAD"]
        },
        "password.update": {
            "uri": "password",
            "methods": ["PUT"]
        },
        "logout": {
            "uri": "logout",
            "methods": ["POST"]
        }
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment