Genius Sports Organizations API
The Organizations API from Genius Sports — 2 operation(s) for organizations.
The Organizations API from Genius Sports — 2 operation(s) for organizations.
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-organizations-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: This is Genius Sports Services Fixture API.
version: 2.0.280
title: Fixtures-v2 Organizations API
contact:
email: sbonboarding@geniussports.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://fixtures.api.geniussports.com/v2
tags:
- name: Organizations
paths:
/organizations:
options:
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
Access-Control-Allow-Methods:
schema:
type: string
Access-Control-Allow-Headers:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
tags:
- Organizations
summary: Describe organizations
x-summary-source: derived
operationId: optionsOrganizations
x-operation-id-source: derived
get:
tags:
- Organizations
summary: Retrieve organizations data. MAX 200 per page
description: Returns organizations wrapped inside a HATEOAS model
parameters:
- name: page
in: query
description: The number of page to be returned. The default value is 1.
required: false
schema:
type: string
- name: pageSize
in: query
description: The size of the page to be returned. The default value is 10.
required: false
schema:
type: string
- name: sortBy
in: query
description: 'The field to ''order by'' by. Descending ordering also allowed. Fields to order by for this endpoint: (id, name)'
required: false
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
- name: filter
in: query
description: 'The field to ''filter'' by. Check main description for filter comparators. Fields to filter by for this endpoint: (id, name)'
required: false
schema:
type: string
responses:
'200':
description: successful operation
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponseModelHATEOASReponseModel'
'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: []
operationId: getOrganizations
x-operation-id-source: derived
post:
tags:
- Organizations
summary: Create new organization
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:
'520':
description: Unknown error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponseModel'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestModel'
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptedModel'
'500':
description: Internal Server Error
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'
'409':
description: Conflict, see the response message or the 'geniussports-conflict-id' header to see the ID of the conflict!
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDuplicateModel'
security:
- Auth0: []
- api_key: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganization'
required: true
operationId: postOrganizations
x-operation-id-source: derived
put:
tags:
- Organizations
summary: Update existing organization
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: Success
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponseModel'
'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: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptedModel'
'500':
description: Internal Server Error
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'
'409':
description: Conflict, see the response message or the 'geniussports-conflict-id' header to see the ID of the conflict!
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDuplicateModel'
security:
- Auth0: []
- api_key: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganization'
required: true
operationId: putOrganizations
x-operation-id-source: derived
/organizations/{id}:
options:
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 response
headers:
Access-Control-Allow-Origin:
schema:
type: string
Access-Control-Allow-Methods:
schema:
type: string
Access-Control-Allow-Headers:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
tags:
- Organizations
summary: Describe organizations by id
x-summary-source: derived
operationId: optionsOrganizationsById
x-operation-id-source: derived
get:
tags:
- Organizations
summary: Retrieve organization details by ID
description: Returns organization details.
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
- name: id
in: path
description: Single organization ID to return details for
required: true
schema:
type: string
responses:
'200':
description: successful operation
headers:
Access-Control-Allow-Origin:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponseModel'
'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: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptedModel'
'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: []
operationId: getOrganizationsById
x-operation-id-source: derived
delete:
tags:
- Organizations
summary: Delete existing organization
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
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
'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: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptedModel'
'500':
description: Internal Server Error
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'
security:
- Auth0: []
- api_key: []
operationId: deleteOrganizationsById
x-operation-id-source: derived
components:
schemas:
Empty:
type: object
OrganizationResponseModel:
type: object
required:
- code
- createdOn
- id
- name
- updatesCount
properties:
id:
type: integer
format: int64
title: Id of the organization
createdOn:
type: string
format: date-time
title: The date on which the organization was created
modifiedOn:
type: string
format: date-time
title: The date on which the organization was modified
updatesCount:
type: integer
format: int32
title: The number of times the organization was modified
name:
type: string
description: Unique name of the organization
code:
type: string
description: Unique code of the organization
CreateOrganization:
type: object
properties:
name:
type: string
description: Unique name of the organization
code:
type: string
description: Unique code of the organization
UpdateOrganization:
type: object
properties:
id:
type: integer
format: int64
title: Id of the organization
name:
type: string
description: Unique name of the organization
ErrorModel:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
error:
$ref: '#/components/schemas/Error'
OrganizationResponseModelHATEOASReponseModel:
type: object
properties:
page:
type: integer
format: int32
pageSize:
type: integer
format: int32
totalItems:
type: integer
format: int64
items:
type: array
items:
$ref: '#/components/schemas/OrganizationResponseModel'
self:
type: string
previous:
type: string
next:
type: string
first:
type: string
last:
type: string
BadRequestModel:
type: object
properties:
messages:
type: array
items:
type: string
AcceptedModel:
type: object
properties:
messages:
type: array
items:
type: string
ErrorDuplicateModel:
type: object
properties:
messages:
type: array
items:
type: string
geniusSportsConflictId:
type: string
description: This is the official genius sports ID, which you have conflict with.
Error:
type: object
required:
- domain
- message
- reason
properties:
reason:
type: string
domain:
type: string
locationType:
type: string
location:
type: string
message:
type: string
securitySchemes:
Auth0:
type: apiKey
name: Authorization
in: header
x-amazon-apigateway-authtype: oauth2
api_key:
type: apiKey
name: x-api-key
in: header
x-amazon-apigateway-security-policy: TLS_1_0