openapi: 3.1.0 info: title: Stats Perform STATS Editorial Teams API description: The STATS API from Stats Perform provides a comprehensive REST interface for accessing sports data across American Football (NFL, NCAAF), Baseball (MLB, MiLB), Basketball (NBA, NCAAB), Hockey (NHL), Soccer (MLS, EPL, Champions League), Golf (PGA), and Tennis (ATP, WTA). The API provides live scores, box scores, standings, schedules, player and team statistics, play-by-play data, editorial content, photos, and historical records. Authentication requires an API key and a secret for HMAC signing. version: 1.0.0 contact: name: Stats Perform Support email: help@support.statsperform.com url: https://developer.stats.com/ termsOfService: https://www.statsperform.com/ servers: - url: https://api.stats.com/v1 description: Stats Perform STATS API security: - statsApiKey: [] tags: - name: Teams description: Retrieve team rosters, statistics, and metadata for all supported sports and leagues. paths: /stats/{sport}/{leaguePath}/teams/: get: operationId: listTeams summary: List Teams description: Returns a list of all teams in a league including team IDs, names, abbreviations, and conference/division information. tags: - Teams parameters: - $ref: '#/components/parameters/SportParam' - $ref: '#/components/parameters/LeaguePathParam' - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: List of teams content: application/json: schema: type: object properties: apiResults: type: array items: $ref: '#/components/schemas/Team' '401': $ref: '#/components/responses/Unauthorized' /stats/{sport}/{leaguePath}/teams/{teamId}: get: operationId: getTeam summary: Get Team description: Returns detailed information about a specific team including roster, season statistics, and team metadata. tags: - Teams parameters: - $ref: '#/components/parameters/SportParam' - $ref: '#/components/parameters/LeaguePathParam' - name: teamId in: path required: true schema: type: string description: The unique team identifier. - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: Team details content: application/json: schema: $ref: '#/components/schemas/Team' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: parameters: LeaguePathParam: name: leaguePath in: path required: true schema: type: string description: The league path identifier (e.g., nfl, mlb, nba, nhl, epl, pga, atp). ApiKeyParam: name: api_key in: query required: true schema: type: string description: Your Stats Perform API key. SportParam: name: sport in: path required: true schema: type: string enum: - football - baseball - basketball - hockey - soccer - golf - tennis description: The sport category. schemas: Team: type: object description: A sports team. properties: teamId: type: string description: Unique team identifier. name: type: string description: Full team name. abbreviation: type: string description: Team abbreviation. city: type: string description: Team city. conference: type: string description: Conference the team belongs to. division: type: string description: Division the team belongs to. logoUrl: type: string format: uri description: URL to the team logo. responses: NotFound: description: Resource not found content: application/json: schema: type: object properties: message: type: string Unauthorized: description: Missing or invalid API key content: application/json: schema: type: object properties: message: type: string securitySchemes: statsApiKey: type: apiKey in: query name: api_key description: API key assigned by Stats Perform. An API secret is also assigned for HMAC request signing. externalDocs: description: STATS API Developer Portal url: https://developer.stats.com/docs/get_started