For Agents
Get OAuth tokens, then pull real-time enhanced match state, fixture details, and statistics for football, basketball, soccer, and tennis using both an access token and an x-api-key.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Genius Sports Data API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Genius Sports Data API API.
Exchange client credentials for an OAuth 2.0 access token via POST /oauth2/token
Pull enhanced live match state for a fixture via the matchstate endpoint
Retrieve fixture metadata and scheduling for a sport and source
Read live and historical statistics for a fixture by sport ID and fixture ID
GET STARTED
Use for: Get an OAuth access token for Genius Sports, Retrieve the live match state for a soccer fixture, Pull current statistics for a basketball fixture, Look up fixture details for a tennis match by ID
Not supported: Does not handle odds calculation, betting markets, or video streams — use for Genius Sports authentication, match state, fixtures, and statistics only.
Jentic publishes the only available OpenAPI document for Genius Sports Data API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Genius Sports Data API, keeping it validated and agent-ready. Genius Sports is an official data and technology partner for major sports leagues, and its Data API provides real-time and historical match-state, fixture, and statistics feeds for American Football, Basketball, Football (Soccer), and Tennis. The spec covers the OAuth 2.0 token endpoint at auth.api.geniussports.com plus the data endpoints on platform.matchstate.api.geniussports.com and statistics.api.geniussports.com. Both an OAuth access token and an x-api-key are required on data calls.
Cover American Football, Basketball, Football (Soccer), and Tennis from a single auth flow
Combine OAuth and x-api-key headers for tiered access control
Patterns agents use Genius Sports Data API API for, with concrete tasks.
★ Live in-play data for sportsbooks
Sportsbooks and odds-modelling tools need real-time match state to keep markets priced. POST /oauth2/token issues an access token; the matchstate endpoint then returns enhanced state by source, sportId, and fixtureId for football, basketball, soccer, and tennis. The pricing engine consumes the feed and adjusts markets within the latency window the league allows.
Authenticate via POST /oauth2/token, then call GET /api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/liveaccess/matchstate/enhanced for the active fixture and emit each state change to a pricing queue.
Editorial fixture and statistics widgets
Sports media sites and broadcasters use Genius Sports to power live scores, fixture lists, and player statistics. The fixtures endpoint returns scheduling and team context, while the statistics endpoint returns box-score-style metrics that drive on-page widgets. Both calls authenticate against auth.api.geniussports.com once and share the same x-api-key for the editorial product.
After obtaining a token, GET the fixture by source and sportId, then GET the statistics for the same fixtureId and render a JSON payload for the page.
Historical data extraction for analytics
Quant teams and clubs back-test models against historical match-state and statistics data. The same statistics endpoint serves historical fixtures by ID, and the fixture endpoint surfaces metadata such as season, competition, and team identifiers. An ETL agent loops over a season's fixture IDs and lands the structured stats into a warehouse.
For each fixtureId in a season list, call GET /api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/statistics and write the response to a parquet file.
AI agent integration via Jentic
A sports-analyst agent built on Jentic can call the Genius Sports Data API without juggling OAuth credentials and an x-api-key. The agent searches an intent like 'get live match state from Genius Sports', Jentic returns the matching operation with its input schema, and execution uses both the OAuth token and api key resolved from the Jentic vault. Token refresh is handled automatically.
Use Jentic search 'get enhanced match state from Genius Sports', load the schema for the matchstate endpoint, and execute it with source, sportId, and fixtureId.
4 endpoints — jentic publishes the only available openapi specification for genius sports data api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/oauth2/token
Get an OAuth 2.0 access token
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/liveaccess/matchstate/enhanced
Get enhanced match state for a fixture
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}
Get fixture details
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/statistics
Get fixture statistics
/oauth2/token
Get an OAuth 2.0 access token
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/liveaccess/matchstate/enhanced
Get enhanced match state for a fixture
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}
Get fixture details
/api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/statistics
Get fixture statistics
Three things that make agents converge on Jentic-routed access.
Credential isolation
Genius Sports OAuth client credentials and x-api-key values are stored encrypted in the Jentic vault. The access token is refreshed automatically and both headers are injected at execution time, so the agent never sees either secret in its context.
Intent-based discovery
Agents search by intent (e.g., 'get live match state from Genius Sports') and Jentic returns the matching operation with its input schema, so the agent picks the matchstate, fixture, or statistics endpoint without reading the docs portal.
Time to first call
Direct Genius Sports integration: 2-4 days for OAuth client setup, dual-header request signing, and managing token refresh. Through Jentic: under 1 hour from search to first executed call.
Alternatives and complements available in the Jentic catalogue.
Sportmonks API
Sportmonks offers developer-friendly football, cricket, and other sports data with self-serve plans.
Choose Sportmonks for self-serve developer access to football and cricket data; use Genius Sports when official league data and licensed in-play feeds are required.
API-Football
API-Football provides global football fixtures, standings, and live scores via a public REST API.
Choose API-Football for football-only workflows on a self-serve plan; use Genius Sports for multi-sport, licensed data with enhanced match state.
Stripe API
Stripe handles billing for downstream sports data products built on top of Genius Sports.
Choose Stripe to monetise the data product; use Genius Sports for the underlying official sports data.
Specific to using Genius Sports Data API API through Jentic.
Why is there no official OpenAPI spec for Genius Sports Data API?
Genius Sports publishes prose documentation at sportsdata.api.geniussports.com/docs but does not distribute an OpenAPI file. Jentic generates and maintains this spec so that AI agents and developers can call Genius Sports Data API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Genius Sports Data API use?
The Genius Sports Data API uses OAuth 2.0 client-credentials together with an x-api-key header. Clients exchange their credentials for an access token via POST /oauth2/token at auth.api.geniussports.com, then send both the Bearer token and x-api-key on every data call. Through Jentic both secrets are held in the vault.
Can I get live match state for a soccer fixture with the Genius Sports Data API?
Yes. After obtaining a token, call GET /api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/liveaccess/matchstate/enhanced with the soccer sportId and the fixtureId for the live match. The response contains the enhanced live state used by pricing and broadcast tools.
What are the rate limits for the Genius Sports Data API?
Rate limits are negotiated per commercial agreement and tied to the x-api-key tier rather than declared in the spec. High-frequency consumers should follow Genius Sports' guidance for polling cadence and consider their streaming feeds for sub-second updates instead of REST polling.
How do I pull statistics for a fixture through Jentic?
Run jentic search 'get fixture statistics from Genius Sports', load the schema for GET /api/v2/sources/{source}/sports/{sportId}/fixtures/{fixtureId}/statistics, and execute it with the fixture identifiers. Jentic resolves both the Bearer token and x-api-key from the vault.
Is the Genius Sports Data API free?
No. Access is commercial and tied to a licensed agreement with Genius Sports. The OAuth client and x-api-key are issued only once a contract is in place, typically for sportsbooks, broadcasters, leagues, or licensed data redistributors.