Swish Analytics ATP Tennis API

The ATP Tennis API from Swish Analytics — 3 operation(s) for atp tennis.

OpenAPI Specification

swish-analytics-atp-tennis-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Swish Analytics Sportsbook ATP Tennis API
  version: v1
  description: 'Machine-learning sportsbook data API from Swish Analytics: player prop pricing, pre-match and in-play match/team markets, bet-request (single and parlay) pricing, and results across NFL, NBA, MLB, NHL, NCAA basketball & football, ATP, WTA and soccer. Derived by the API Evangelist enrichment pipeline from the provider''s live documentation service (docs-api.swishanalytics.com/v1). Content is faithful to published docs; not an authoritative provider-published OpenAPI.'
  termsOfService: https://swishanalytics.com
  contact:
    name: Swish Analytics
    url: https://docs.swishanalytics.com
  x-apievangelist:
    generated: '2026-07-21'
    method: derived
    source: 'https://docs-api.swishanalytics.com/v1 (live documentation service: /markets, /documentation/params, /documentation/response-fields)'
    note: Faithfully derived from Swish Analytics live developer documentation; endpoint list, query parameters and response fields are provider-published. Not an authoritative provider-published OpenAPI.
servers:
- url: https://api.swishanalytics.com
  description: Production
security:
- ApiKey: []
tags:
- name: ATP Tennis
paths:
  /atp/matches/markets/prematch:
    get:
      operationId: getAtpMatchesMarketsPrematch
      summary: Atp Matches Markets Prematch
      tags:
      - ATP Tennis
      security:
      - ApiKey: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  accrued:
                    type: number
                    nullable: true
                    description: Provides the current total value of the specified stat-type generated by the player up to the present moment in the match (not to be used for resulting purposes)
                  balanced:
                    type: boolean
                    description: Provides the value identifying a line for the specified market as either balanced ( true ) or unbalanced ( false )
                  count:
                    type: number
                    description: Provides the total count of markets returned by your request
                  dataConfirmed:
                    type: boolean
                    description: Provides the value identifying the returned results as either confirmed ( true ) or not confirmed ( false )
                  date:
                    type: string
                    description: Provides the UTC date(s) of the event(s) for the specified markets returned by your request
                  description:
                    type: string
                    description: Provides a summary describing the state of the specified market
                  end:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the conclusion of the duration associated with the associated market
                  id:
                    type: number
                    description: Provides the appropriate ID for the specified team, stat-type, market, etc
                  line:
                    type: number
                    nullable: true
                    description: Provides the line offered for the specified markets returned by your request
                  marketSuspended:
                    type: boolean
                    description: Provides the value identifying a market as either suspended ( true ) or not suspended ( false )
                  matchId:
                    type: number
                    description: Provides the ID value of the match associated with the markets returned by your request
                  mean:
                    type: number
                    nullable: true
                    description: Provides the raw mean projection value for the specified markets returned by your request
                  median:
                    type: number
                    nullable: true
                    description: Provides the raw median projection value for the specified markets returned by your request
                  modifiedAt:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in seconds format
                  modifiedAtMicro:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in micro-seconds format
                  name:
                    type: string
                    description: Provides the full name of the specified player or team
                  optimal:
                    type: boolean
                    description: Provides the value identifying a market as either optimal ( true ) or not optimal ( false )
                  over:
                    type: number
                    nullable: true
                    description: Provides the Over outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  season:
                    type: number
                    description: The 4-digit year of the season associated with the specified markets returned by your request. For seasons that span multiple calendar years (eg 2019-2020), the first calendar year is returned
                  settled:
                    type: boolean
                    description: Provides the value identifying the returned result as either settled ( true ) or not settled ( false )
                  sport:
                    type: string
                    description: The 3-letter abbreviation or ID value of the sport associated with the specified markets returned by your request
                  start:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the beginning of the duration associated with the associated market
                  status:
                    type: number
                    description: Provides the value of yes (1) or no (0) for the denoted market status
                  type:
                    type: string
                    description: Provides the description denoting whether the associated market data is for a fractional line or a integer line
                  under:
                    type: number
                    nullable: true
                    description: Provides the Under outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  value:
                    type: number
                    description: Provides the value to be used for resulting and settlement purposes for each market
                  void:
                    type: boolean
                    description: Provides the value identifying the returned result as either voided ( true ) or not voided ( false )
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: game
        in: query
        required: false
        description: The ID value(s) of the event(s) for which you are requesting market data.
        schema:
          type: number
        example: '394580'
      - name: date
        in: query
        required: false
        description: The EST date(s) of the event(s) for which you are requesting market data in YYYY-MM-DD format.
        schema:
          type: string
        example: '2020-01-15'
      - name: modifiedAtMicroGreater
        in: query
        required: false
        description: The UTC timestamp(s) denoting when a market was last updated with new data in micro seconds to be used to request all markets that have been updated at or after the timestamp passed in. Value passed in should always be the max modifiedAtMicro from the most recent payload received.
        schema:
          type: string
        example: '2026-06-15 12:22:38.558000'
      - name: lineType
        in: query
        required: false
        description: Can be used to request only fraction lines or integer lines. Accepts only fraction or integer as values
        schema:
          type: string
        example: fraction
      - name: stat
        in: query
        required: false
        description: The ID value(s) of the statistic(s) for which you are requesting data.
        schema:
          type: number
        example: '7703001004'
      - name: duration
        in: query
        required: false
        description: Can be used to specifically request data for those markets that are at the match-level ( match ) or the set-level ( set ). Please note that this parameter is optional and you do not need to utilize it if you desire all available markets.
        schema:
          type: string
        example: match
  /atp/players/props:
    get:
      operationId: getAtpPlayersProps
      summary: Atp Players Props
      tags:
      - ATP Tennis
      security:
      - ApiKey: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  accrued:
                    type: number
                    nullable: true
                    description: Provides the current total value of the specified stat-type generated by the player up to the present moment in the match for information purposes only and not for resulting purposes
                  balanced:
                    type: boolean
                    description: Provides the value identifying a line for the specified market as either balanced (true) or unbalanced (false)
                  count:
                    type: number
                    description: Provides the total count of markets returned by your request
                  dataConfirmed:
                    type: boolean
                    description: Provides the value identifying the returned results as either confirmed (true) or not confirmed (false)
                  date:
                    type: string
                    description: Provides the UTC date(s) of the event(s) for the specified markets returned by your request
                  description:
                    type: string
                    description: Provides a summary describing the state of the specified market
                  end:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the conclusion of the duration associated with the associated market
                  endpoint:
                    type: string
                    description: Provides the specific endpoint used to make your request to assist in validating requests
                  id:
                    type: string
                    description: Provides the appropriate ID for the specified team, market type, duration, etc
                  line:
                    type: number
                    nullable: true
                    description: Provides the line offered for the specified markets returned by your request
                  marketId:
                    type: string
                    description: Provides the unique value for each specified market
                  marketSuspended:
                    type: boolean
                    description: Provides the value identifying a market as either suspended (true) or not suspended (false)
                  mean:
                    type: number
                    nullable: true
                    description: Provides the raw mean projection value for the specified markets returned by your request
                  median:
                    type: number
                    nullable: true
                    description: Provides the raw median projection value for the specified markets returned by your request
                  modifiedAt:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in seconds format
                  modifiedAtMicro:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in micro-seconds format
                  name:
                    type: string
                    description: Provides the name of the specified market return by your request
                  optimal:
                    type: boolean
                    description: Provides the value identifying a market as either optimal (true) or not optimal (false)
                  over:
                    type: number
                    nullable: true
                    description: Provides the Over outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  playerId:
                    type: number
                    description: Provides the appropriate ID of the player to whom each market belongs as found in the /mlb/players endpoint
                  playerName:
                    type: string
                    description: Provides the name of the player to whom each market belongs as found in the /mlb/players endpoint
                  push:
                    type: number
                    nullable: true
                    description: Provides the Push outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  season:
                    type: number
                    description: The 4-digit year of the season associated with the specified markets returned by your request. For seasons that span multiple calendar years (eg 2019-2020), the first calendar year is returned
                  settled:
                    type: boolean
                    description: Provides the value identifying the returned result as either settled (true) or not settled (false)
                  sport:
                    type: string
                    description: The 3-letter abbreviation of the sport associated with the specified markets returned by your request
                  start:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the beginning of the duration associated with the associated market
                  status:
                    type: number
                    description: Provides the value of yes (1) or no (0) for the denoted market status
                  type:
                    type: string
                    description: Provides the description denoting whether the associated market data is for a fractional line or a integer line
                  under:
                    type: number
                    nullable: true
                    description: Provides the Under outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  value:
                    type: number
                    description: Provides the value to be used for resulting and settlement purposes for each market
                  void:
                    type: boolean
                    description: Provides the value identifying the returned result as either voided (true) or not voided (false)
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: game
        in: query
        required: true
        description: The ID value(s) of the event(s) for which you are requesting schedule data.
        schema:
          type: number
        example: '306813'
      - name: optimal
        in: query
        required: false
        description: Can be used to request markets classified as optimal (true) or not optimal (false)
        schema:
          type: boolean
        example: 'true'
      - name: lineType
        in: query
        required: false
        description: Can be used to request only fractional lines or integer lines.
        schema:
          type: string
        example: fraction
      - name: stat
        in: query
        required: false
        description: The ID value(s) of the statistic(s) for which you are requesting data.
        schema:
          type: number
        example: '700'
      - name: modifiedAtMicroGreater
        in: query
        required: false
        description: The UTC timestamp(s) denoting when a market was last updated with new data in micro seconds to be used to request all markets that have been updated at or after the timestamp passed in. Value passed in should always be the max modifiedAtMicro from the most recent payload received
        schema:
          type: string
        example: '2023-08-10 13:57:09.433966'
      - name: duration
        in: query
        required: false
        description: Can be used to specifically request data for those markets that are at the match-level ( match ) or the set-level ( set ). Please note that this parameter is optional and you do not need to utilize it if you desire all available markets
        schema:
          type: string
        example: match
  /atp/players/props/inplay:
    get:
      operationId: getAtpPlayersPropsInplay
      summary: Atp Players Props Inplay
      tags:
      - ATP Tennis
      security:
      - ApiKey: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  accrued:
                    type: number
                    nullable: true
                    description: Provides the current total value of the specified stat-type generated by the player up to the present moment in the match ( not to be used for resulting purposes)
                  balanced:
                    type: boolean
                    description: Provides the value identifying a line for the specified market as either balanced (true) or unbalanced (false)
                  count:
                    type: number
                    description: Provides the total count of markets returned by your request
                  dataConfirmed:
                    type: boolean
                    description: Provides the value identifying the returned results as either confirmed (true) or not confirmed (false)
                  date:
                    type: string
                    description: Provides the UTC date(s) of the event(s) for the specified markets returned by your request
                  description:
                    type: string
                    description: Provides a summary describing the state of the specified market
                  end:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the conclusion of the duration associated with the associated market
                  endpoint:
                    type: string
                    description: Provides the specific endpoint used to make your request to assist in validating requests
                  id:
                    type: string
                    description: Provides the appropriate ID for the specified team, market type, duration, etc
                  line:
                    type: number
                    nullable: true
                    description: Provides the line offered for the specified markets returned by your request
                  marketId:
                    type: string
                    description: Provides the unique value for each specified market
                  marketSuspended:
                    type: boolean
                    description: Provides the value identifying a market as either suspended (true) or not suspended (false)
                  mean:
                    type: number
                    nullable: true
                    description: Provides the raw mean projection value for the specified markets returned by your request
                  median:
                    type: number
                    nullable: true
                    description: Provides the raw median projection value for the specified markets returned by your request
                  modifiedAt:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in seconds format
                  modifiedAtMicro:
                    type: string
                    description: Provides the UTC date-timestamp identifying when the specified market was last updated with new data in micro-seconds format
                  name:
                    type: string
                    description: Provides the name of the specified market return by your request
                  optimal:
                    type: boolean
                    description: Provides the value identifying a market as either optimal (true) or not optimal (false)
                  over:
                    type: number
                    nullable: true
                    description: Provides the Over outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  playerId:
                    type: string
                    description: Provides the appropriate ID of the player to whom each market belongs as found in the /mlb/players endpoint
                  playerName:
                    type: string
                    description: Provides the name of the player to whom each market belongs as found in the /mlb/players endpoint
                  push:
                    type: number
                    nullable: true
                    description: Provides the Push outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  season:
                    type: number
                    description: The 4-digit year of the season associated with the specified markets returned by your request. For seasons that span multiple calendar years (eg 2019-2020), the first calendar year is returned
                  settled:
                    type: boolean
                    description: Provides the value identifying the returned result as either settled (true) or not settled (false)
                  sport:
                    type: string
                    description: The 3-letter abbreviation of the sport associated with the specified markets returned by your request
                  start:
                    type: number
                    nullable: true
                    description: Provides the integer value denoting the beginning of the duration associated with the associated market
                  status:
                    type: number
                    description: Provides the value of yes (1) or no (0) for the denoted market status
                  type:
                    type: string
                    description: Provides the description denoting whether the associated market data is for a fractional line or a integer line
                  under:
                    type: number
                    nullable: true
                    description: Provides the Under outcome price for the line attached to the specified market expressed as a percentage in decimal form
                  value:
                    type: number
                    description: Provides the value to be used for resulting and settlement purposes for each market
                  void:
                    type: boolean
                    description: Provides the value identifying the returned result as either voided (true) or not voided (false)
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: game
        in: query
        required: true
        description: The ID value(s) of the event(s) for which you are requesting schedule data.
        schema:
          type: number
        example: '306813'
      - name: optimal
        in: query
        required: false
        description: Can be used to request markets classified as optimal (true) or not optimal (false)
        schema:
          type: boolean
        example: 'true'
      - name: lineType
        in: query
        required: false
        description: Can be used to request only fractional lines or integer lines.
        schema:
          type: string
        example: fraction
      - name: stat
        in: query
        required: false
        description: The ID value(s) of the statistic(s) for which you are requesting data.
        schema:
          type: number
        example: '700'
      - name: modifiedAtMicroGreater
        in: query
        required: false
        description: The UTC timestamp(s) denoting when a market was last updated with new data in micro seconds to be used to request all markets that have been updated at or after the timestamp passed in. Value passed in should always be the max modifiedAtMicro from the most recent payload received
        schema:
          type: string
        example: '2023-08-10 13:57:09.433966'
      - name: duration
        in: query
        required: false
        description: Can be used to specifically request data for those markets that are at the match-level ( match ), the set-level ( set ) or the game-level ( game ). Please note that this parameter is optional and you do not need to utilize
        schema:
          type: string
        example: match
components:
  schemas:
    Error:
      type: object
      properties:
        status:
          type: boolean
        endpoint:
          type: string
        error:
          type: object
          properties:
            status:
              type: boolean
            message:
              type: string
            details:
              type: object
        data:
          type: object
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: ApiKey
      description: API key issued via the Swish Analytics developer portal (docs.swishanalytics.com). Managed under the /apikeys endpoints; passed in the ApiKey request header.