Skip to content

Coach analysis

Read scoreboard patterns for a player from the matches you stored. Send set scores (and optionally game order) on ingest; these endpoints return fields you can show in a club or coach UI.

Plan: Requires Pro or Enterprise. Starter receives HTTP 403 plan_forbidden.

What to send on ingest

A final set of 6-4 does not record whether the set opened 4-0 or 0-4. Optional game_winners on each set is the chronological list of "A" / "B" games. Length must equal team_a_games + team_b_games. Optional first_server_team is who served game 1 of the set.

GET /v1/players/{username}/analysis

Scope: read:intelligence. Query: limit (1–100, default 50), offset, since (ISO-8601), optional competition_type.

cURL
curl -s "https://api.padelrank.me/v1/players/maria_s/analysis?limit=50" \
    -H "Authorization: Bearer $PADELRANK_API_KEY"

Response fields you can bind in a UI:

  • outcomes — wins, losses, streaks, win rate (null until enough matches)
  • set_patterns — first vs later sets, close vs blowout, deciding sets, comebacks
  • momentum — present when you stored game_winners
  • form — recent results vs the previous stretch
  • court, serve_return, contexts — side, serve vs return (needs first_server_team), social vs league
  • consistency_index — optional 0–100 summary for coaching UIs (not a second rating)
  • insights — code, coach-facing title / detail, and capped evidence (match id, set, scoreline)

Use insights[].code as stable keys in your product. Treat title and detail as copy you can display as-is.

cURL
starts_strong_then_fades
slow_starter
closes_sets_poorly
first_set_then_drop_off
struggles_in_deciders
comeback_mentality
improving_form
declining_form
stronger_on_serve
stronger_on_return
court_side_split
struggles_vs_stronger
long_match_drop_off
submit_game_order
insufficient_sample

GET /v1/players/{username}/progress

Scope: read:players. PadelRank score over time with 7 / 30 / 90 day nets. Only public score fields are returned.

cURL
curl -s "https://api.padelrank.me/v1/players/maria_s/progress" \
    -H "Authorization: Bearer $PADELRANK_API_KEY"

GET /v1/players/{username}/head-to-head/{opponent}

Wins, losses, and recent scorelines between two different players on opposite teams.

cURL
curl -s "https://api.padelrank.me/v1/players/maria_s/head-to-head/ana_r" \
    -H "Authorization: Bearer $PADELRANK_API_KEY"

GET /v1/players/{username}/matches

Scope: read:players. Match-by-match feed. Same paging as analysis. Each row includes set scores, optional game order, participants, and per-match signals you can store in your own coaching database.

cURL
curl -s "https://api.padelrank.me/v1/players/maria_s/matches?limit=20" \
    -H "Authorization: Bearer $PADELRANK_API_KEY"

Privacy

Public profiles are readable by any partner. Private profiles are readable only if your partner created them or they sit on one of your rosters. You can only roster a private player that you created. Opponent usernames and profile ids are omitted unless that opponent is public or readable by you.