Swish Analytics Soccer API
The Soccer API from Swish Analytics — 8 operation(s) for soccer.
The Soccer API from Swish Analytics — 8 operation(s) for soccer.
openapi: 3.1.0
info:
title: Swish Analytics Sportsbook ATP Tennis Soccer 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: Soccer
paths:
/soccer/matches/markets/inplay:
get:
operationId: getSoccerMatchesMarketsInplay
summary: Soccer Matches Markets Inplay
tags:
- Soccer
security:
- ApiKey: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
abbr:
type: string
description: Provides the 3-letter abbreviation for the specified home or away team
abbreviation:
type: string
description: Provides the appropriate abbreviation for the specified market duration
awaySummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and away team
balanced:
type: boolean
description: Provides the value identifying a line for the specified market as either balanced (1) or unballanced (0)
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 text-snippet denoting the state of the market, status, etc
endpoint:
type: string
description: Provides the specific endpoint used to make your request to assist in validating requests
homeSummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and home team
id:
type: number
description: Provides the appropriate ID for the specified team, market type, 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
micro:
type: string
description: Provides the UTC timestamp in a micro-seconds format denoting when the associated market was last updated with new data
optimal:
type: boolean
description: Provides the value identifying a line for the specified market as either optimal (1) or not optimal (0)
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
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
seconds:
type: string
description: Provides the UTC timestamp in a seconds format denoting when the associated market was last updated with new data
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
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 of the event for which you are requesting market data. Accepts only a single value
schema:
type: number
example: '361140'
- 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. Accepts multiple, comma-separated values
schema:
type: number
example: '9001001002'
- 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-03-09 21:40:27.930075'
/soccer/matches/markets/inplay/alternates:
get:
operationId: getSoccerMatchesMarketsInplayAlternates
summary: Soccer Matches Markets Inplay Alternates
tags:
- Soccer
security:
- ApiKey: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
abbr:
type: string
description: Provides the 3-letter abbreviation for the specified home or away team
abbreviation:
type: string
description: Provides the appropriate abbreviation for the specified market duration
awaySummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and away team
balanced:
type: boolean
description: Provides the value identifying a line for the specified market as either balanced (1) or unballanced (0)
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 text-snippet denoting the state of the market, status, etc
endpoint:
type: string
description: Provides the specific endpoint used to make your request to assist in validating requests
homeSummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and home team
id:
type: number
description: Provides the appropriate ID for the specified team, market type, 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
micro:
type: string
description: Provides the UTC timestamp in a micro-seconds format denoting when the associated market was last updated with new data
milestone:
type: number
description: Provides the value identifying a specified line as either a designated milestone line (1) or not a milestone line (0)
optimal:
type: boolean
description: Provides the value identifying a line for the specified market as either optimal (1) or not optimal (0)
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
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
seconds:
type: string
description: Provides the UTC timestamp in a seconds format denoting when the associated market was last updated with new data
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
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)
wasBalanced:
type: number
description: Provides the value identifying a line for the specified market as either having been a balance line (1) or not having been balanced line (0) at any time in the history of the specified market
'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 of the event for which you are requesting market data. Accepts only a single value
schema:
type: number
example: '343946'
- 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. Accepts multiple, comma-separated values
schema:
type: number
example: '9001001002'
- 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-04-23 19:03:22.563660'
- name: milestone
in: query
required: false
description: Can be used to request only those markets classified as milestone lines (true) or not classified as milestone lines (false). Accepts only true or false as values
schema:
type: boolean
example: 'true'
- name: wasBalanced
in: query
required: false
description: Can be used to request markets that were previously classified as balanced (true) or were not previously classified as balanced (false). Accepts only true or false as values
schema:
type: boolean
example: 'true'
/soccer/matches/markets/prematch:
get:
operationId: getSoccerMatchesMarketsPrematch
summary: Soccer Matches Markets Prematch
tags:
- Soccer
security:
- ApiKey: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
abbr:
type: string
description: Provides the 3-letter abbreviation for the specified home or away team
abbreviation:
type: string
description: Provides the appropriate abbreviation for the specified market duration
awaySummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and away team
balanced:
type: boolean
description: Provides the value identifying a line for the specified market as either balanced (1) or unballanced (0)
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 text-snippet denoting the state of the market, status, etc
endpoint:
type: string
description: Provides the specific endpoint used to make your request to assist in validating requests
homeSummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and home team
id:
type: number
description: Provides the appropriate ID for the specified team, market type, 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
micro:
type: string
description: Provides the UTC timestamp in a micro-seconds format denoting when the associated market was last updated with new data
optimal:
type: boolean
description: Provides the value identifying a line for the specified market as either optimal (1) or not optimal (0)
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
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
seconds:
type: string
description: Provides the UTC timestamp in a seconds format denoting when the associated market was last updated with new data
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
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 of the event for which you are requesting market data. Accepts only a single value
schema:
type: number
example: '361140'
- 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. Accepts multiple, comma-separated values
schema:
type: number
example: '9001001002'
- 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-03-09 21:40:27.930075'
/soccer/matches/markets/prematch/alternates:
get:
operationId: getSoccerMatchesMarketsPrematchAlternates
summary: Soccer Matches Markets Prematch Alternates
tags:
- Soccer
security:
- ApiKey: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
abbr:
type: string
description: Provides the 3-letter abbreviation for the specified home or away team
abbreviation:
type: string
description: Provides the appropriate abbreviation for the specified market duration
awaySummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and away team
balanced:
type: boolean
description: Provides the value identifying a line for the specified market as either balanced (1) or unballanced (0)
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 text-snippet denoting the state of the market, status, etc
endpoint:
type: string
description: Provides the specific endpoint used to make your request to assist in validating requests
homeSummaryId:
type: string
description: Provides a unique market identifier for the specified sport, team, match, week and home team
id:
type: number
description: Provides the appropriate ID for the specified team, market type, 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
micro:
type: string
description: Provides the UTC timestamp in a micro-seconds format denoting when the associated market was last updated with new data
milestone:
type: number
description: Provides the value identifying a specified line as either a designated milestone line (1) or not a milestone line (0)
optimal:
type: boolean
description: Provides the value identifying a line for the specified market as either optimal (1) or not optimal (0)
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
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
seconds:
type: string
description: Provides the UTC timestamp in a seconds format denoting when the associated market was last updated with new data
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
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)
wasBalanced:
type: number
description: Provides the value identifying a line for the specified market as either having been a balance line (1) or not having been balanced line (0) at any time in the history of the specified market
'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 of the event for which you are requesting market data. Accepts only a single value
schema:
type: number
example: '343946'
- 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. Accepts multiple, comma-separated values
schema:
type: number
example: '9001001002'
- 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
sc
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/swish-analytics/refs/heads/main/openapi/swish-analytics-soccer-api-openapi.yml