Shipp.ai is the definitive source on real-time data.
Reference docs.
Implement as many tests as possible as soon as possible. Verify data and how the app uses data. Be flexible in schema — event rows are schema-flexible JSON and fields vary by sport, feed, and event.
Base prefix:
https://api.shipp.ai/api/v1All detailed examples, request/response schemas, and walkthroughs live in the official docs. Always consult these before building:
ResourceURLFull documentationhttps://docs.shipp.aiHow-to guideshttps://docs.shipp.ai/how-to/Setup instructionshttps://docs.shipp.ai/instructions/setup/API referencehttps://docs.shipp.ai/api-reference/Dashboard / Signuphttps://platform.shipp.ai/signupBilling managementhttps://platform.shipp.ai/billing
All endpoints require an API key. The API supports several ways to provide it:
MethodExampleQuery parameter api_key``?api_key=YOUR_API_KEYQuery parameter apikey``?apikey=YOUR_API_KEY``Authorization header (Bearer)Authorization: Bearer YOUR_API_KEY``Authorization header (Basic)Authorization: Basic base64(:YOUR_API_KEY)``X-API-Key headerX-API-Key: YOUR_API_KEY``User-API-Key headerUser-API-Key: YOUR_API_KEY``API-Key headerAPI-Key: YOUR_API_KEY
Pick whichever method works best for your client.
Below is a summary of the available endpoints. For full request/response examples, schemas, and field descriptions see the API reference.
POST /api/v1/connections/create#Create a new raw-data connection by providing natural-language filter_instructions that describe what games, teams, sports, or events you want to track.
Returns a connection_id (ULID) you'll reuse for all subsequent runs.
POST /api/v1/connections/{connectionId}#Run a connection and receive raw event data.
Supports optional body fields for time-based filtering ( since), cursor-based pagination ( since_event_id), and result limiting ( limit).
GET /api/v1/connections#List all connections in the current org scope.
GET /api/v1/sports/{sport}/schedule#Retrieve upcoming and recent games for a given sport (past 24 hours through next 7 days).
Supported sport values: nba, nfl, mlb, ncaafb, soccer (case-insensitive).
Event rows returned in data[] are schema-flexible JSON objects. Fields vary by sport, feed, and event. Common field categories include:
game_id, home_id, away_id, attribution_id, posession_idsport, home_name, away_name, game_clock, desc, type, categoryhome_points, away_points, game_period, down, yards_first_down, location_yard_linewall_clock_start, wall_clock_endNot every row has every field. Agents and clients should be defensive and handle missing keys.
For the complete field reference see docs.shipp.ai.
Errors are returned as JSON with an error message, HTTP status code, and a hint:
StatusMeaning400Invalid request — check JSON and required fields401Missing or invalid API key402Billing changes required — manage at https://platform.shipp.ai/billing403API key lacks access to this resource404Connection not found or doesn't belong to your org429Rate-limited — retry with backoff5xxServer error — retry later or contact support@shipp.ai
Include an Accept-Encoding header to receive compressed responses ( zstd, gzip, or deflate). Compression is applied automatically when the response body exceeds 1 KB.
filter_instructions short, explicit, and testable. Mention the sport/league and scope.connection_id — don't create a new connection per run. Creating connections has time and credit overhead.since_event_id for efficient polling (cursor-based pagination). Send the lexicographically largest event ID you've received.game_id s and team names before creating connections.hint messages directly to users when limits are hit.data[] as optional — use existence checks and graceful fallbacks.filter_instructions.When building a feature powered by Shipp, define a contract for each screen or agent loop:
Then translate the contract into filter_instructions when creating the connection.
Alph Bot is an open-source automated trading bot that uses Shipp for real-time sports data and trades on prediction markets. It demonstrates a production-quality integration of the Shipp API.
Game discovery — Uses GET /api/v1/sports/{sport}/schedule to list available games:
Connection creation — Creates a Shipp connection for a specific game, describing what events to track via filter_instructions.
Live polling — Runs the connection on an interval, using since_event_id for cursor-based pagination to receive only new events since the last poll.
AI analysis — Feeds the schema-flexible data[] events directly to Claude AI, which analyzes game state and estimates outcome probabilities.
Trading decisions — Compares AI-estimated probabilities against Kalshi market prices to find value bets.
since_event_id so each poll only returns new events, keeping responses fast and costs low.See the Alph Bot README for full setup instructions.
This API is versioned under /api/v1/. New versions will be introduced under a new prefix when breaking changes are required.