Search SuperCoach Teams¶
Handler: SearchSupercoachTeamsQueryHandler
File: src/Apps/Ballr.WebApi/Integration/SuperCoachTeam/Queries/SearchSupercoachTeamsQueryHandler.cs
Query: SearchSupercoachTeamsQuery
Response: SupercoachTeamSearchResult
Summary¶
Searches SuperCoach teams by name across a given sport, season, and game type. Returns matching teams ordered by overall position ascending (best-ranked first). Supports pagination via Skip and Take.
Query Inputs¶
| Property | Type | Required | Description |
|---|---|---|---|
SearchTerm |
string | Yes | Partial team name or owner first name to search for |
Season |
string | Yes | Season year (e.g., "2026") |
Sport |
string | Yes | Competition/sport code (e.g., "nrl") |
GameType |
string | Yes | Game type (e.g., "classic") |
Skip |
int | Yes | Number of results to skip (for pagination) |
Take |
int | Yes | Maximum number of results to return |
Example Request Body¶
{
"query": {
"queryType": "SearchSupercoachTeams",
"searchTerm": "raiders",
"sport": "nrl",
"season": "2026",
"gameType": "classic",
"skip": 0,
"take": 25
},
"skip": 0,
"take": null
}
Response Shape¶
Returns a list of SupercoachTeamSearchResult objects:
| Field | Type | Description |
|---|---|---|
TeamId |
long | External SuperCoach team ID |
UserId |
long | External SuperCoach user ID |
TeamName |
string | Name of the SuperCoach team |
UserFirstName |
string | First name of the team owner |
OverallRank |
long | Overall competition rank (lower is better) |
TotalPoints |
int | Cumulative fantasy points up to and including the latest round |
Pagination¶
Use Skip and Take to paginate through results. For example, to fetch the second page of 25 results set Skip to 25 and Take to 25.
Sample Response¶
{
"data": [
{
"teamId": 21727,
"userId": 1612676,
"teamName": "Raiders FTW",
"userFirstName": "Kim",
"overallRank": 2891,
"totalPoints": 10814
},
{
"teamId": 100397,
"userId": 2112380,
"teamName": "Raiders baby",
"userFirstName": "bradley",
"overallRank": 3979,
"totalPoints": 10766
},
{
"teamId": 12728,
"userId": 726776,
"teamName": "Raiders",
"userFirstName": "Andrew",
"overallRank": 4063,
"totalPoints": 10763
},
{
"teamId": 57542,
"userId": 185471,
"teamName": "RaidersofParradise",
"userFirstName": "Dean",
"overallRank": 4157,
"totalPoints": 10759
},
{
"teamId": 14028,
"userId": 1805752,
"teamName": "Raiders2026",
"userFirstName": "Tim",
"overallRank": 5780,
"totalPoints": 10708
},
{
"teamId": 96653,
"userId": 1821416,
"teamName": "Raiders Redemption",
"userFirstName": "Dylan",
"overallRank": 8672,
"totalPoints": 10631
},
{
"teamId": 29562,
"userId": 679530,
"teamName": "Raidersdunnwell",
"userFirstName": "Sean",
"overallRank": 9156,
"totalPoints": 10620
},
{
"teamId": 29436,
"userId": 1724159,
"teamName": "Raiders dream team",
"userFirstName": "Martyn",
"overallRank": 11214,
"totalPoints": 10578
},
{
"teamId": 22388,
"userId": 1021687,
"teamName": "Raiders Milk ",
"userFirstName": "Mitchell",
"overallRank": 16539,
"totalPoints": 10488
},
{
"teamId": 10908,
"userId": 2047524,
"teamName": "RaidersNRL",
"userFirstName": "Subscriber",
"overallRank": 17816,
"totalPoints": 10468
},
{
"teamId": 10064,
"userId": 1937625,
"teamName": "Raiders",
"userFirstName": "debbie",
"overallRank": 18442,
"totalPoints": 10459
},
{
"teamId": 6428,
"userId": 2028302,
"teamName": "Raidersrwashed",
"userFirstName": "jaxon",
"overallRank": 19013,
"totalPoints": 10450
},
{
"teamId": 31063,
"userId": 1687601,
"teamName": "Raiders",
"userFirstName": "Brad",
"overallRank": 19282,
"totalPoints": 10446
},
{
"teamId": 72196,
"userId": 2101339,
"teamName": "Raiders96",
"userFirstName": "josh",
"overallRank": 22207,
"totalPoints": 10403
},
{
"teamId": 144059,
"userId": 767390,
"teamName": "Raiders94",
"userFirstName": "J",
"overallRank": 23864,
"totalPoints": 10379
},
{
"teamId": 69665,
"userId": 746757,
"teamName": "Raiders4life",
"userFirstName": "andrew",
"overallRank": 24203,
"totalPoints": 10375
},
{
"teamId": 48410,
"userId": 345048,
"teamName": "Raiders",
"userFirstName": "Matt",
"overallRank": 24696,
"totalPoints": 10369
},
{
"teamId": 108310,
"userId": 1328934,
"teamName": "Raiders 13+",
"userFirstName": "Nathan",
"overallRank": 25445,
"totalPoints": 10359
},
{
"teamId": 20195,
"userId": 2056167,
"teamName": "Raiders House",
"userFirstName": "Pallav",
"overallRank": 26584,
"totalPoints": 10344
},
{
"teamId": 52427,
"userId": 1086173,
"teamName": "Raiders Redheads",
"userFirstName": "John",
"overallRank": 31008,
"totalPoints": 10285
},
{
"teamId": 106037,
"userId": 1668448,
"teamName": "RaidersForever",
"userFirstName": "Philip",
"overallRank": 35126,
"totalPoints": 10231
},
{
"teamId": 35638,
"userId": 1069525,
"teamName": "Raiders",
"userFirstName": "Reg",
"overallRank": 38417,
"totalPoints": 10190
},
{
"teamId": 5978,
"userId": 1876317,
"teamName": "Raiders",
"userFirstName": "mahmood",
"overallRank": 40514,
"totalPoints": 10163
},
{
"teamId": 1336,
"userId": 1526781,
"teamName": "Raiders",
"userFirstName": "benji",
"overallRank": 43035,
"totalPoints": 10131
},
{
"teamId": 143390,
"userId": 1841857,
"teamName": "Raiders",
"userFirstName": "Will",
"overallRank": 44264,
"totalPoints": 10115
}
],
"totalCount": 25,
"skip": 0,
"take": 25
}
SDK Types¶
When consuming this query from the frontend, use the following types from @luckboxstudios/foundry-sdk:
| Import | Type | Purpose |
|---|---|---|
@luckboxstudios/foundry-sdk |
SearchSupercoachTeams |
Query input interface |
@luckboxstudios/foundry-sdk |
SupercoachTeamSearchResult |
Response item interface |
@luckboxstudios/foundry-sdk/ballr |
ballrQueries.searchSupercoachTeams(...) |
Builder function (sets queryType automatically) |
Usage Example¶
import type { SearchSupercoachTeams, SupercoachTeamSearchResult } from '@luckboxstudios/foundry-sdk';
import { ballrQueries } from '@luckboxstudios/foundry-sdk/ballr';
const query = ballrQueries.searchSupercoachTeams({
searchTerm: 'raiders',
sport: 'nrl',
season: '2026',
gameType: 'classic',
skip: 0,
take: 25
});
const response = await client.query<SearchSupercoachTeams, SupercoachTeamSearchResult[]>(query);
Notes¶
SearchTermmatches against bothTeamNameandUserFirstNameusing a case-insensitive prefix match.- The round is automatically resolved to the latest available round for the given season, sport, and game type — it is not an input parameter.
OverallRankis the team's position within the competition for that round — not a page-relative rank.- Results are ordered by
OverallRankascending (best-ranked teams first). - Rows with a
TeamIdof0are filtered out before returning results.