Genius Sports Probabilistic matching API
The results from the this kind of matching are always probabilistic. However we consider matches that have above 90% match score as viable results.
The results from the this kind of matching are always probabilistic. However we consider matches that have above 90% match score as viable results.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/genius-sports-probabilistic-matching-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
description: '<br><p><h3>Motivation</h3><br> The purpose of this API is to request matching betweenexternal sources data and the best genius sports representation. <br>Using the POST client can cache the matchingresult for specific time range, by making a mapping from client entity id togenius sports Id.<br></p><h3>Glossary</h3><br><p><b>Match</b>- the probabilistic result of the comparison of the clients input to Genius Sports data</p><p><b>Map</b>- the link between an already matched result represented by the clients entity Id and the Genius Sports Id, in the context of a specific data provider. e.g for data Provider ''NFL'' we the client Id XYZ mapped to 123 </p><p><b>Competitor</b> - a team, player, double partnership or any other entity that can participate in a fixture as top level competitore e.g Barcelena - RealMadrid, Nadal - Federer etc. What is not a competitor is for example: Leo Messi - he cannot participate in a fixture as a top level competitor, but only as a part of a team.</p><h3>How does the security work?</h3><p>To access the API each request must provide two headers:</p><ul> <li><code>Authorization</code> header with an OAuth2<br> JSON web token (Bearer) issued by Auth0.</li> <li> <code>x-api-key</code><br> with an API key secret of a key, registered with the API gateway in AWS. <br> </li></ul><h3>How do I get a valid JW token for the <code>Authorization</code> header?</h3><p> As an API client, I must be provided with Auth0 Client credentials (<code>client_ID</code> and <code>Client_secret</code>) by Genius Sports (FA team) and obtain a valid token from the Auth0 token<br> endpoint using the Machine-to-Machine (client credentials) flow. I must obtain a new token whenever needed (based on the token expiration).</p><p> <br> Make a <code>POST</code> request to the token endpoint: <span https://{env or nothing for prod}.auth.geniussports.com/oauth/token </span> with the following payload:</p><br><pre><br> {<br> <span>''client_id'': ''<code>YOUR_AUTH0_CLIENT_ID</code>''</span>, <br> <span>''client_secret'': ''<code>YOUR_AUTH0_CLIENT_SECRET</code>''</span>, <br> <span>''audience'': ''https://api.geniussports.com''</span>, <br> <span>''grant_type'' : ''client_credentials''</span> <br> }<br></pre><br><p>You will receive a new token in the response <code> access_token </code> field.</p><br><p>Curl example:</p><br><code> curl -X ''POST'' https://{env or nothing for prod}.auth.geniussports.com/oauth/token <br>-H ''Content-Type: application / json''<br>-d ''{''client_id'':''YOUR_AUTH0_CLIENT_ID'', ''client_secret'':''YOUR_AUTH0_CLIENT_SECRET'', ''audience'':''https://api.geniussports.com'',<br> ''grant_type'':''client_credentials''}''</code><br>'
version: 2.0.106
title: fixtures-matching-v2 Probabilistic matching API
servers:
- url: https://matching.api.geniussports.com/v2
tags:
- name: Probabilistic matching
description: The results from the this kind of matching are always probabilistic. However we consider matches that have above 90% match score as viable results.
paths:
/competition-matches:
get:
tags:
- Probabilistic matching
summary: Retrieve competition matches by the provided parameters
parameters:
- name: organization
in: query
description: The name or Genius Sports Id of a organization.
required: false
schema:
type: string
- name: gender
in: query
description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
required: false
schema:
type: string
- name: pageSize
in: query
description: Number of items per page
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: name
in: query
description: The name of the entity to be matched to Genius Sports name. Fuzzy matching is executed upon the official Genius Sports name. If this does not return result exact match is attempted on the aliases.
required: true
schema:
type: string
- name: minCertainty
in: query
description: The client can set the minimal % of the match certainty. Default is 70%.
required: false
schema:
type: string
- name: dataSourceEntityId
in: query
description: The ID of the team on the data source' side.
required: false
schema:
type: string
- name: ageCategory
in: query
description: 'One of: Senior, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25, U26, U27.'
required: false
schema:
type: string
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
- name: pageNumber
in: query
description: The default is the first page. However next pages can be requested if available.
required: false
schema:
type: string
- name: sport
in: query
description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
required: false
schema:
type: string
- name: locality
in: query
description: 'Accepts either the 3 letter country code (ISO 3166-1 alpha-3 codes), the country name or the name of Continets, Administrive region, etc.. If a code is sent an EXACT match is made on the enum, excluding all non-matching entities. If the country is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score. The name of the country in free text form or one of: AFG, ALB, ALG, AND, ANG, ANT, ARG, ARM, ARU, ASA, AUS, AUT, AZE, BAH, BAN, BAR, BDI, BEL, BEN, BER, BHU, BIH, BIZ, BLR, BOL, BOT, BRA, BRN, BUL, BUR, CAF, CAM, CAN, CAY, CGO, CHA, CHI, CHN, CIV, CMR, COD, COK, COL, COM, CPV, CRC, CRO, CUB, CYP, CZE, DEN, DJI, DMA, DOM, ECU, EGY, ERI, ESA, ESP, EST, ETH, FIJ, FIN, FRA, FSM, GAB, GAM, GBR, GBS, GEO, GEQ, GER, GHA, GRE, GRN, GUA, GUI, GUM, GUY, HAI, HKG, HON, HUN, INA, IND, IRI, IRL, IRQ, ISL, ISR, ITA, IVB, JAM, JOR, JPN, KAZ, KEN, KGZ, KIR, KOR, KOS, KSA, KUW, LAO, LAT, LBA, LBN, LBR, LCA, LES, LIE, LTU, LUX, MAD, MAR, MAS, MAW, MDA, MDV, MEX, MGL, MHL, MKD, MLI, MLT, MNE, MON, MOZ, MRI, MTN, MYA, NAM, NCA, NED, NEP, NGR, NIG, NOR, NRU, NZL, OMA, PAK, PAN, PAR, PER, PHI, PLE, PLW, PNG, POL, POR, PUR, QAT, ROU, RSA, RUS, RWA, SAM, SEN, SEY, SGP, SKN, SLE, SLO, SMR, SOL, SOM, SRB, SRI, SSD, STP, SUD, SUI, SUR, SVK, SWE, SYR, TAN, TGA, THA, TJK, TKM, TOG, TTO, TUN, TUR, TUV, UAE, UGA, UKR, URU, USA, UZB, VAN, VEN, VIE, VIN, YEM, ZAM, ZIM'
required: false
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/competitionMatchHATEOASResultModel'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
post:
tags:
- Probabilistic matching
summary: Retrieve competition matches by the provided parameters, and create a map uppon successful matching.
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/matchResultSubsribableModel'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'202':
description: 202 response
content:
application/json:
schema:
$ref: '#/components/schemas/failedMatchResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/competitionMatchRequest'
description: Contains all the fields the client can match by, as well as configurations about the match.
required: true
/competition-matches/maps:
get:
tags:
- Probabilistic matching
summary: Retrieve entity maps by source name and source entity id
parameters:
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: source
in: query
required: true
schema:
type: string
- name: sourceEntityId
in: query
required: true
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfentityMapResponse'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
/competitors/doubles-matches:
get:
tags:
- Probabilistic matching
summary: Retrieve double partnerships matches by the provided parameters.
description: 'Full list of sports using double partnerships for fixture level competitors: Badminton,Beach Volleyball,Bobsleigh,Canoeing/Kayaking,Darts,Diving,Figure Skating,Golf,Luge,Olympics,Pickleball,Pickleball,Pool,Rowing,Sailing,Snooker,Squash,Table Tennis,Tennis,Ten Pin Bowling,Winter Olympics'
parameters:
- name: name
in: query
description: The name of the entity to be matched to Genius Sports name. Fuzzy matching is executed upon the official Genius Sports name. If this does not return result exact match is attempted on the aliases.
required: true
schema:
type: string
- name: competition
in: query
description: The name or Genius Sports Id of a competition, that this double partnership participated in.
required: false
schema:
type: string
- name: dataSourceEntityId
in: query
description: The ID of the team on the data source' side.
required: false
schema:
type: string
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
- name: pageNumber
in: query
description: The default is the first page. However next pages can be requested if available.
required: false
schema:
type: string
- name: organization
in: query
description: The name or Genius Sports Id of a organization.
required: false
schema:
type: string
- name: gender
in: query
description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
required: false
schema:
type: string
- name: pageSize
in: query
description: Number of items per page
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: minCertainty
in: query
description: The client can set the minimal % of the match certainty. Default is 70%.
required: false
schema:
type: string
- name: person
in: query
description: The name or Genius Sports Id of a person, that participates in this double partnership.
required: false
schema:
type: string
- name: sport
in: query
description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
required: false
schema:
type: string
- name: locality
in: query
description: 'Accepts either the 3 letter country code (ISO 3166-1 alpha-3 codes), the country name or the name of Continets, Administrive region, etc.. If a code is sent an EXACT match is made on the enum, excluding all non-matching entities. If the country is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score. The name of the country in free text form or one of: AFG, ALB, ALG, AND, ANG, ANT, ARG, ARM, ARU, ASA, AUS, AUT, AZE, BAH, BAN, BAR, BDI, BEL, BEN, BER, BHU, BIH, BIZ, BLR, BOL, BOT, BRA, BRN, BUL, BUR, CAF, CAM, CAN, CAY, CGO, CHA, CHI, CHN, CIV, CMR, COD, COK, COL, COM, CPV, CRC, CRO, CUB, CYP, CZE, DEN, DJI, DMA, DOM, ECU, EGY, ERI, ESA, ESP, EST, ETH, FIJ, FIN, FRA, FSM, GAB, GAM, GBR, GBS, GEO, GEQ, GER, GHA, GRE, GRN, GUA, GUI, GUM, GUY, HAI, HKG, HON, HUN, INA, IND, IRI, IRL, IRQ, ISL, ISR, ITA, IVB, JAM, JOR, JPN, KAZ, KEN, KGZ, KIR, KOR, KOS, KSA, KUW, LAO, LAT, LBA, LBN, LBR, LCA, LES, LIE, LTU, LUX, MAD, MAR, MAS, MAW, MDA, MDV, MEX, MGL, MHL, MKD, MLI, MLT, MNE, MON, MOZ, MRI, MTN, MYA, NAM, NCA, NED, NEP, NGR, NIG, NOR, NRU, NZL, OMA, PAK, PAN, PAR, PER, PHI, PLE, PLW, PNG, POL, POR, PUR, QAT, ROU, RSA, RUS, RWA, SAM, SEN, SEY, SGP, SKN, SLE, SLO, SMR, SOL, SOM, SRB, SRI, SSD, STP, SUD, SUI, SUR, SVK, SWE, SYR, TAN, TGA, THA, TJK, TKM, TOG, TTO, TUN, TUR, TUV, UAE, UGA, UKR, URU, USA, UZB, VAN, VEN, VIE, VIN, YEM, ZAM, ZIM'
required: false
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/doublesMatchHATEOASResultModel'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
post:
tags:
- Probabilistic matching
summary: Retrieve fixture level players matches by the provided parameters, and create a map uppon successful matching.
description: 'Full list of sports using double partnerships for fixture level competitors: Badminton,Beach Volleyball,Bobsleigh,Canoeing/Kayaking,Darts,Diving,Figure Skating,Golf,Luge,Olympics,Pickleball,Pickleball,Pool,Rowing,Sailing,Snooker,Squash,Table Tennis,Tennis,Ten Pin Bowling,Winter Olympics'
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/matchResultSubsribableModel'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'202':
description: 202 response
content:
application/json:
schema:
$ref: '#/components/schemas/failedMatchResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/doublesMatchRequest'
description: Contains all the fields the client can match by, as well as configurations about the match.
required: true
/competitors/doubles-matches/maps:
get:
tags:
- Probabilistic matching
summary: Retrieve entity maps by source name and source entity id
parameters:
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: source
in: query
required: true
schema:
type: string
- name: sourceEntityId
in: query
required: true
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ArrayOfentityMapResponse'
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'429':
description: Too Many Requests OR Limit Exceeded - On reason = Too Many requests one should re-try, for Limit Exceeded that does not help you
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
security:
- Auth0: []
- api_key: []
/competitors/player-matches:
get:
tags:
- Probabilistic matching
summary: Retrieve fixture level player matches by the provided parameters.
description: 'Full list of sports using players for fixture level competitors: Alpine Skiing,Archery,Athletics,Badminton,Biathlon,Bobsleigh,Bowls,Boxing,Canoeing/Kayaking,Chess,Competitive Eating,Cross Country,Cycling,Darts,Diving,Fencing,Figure Skating,Fishing,Freestyle Skiing,Golf,Gymnastics,Judo,Luge,Martial Arts/UFC,Modern Pentathlon,Motor Sport,Nordic Combined Skiing,Olympics,Pickleball,Poker,Politics,Pool,Rowing,Sailing,Shooting,Short Track Speed Skating,Skeleton,Ski Jumping,Snooker,Snowboarding,Speed Skating,Squash,Surfing,Swimming,Table Tennis,Taekwondo,Ten Pin Bowling,Tennis,Triathlon,Virtual Archery,Virtual Badminton,Virtual Basketball,Virtual Chariot Racing,Virtual Cricket,Virtual Cycling,Virtual Football,Virtual Golf,Virtual Greyhound Racing,Virtual Horse Racing,Virtual Ice Hockey,Virtual Motor Racing,Virtual Speed Skating,Virtual Table Tennis,Virtual Tennis,Weightlifting,Winter Olympics,Winter Sports,Wrestling,Yachting,eSports'
parameters:
- name: shirtNumber
in: query
description: Shirt number of the player if the player is part of a team.
required: false
schema:
type: string
- name: name
in: query
description: The name of the entity to be matched to Genius Sports name. Fuzzy matching is executed upon the official Genius Sports name. If this does not return result exact match is attempted on the aliases.
required: true
schema:
type: string
- name: competition
in: query
description: The name or Genius Sports Id of a competition, that this player participated in.
required: false
schema:
type: string
- name: dataSourceEntityId
in: query
description: The ID of the team on the data source' side.
required: false
schema:
type: string
- name: gs-fixtures-api-sub-source
in: header
description: Sub Source Name
required: false
schema:
type: string
- name: pageNumber
in: query
description: The default is the first page. However next pages can be requested if available.
required: false
schema:
type: string
- name: organization
in: query
description: The name or Genius Sports Id of a organization.
required: false
schema:
type: string
- name: gender
in: query
description: 'One of: Male, Female, Mixed. If the entity is neither Male, nor Female use Mixed.'
required: false
schema:
type: string
- name: team
in: query
description: Name of any team the player was part of.
required: false
schema:
type: string
- name: pageSize
in: query
description: Number of items per page
required: false
schema:
type: string
- name: position
in: query
description: Position of the player if the player is part of a team.
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: minCertainty
in: query
description: The client can set the minimal % of the match certainty. Default is 70%.
required: false
schema:
type: string
- name: birthDate
in: query
description: The birth date of the searched player in format - full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21
required: false
schema:
type: string
- name: sport
in: query
description: Allows either Genius Sports Id or the name of the sport. If the sport is sent as string name a FUZZY match is made on the value and the similarity score is contributing to the end match score.
required: false
schema:
type: string
- name: locality
in: query
description: 'Accepts either the 3 letter country code (ISO 3166-1 alpha-3 codes), the country name or the name of Continets, Administrive region, etc.. If a code is sent an EXACT match is made on the enum, excluding all non-matching entities. If the country is sent as string
# --- truncated at 32 KB (185 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/genius-sports/refs/heads/main/openapi/genius-sports-probabilistic-matching-api-openapi.yml