Genius Sports Organization API

Leagues, competitions, clubs, teams

Operations 6

GET /v1/leagues List leagues #
GET /v1/leagues/{leagueId} Get a league #
GET /v1/competitions List competitions #
GET /v1/competitions/{competitionId} Get a competition #
GET /v1/teams List teams #
GET /v1/teams/{teamId} Get a team #

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/genius-sports-organization-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

genius-sports-organization-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Genius Sports Data Warehouse REST Organization API
  description: 'Genius Sports REST API for querying past and future information regarding

    matches, players, statistics, venues, and organizations across basketball,

    3x3, football (soccer), volleyball, American football, and ice hockey.

    Authenticated with an x-api-key header issued to partners.

    '
  version: 1.0.0
  contact:
    name: Genius Sports Developer Centre
    url: https://developer.geniussports.com/
servers:
- url: https://api.wh.geniussports.com
  description: Data Warehouse
security:
- apiKey: []
tags:
- name: Organization
  description: Leagues, competitions, clubs, teams
paths:
  /v1/leagues:
    get:
      tags:
      - Organization
      summary: List leagues
      operationId: listLeagues
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Format'
      responses:
        '200':
          description: Leagues envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
  /v1/leagues/{leagueId}:
    parameters:
    - $ref: '#/components/parameters/LeagueId'
    get:
      tags:
      - Organization
      summary: Get a league
      operationId: getLeague
      responses:
        '200':
          description: League envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
  /v1/competitions:
    get:
      tags:
      - Organization
      summary: List competitions
      operationId: listCompetitions
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          description: Competitions envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
  /v1/competitions/{competitionId}:
    parameters:
    - $ref: '#/components/parameters/CompetitionId'
    get:
      tags:
      - Organization
      summary: Get a competition
      operationId: getCompetition
      responses:
        '200':
          description: Competition envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
  /v1/teams:
    get:
      tags:
      - Organization
      summary: List teams
      operationId: listTeams
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          description: Teams envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
  /v1/teams/{teamId}:
    parameters:
    - $ref: '#/components/parameters/TeamId'
    get:
      tags:
      - Organization
      summary: Get a team
      operationId: getTeam
      responses:
        '200':
          description: Team envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEnvelope'
components:
  parameters:
    Offset:
      name: offset
      in: query
      description: Skip the first N records
      schema:
        type: integer
        default: 0
    CompetitionId:
      name: competitionId
      in: path
      required: true
      schema:
        type: string
    Format:
      name: format
      in: query
      description: Response format
      schema:
        type: string
        enum:
        - json
        - xml
        default: json
    Limit:
      name: limit
      in: query
      description: Record limit (default 10, maximum 500)
      schema:
        type: integer
        default: 10
        maximum: 500
    Fields:
      name: fields
      in: query
      description: Comma-separated list of fields to return
      schema:
        type: string
    LeagueId:
      name: leagueId
      in: path
      required: true
      schema:
        type: string
    TeamId:
      name: teamId
      in: path
      required: true
      schema:
        type: string
  schemas:
    ResponseEnvelope:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          oneOf:
          - type: object
          - type: array
            items:
              type: object
    ResponseMeta:
      type: object
      properties:
        version:
          type: string
        code:
          type: integer
        status:
          type: string
          enum:
          - success
          - failure
        request:
          type: string
        time:
          type: integer
        count:
          type: integer
        limit:
          type: integer
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key identifying the caller (deprecated ak query parameter also supported)