Skip to main content
GET
/
bets
/
proposition
Player Props
curl --request GET \
  --url https://v1.basketball.sportsapipro.com/bets/proposition \
  --header 'x-api-key: <api-key>'
{
  "propositions": [
    {
      "athleteId": 123,
      "athleteName": "<string>",
      "team": "<string>",
      "markets": [
        {
          "type": "<string>",
          "line": 123,
          "over": 123,
          "under": 123
        }
      ]
    }
  ]
}

Overview

Returns player-specific betting markets for a game, including goalscorer propositions. Markets are organized by team with individual player odds for first scorer, last scorer, and anytime scorer.

Query Parameters

gameId
integer
required
Unique identifier for the game.
topBookmakerId
integer
default:"14"
Preferred bookmaker ID for odds data.
appTypeId
integer
Application type identifier. Auto-resolved by upstream.
langId
integer
Language identifier. Auto-resolved by upstream.
timezoneName
string
Timezone for date/time values (auto-resolved, or specify e.g., America/New_York).
All startTime fields in game data use ISO 8601 format with a dynamic timezone offset based on the resolved or specified timezone.
userCountryId
integer
User’s country for localization. Auto-resolved by upstream.

Response Structure

propositionBets
array
Array of proposition bet markets.
bookmakers
array
Bookmaker details including branding and links.
athletes
array
Full athlete information for players in props.
lastUpdateId
integer
Current update ID for incremental fetching.
requestedUpdateId
integer
The update ID that was requested (-1 for latest).
ttl
integer
Cache time-to-live in seconds.
sports
array
Sports definitions.
countries
array
Country information.
competitions
array
Competition details.
competitors
array
Team information.
games
array
Game details.

Goalscorer Market Types

OptionDescription
FirstFirst goalscorer of the match
LastLast goalscorer of the match
AnytimeScore at any point during the match

Example Request

curl -X GET "https://v1.football.sportsapipro.com/bets/proposition?gameId=4609055" \
  -H "x-api-key: YOUR_API_KEY"

Example Response

{
  "propositionBets": [
    {
      "id": 1,
      "name": "To Score",
      "lineTypeId": 57,
      "sections": [
        {
          "competitorId": 110,
          "rows": [
            {
              "athleteId": 71578,
              "lineTypeId": 59,
              "secondaryName": "#10, Right Forward",
              "options": [
                {
                  "num": 1,
                  "name": "First",
                  "rate": {
                    "decimal": 10.0,
                    "fractional": "9/1",
                    "american": "+900"
                  },
                  "trend": 2,
                  "isWon": true
                },
                {
                  "num": 1,
                  "name": "Last",
                  "rate": {
                    "decimal": 10.0,
                    "fractional": "9/1",
                    "american": "+900"
                  },
                  "trend": 2,
                  "isWon": false
                },
                {
                  "num": 1,
                  "name": "Anytime",
                  "rate": {
                    "decimal": 3.75,
                    "fractional": "11/4",
                    "american": "+275"
                  },
                  "trend": 2,
                  "isWon": true
                }
              ],
              "hasRecords": false
            }
          ]
        },
        {
          "competitorId": 63,
          "rows": [
            {
              "athleteId": 100680,
              "lineTypeId": 59,
              "secondaryName": "#7, Left Forward",
              "options": [
                {
                  "num": 1,
                  "name": "First",
                  "rate": {
                    "decimal": 13.0,
                    "fractional": "12/1",
                    "american": "+1200"
                  },
                  "trend": 2,
                  "isWon": false
                },
                {
                  "num": 1,
                  "name": "Anytime",
                  "rate": {
                    "decimal": 4.75,
                    "fractional": "7/2",
                    "american": "+375"
                  },
                  "trend": 2,
                  "isWon": false
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "bookmakers": [
    {
      "id": 14,
      "name": "Bet365",
      "link": "https://extra.bet365.com/...",
      "color": "#007B5B",
      "promotionText": "Sign up at bet365 today"
    }
  ],
  "athletes": [
    {
      "id": 71578,
      "name": "Rayan Cherki",
      "shortName": "Cherki",
      "nameForURL": "cherki",
      "clubId": 110,
      "clubName": "Manchester City",
      "nationalityId": 5,
      "imageVersion": 44
    }
  ],
  "lastUpdateId": 5495116431,
  "ttl": 30,
  "sports": [...],
  "countries": [...],
  "competitions": [...],
  "competitors": [...],
  "games": [...]
}

Use Cases

Goalscorer Markets Display

Show player prop markets organized by team with odds for first, last, and anytime scorer.

Player Odds Comparison

Compare odds across players within the same team or across both teams.

Settled Market Analysis

For concluded games, identify winning selections using isWon: true.

Player Images

Use athleteId with the Images API to display player photos alongside odds.

Notes

  • Markets are organized by team (competitorId) in the sections array
  • Use the athletes array to get full player details (name, club, nationality)
  • The secondaryName provides quick player info (shirt number, position)
  • For concluded matches, isWon indicates successful betting outcomes
  • Odds are provided in decimal, fractional, and american formats

Troubleshooting

Empty Response

If you receive a response with an empty propositionBets array:
{
  "lastUpdateId": 5546350228,
  "requestedUpdateId": -1,
  "ttl": 30
}
This indicates no proposition markets are available for this game. This is normal and can happen when:
  • The game hasn’t started yet (props may appear closer to kickoff)
  • The game has ended (markets are settled and removed)
  • The league/competition doesn’t support player props
  • Bookmakers haven’t published props for this specific match

Checking Data Availability

const response = await fetch(
  'https://v1.football.sportsapipro.com/bets/proposition?gameId=4609055',
  { headers: { 'x-api-key': 'YOUR_API_KEY' } }
);
const data = await response.json();

if (!data.propositionBets || data.propositionBets.length === 0) {
  console.log('No player props available for this game');
  // Handle gracefully - show message or hide props section
} else {
  // Process props normally
}

Coverage Notes

League/CompetitionProp Coverage
Premier LeagueGood coverage for major matches
La Liga, Serie A, BundesligaGood coverage for major matches
Champions LeagueStrong coverage
Lower/domestic leaguesLimited or no coverage
Props coverage is actively expanding. If a game doesn’t have props now, check back closer to kickoff or try a higher-profile match.

Authorizations

x-api-key
string
header
required

Your SportsAPI Pro API key

Query Parameters

gameId
integer
required

Game ID

Example:

12345

athleteId
integer

Filter by specific player ID

Response

200 - application/json

Player props retrieved successfully

propositions
object[]