api-ninjas-com Basketball API

NBA, WNBA and Division I men's and women's college basketball schedules, live and final scores, standings, college polls, teams and rosters. The free plan covers the current season and masks scores, period and clock of games in progress; paid plans get live data and the three previous seasons; the Business tier and above gets the full season archive.

Operations 4

GET /v1/basketballgames Get schedules, live scores and final scores #
GET /v1/basketballstandings Get league standings #
GET /v1/basketballteams List teams #
GET /v1/basketballplayers Get rosters and player profiles #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/api-ninjas-com:api-ninjas-com-basketball-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

api-ninjas-com-basketball-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ninjas Basketball API
  description: 'Combined OpenAPI specification for every API Ninjas endpoint. Requests go to https://api.api-ninjas.com with an `X-Api-Key` header; get a free key at https://api-ninjas.com/register. Human-readable docs: https://api-ninjas.com/api. Index for LLMs: https://api-ninjas.com/llms.txt.'
  version: 1.0.0
  contact:
    name: API Ninjas
    url: https://api-ninjas.com
  license:
    name: Proprietary
servers:
- url: https://api.api-ninjas.com
  description: API Ninjas Production
security:
- ApiKeyAuth: []
tags:
- name: Basketball
  description: NBA, WNBA and Division I men's and women's college basketball schedules, live and final scores, standings, college polls, teams and rosters. The free plan covers the current season and masks scores, period and clock of games in progress; paid plans get live data and the three previous seasons; the Business tier and above gets the full season archive.
paths:
  /v1/basketballgames:
    get:
      summary: Get schedules, live scores and final scores
      description: Returns games for one day, a team's season, a season (50 per page; use offset, or limit on paid plans) or one game id. With only league, returns today's games in the league's home time zone.
      operationId: getBasketballGames
      parameters:
      - name: league
        in: query
        required: false
        description: nba, wnba, ncaab (men's college) or ncaaw (women's college).
        schema:
          type: string
          example: nba
          enum:
          - nba
          - wnba
          - ncaab
          - ncaaw
      - name: date
        in: query
        required: false
        description: 'Game day in the league''s home time zone (YYYY-MM-DD): US Eastern for the US leagues and MLS, UK time for the Premier League, Central European time for the other European competitions.'
        schema:
          type: string
          example: '2026-10-22'
      - name: team
        in: query
        required: false
        description: 'Team id, abbreviation or name: that team''s games in the season.'
        schema:
          type: string
          example: BOS
      - name: season
        in: query
        required: false
        description: Season as the year it starts (2026 = 2026-27 for seasons that span two years). Defaults to the current season.
        schema:
          type: integer
          example: 2026
      - name: season_type
        in: query
        required: false
        description: Only this part of the season.
        schema:
          type: string
          enum:
          - preseason
          - regular
          - cup_final
          - play_in
          - conference_tournament
          - postseason
      - name: status
        in: query
        required: false
        description: Only games with this status.
        schema:
          type: string
          enum:
          - scheduled
          - in_progress
          - final
          - postponed
          - canceled
          - suspended
          - delayed
      - name: game_id
        in: query
        required: false
        description: Return one game.
        schema:
          type: string
          example: nba-20261022-cle-phi
      - name: limit
        in: query
        required: false
        description: Results per page (1-500). Premium only. Default 50.
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        description: Results to skip, for paging.
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasketballGame'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketballError'
      security:
      - ApiKeyAuth: []
      tags:
      - Basketball
  /v1/basketballstandings:
    get:
      summary: Get league standings
      description: Returns the league table for a season, ordered by league rank, or by conference or division rank when filtered. College tables come conference by conference; with poll, college leagues return a weekly poll (rank, team, previous_rank, points, first_place_votes) instead.
      operationId: getBasketballStandings
      parameters:
      - name: league
        in: query
        required: true
        description: nba, wnba, ncaab (men's college) or ncaaw (women's college).
        schema:
          type: string
          example: nba
          enum:
          - nba
          - wnba
          - ncaab
          - ncaaw
      - name: season
        in: query
        required: false
        description: Season as the year it starts. Defaults to the current season.
        schema:
          type: integer
          example: 2026
      - name: conference
        in: query
        required: false
        description: Only this conference, e.g. AFC, Eastern or AL.
        schema:
          type: string
      - name: division
        in: query
        required: false
        description: Only this division, e.g. AFC East, Atlantic or NL West.
        schema:
          type: string
          example: Atlantic
      - name: poll
        in: query
        required: false
        description: 'College: return this weekly poll instead of the table: ap, coaches (ap = AP Top 25, coaches = Coaches Poll).'
        schema:
          type: string
          enum:
          - ap
          - coaches
      - name: week
        in: query
        required: false
        description: 'With poll: a week number of the season, or final for the final poll. Defaults to the latest.'
        schema:
          type: string
          example: '10'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasketballStanding'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketballError'
      security:
      - ApiKeyAuth: []
      tags:
      - Basketball
  /v1/basketballteams:
    get:
      summary: List teams
      description: Lists the teams with league, conference, division and home venue.
      operationId: getBasketballTeams
      parameters:
      - name: league
        in: query
        required: false
        description: nba, wnba, ncaab (men's college) or ncaaw (women's college).
        schema:
          type: string
          example: nba
          enum:
          - nba
          - wnba
          - ncaab
          - ncaaw
      - name: team
        in: query
        required: false
        description: 'Team id, abbreviation or name: one team.'
        schema:
          type: string
          example: BOS
      - name: conference
        in: query
        required: false
        description: Only teams in this conference.
        schema:
          type: string
      - name: division
        in: query
        required: false
        description: Only teams in this division.
        schema:
          type: string
      - name: active
        in: query
        required: false
        description: false lists former teams that appear in past seasons.
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasketballTeam'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketballError'
      security:
      - ApiKeyAuth: []
      tags:
      - Basketball
  /v1/basketballplayers:
    get:
      summary: Get rosters and player profiles
      description: Returns current rosters and player profiles. Provide league with team or name, or a player_id.
      operationId: getBasketballPlayers
      parameters:
      - name: league
        in: query
        required: false
        description: nba, wnba, ncaab (men's college) or ncaaw (women's college).
        schema:
          type: string
          example: nba
          enum:
          - nba
          - wnba
          - ncaab
          - ncaaw
      - name: team
        in: query
        required: false
        description: 'Team id, abbreviation or name: the team''s current roster.'
        schema:
          type: string
          example: BOS
      - name: name
        in: query
        required: false
        description: Full or partial player name (case and accent insensitive).
        schema:
          type: string
      - name: player_id
        in: query
        required: false
        description: Return one player.
        schema:
          type: string
      - name: position
        in: query
        required: false
        description: Only this position, e.g. G.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Results per page (1-500). Premium only. Default 50.
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        description: Results to skip, for paging.
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasketballPlayer'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasketballError'
      security:
      - ApiKeyAuth: []
      tags:
      - Basketball
components:
  schemas:
    BasketballGame:
      type: object
      properties:
        game_id:
          type: string
          example: nba-20261022-cle-phi
          description: Unique, permanent id of the game.
        league:
          type: string
          enum:
          - nba
          - wnba
        sport:
          type: string
          enum:
          - basketball
        season:
          type: integer
          example: 2026
          description: Year the season starts.
        season_label:
          type: string
          example: 2026-27
        season_type:
          type: string
          enum:
          - preseason
          - regular
          - cup_final
          - play_in
          - conference_tournament
          - postseason
        date:
          type: string
          format: date
          description: Game day in US Eastern time.
        start_time:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - scheduled
          - in_progress
          - final
          - postponed
          - canceled
          - suspended
          - delayed
        status_detail:
          type:
          - string
          - 'null'
          description: 'While a game is in progress: halftime or end_of_period. While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.'
        period:
          type:
          - integer
          - 'null'
          description: Current or last quarter played; overtime periods continue the count. While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.
        clock:
          type:
          - string
          - 'null'
          description: Time left in the quarter while in progress. While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.
        home_team:
          $ref: '#/components/schemas/BasketballTeamRef'
        away_team:
          $ref: '#/components/schemas/BasketballTeamRef'
        home_score:
          type:
          - integer
          - 'null'
          description: While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.
        away_score:
          type:
          - integer
          - 'null'
          description: While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.
        period_scores:
          type:
          - object
          - 'null'
          description: Points per quarter, with each overtime period. While a game is in progress, the free plan receives the string "This field is for premium subscribers only." instead.
          properties:
            home:
              type: array
              items:
                type: integer
            away:
              type: array
              items:
                type: integer
        decided_in:
          type:
          - string
          - 'null'
          enum:
          - regulation
          - overtime
          - null
        winner:
          type:
          - string
          - 'null'
          description: team_id of the winner of a final game; null before then.
        venue:
          $ref: '#/components/schemas/BasketballVenue'
        event:
          type:
          - string
          - 'null'
          description: 'College only: tournament, bowl or round, e.g. Big East Tournament - Quarterfinal or NCAA Men''s Basketball Championship - West Region - 1st Round.'
        conference_game:
          type: boolean
          description: 'College only: true when the game counts in the conference standings.'
        neutral_site:
          type: boolean
        original_date:
          type:
          - string
          - 'null'
          format: date
          description: First scheduled date of a moved game.
        updated_at:
          type: string
          format: date-time
    BasketballVenue:
      type:
      - object
      - 'null'
      properties:
        name:
          type: string
        city:
          type:
          - string
          - 'null'
        state:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
          description: ISO 3166-1 alpha-2
    BasketballTeam:
      type: object
      properties:
        team_id:
          type: string
          example: nba-bos
        league:
          type: string
          enum:
          - nba
          - wnba
        sport:
          type: string
          enum:
          - basketball
        abbreviation:
          type: string
        name:
          type: string
        school:
          type: string
          description: 'College: the school name, e.g. Duke.'
        state:
          type:
          - string
          - 'null'
          description: 'College: state of the home venue.'
        nickname:
          type: string
        city:
          type: string
        conference:
          type: string
        division:
          type: string
        venue:
          $ref: '#/components/schemas/BasketballVenue'
        active:
          type: boolean
    BasketballError:
      type: object
      properties:
        error:
          type: string
    BasketballTeamRef:
      type: object
      properties:
        team_id:
          type: string
          example: nba-bos
          description: Team id, e.g. nba-bos.
        name:
          type: string
        abbreviation:
          type: string
          example: BOS
        rank:
          type:
          - integer
          - 'null'
          description: 'College games only: Top 25 rank at game time (AP poll), null when unranked.'
        seed:
          type:
          - integer
          - 'null'
          description: 'College games only: seed in NCAA tournament games.'
    BasketballPlayer:
      type: object
      properties:
        player_id:
          type: string
          description: Permanent id; it stays the same when a player changes teams.
        league:
          type: string
          enum:
          - nba
          - wnba
        team:
          allOf:
          - $ref: '#/components/schemas/BasketballTeamRef'
        name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        position:
          type: string
        jersey_number:
          type:
          - string
          - 'null'
        height_in:
          type:
          - integer
          - 'null'
        height_cm:
          type:
          - integer
          - 'null'
        weight_lb:
          type:
          - integer
          - 'null'
        weight_kg:
          type:
          - integer
          - 'null'
        birth_date:
          type:
          - string
          - 'null'
          format: date
        birth_place:
          type:
          - object
          - 'null'
          properties:
            city:
              type:
              - string
              - 'null'
            state:
              type:
              - string
              - 'null'
            country:
              type:
              - string
              - 'null'
        roster_status:
          type: string
          example: active
        college:
          type: string
        experience_years:
          type: integer
        class_year:
          type: string
          enum:
          - freshman
          - sophomore
          - junior
          - senior
          - graduate
          description: 'College: class year.'
    BasketballStanding:
      type: object
      description: Fields that do not apply to a league are omitted.
      properties:
        league:
          type: string
          enum:
          - nba
          - wnba
        sport:
          type: string
          enum:
          - basketball
        season:
          type: integer
        season_label:
          type: string
        team:
          $ref: '#/components/schemas/BasketballTeamRef'
        conference:
          type:
          - string
          - 'null'
          description: Conference, Eastern or Western.
        division:
          type:
          - string
          - 'null'
        games_played:
          type: integer
        wins:
          type: integer
        losses:
          type: integer
        win_pct:
          type: number
        games_behind:
          type: number
        points_for:
          type: integer
        points_against:
          type: integer
        point_differential:
          type: integer
        streak:
          type: string
          example: W2
        home_record:
          type: string
        away_record:
          type: string
        division_record:
          type: string
        conference_record:
          type: string
        conference_win_pct:
          type:
          - number
          - 'null'
          description: 'College: winning percentage in conference games.'
        last_10:
          type: string
        league_rank:
          type: integer
        conference_rank:
          type: integer
        division_rank:
          type: integer
        final:
          type: boolean
        poll:
          type: string
          enum:
          - ap
          - coaches
          description: 'With poll: which poll.'
        poll_name:
          type: string
          example: AP Top 25
        week:
          type:
          - integer
          - 'null'
          description: 'With poll: week of the season; null for the final poll.'
        date:
          type: string
          format: date
          description: 'With poll: release date.'
        rank:
          type: integer
          description: 'With poll: rank in the poll.'
        previous_rank:
          type:
          - integer
          - 'null'
        points:
          type:
          - integer
          - 'null'
        first_place_votes:
          type:
          - integer
          - 'null'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
externalDocs:
  description: API Ninjas documentation
  url: https://api-ninjas.com/api