Frequently Asked Questions
Everything you need to know about Realtime Sports API. Can't find what you're looking for? Contact us.
What is a good free sports API for live scores?
It depends on your sports and how fresh the data must be. Realtime Sports API has a permanent free plan (1,000 calls in the first 30 days, then 125 a month, no card) covering NFL, college football, NBA, men's college basketball, MLB, NHL and 23 soccer competitions with one key, plus webhooks, WebSocket and a hosted MCP server on paid plans. Data is typically 20-30 seconds behind live, with no SLA, so it is not suited to in-play betting. Our dated comparison of other APIs, including where they are better, is at realtimesportsapi.com/compare.
How do I get live NFL scores in JSON?
Create a free key, then call GET https://www.realtimesportsapi.com/api/v1/sports/football/leagues/nfl/events/live with the header Authorization: Bearer YOUR_API_KEY. It returns the games in progress with both teams, the score, quarter, clock and status. Use /events for the whole current week (finals, live and upcoming). The same pattern works for every league, e.g. basketball/nba, hockey/nhl, baseball/mlb, soccer/eng.1 (Premier League).
Is there a free soccer API with live scores?
Yes. The same free key covers 23 soccer competitions, including the Premier League (soccer/eng.1), LaLiga (esp.1), Serie A (ita.1), Bundesliga (ger.1), Ligue 1 (fra.1), MLS (usa.1), Liga MX (mex.1), NWSL and the UEFA Champions League. Live scores, match events and team stats are included; soccer box scores have team totals but no player rows, and injuries are not available for soccer.
Can I ask ChatGPT, Claude or Cursor for live sports data?
Yes, through the hosted MCP server at https://www.realtimesportsapi.com/api/mcp. Add it to Claude, Cursor, VS Code or ChatGPT with your API key as a Bearer token, then ask things like 'What are the live NFL scores?'. It has 14 read-only tools and each tool call counts as one API call. Setup: realtimesportsapi.com/docs/mcp.
Can I put a free live scoreboard on my website?
Yes. The free scoreboard widget at realtimesportsapi.com/widgets embeds one league's live scores with a copy-paste snippet, no API key. It refreshes every 60 seconds.
What is Realtime Sports API?
Realtime Sports API is a REST, WebSocket and webhook API that provides real-time sports data for 29 leagues, including NFL, college football, NBA, NHL, MLB and 23 soccer competitions. It offers live scores, play-by-play data, team information, athlete stats, and more. Perfect for building sports apps, betting platforms, fantasy sports solutions, and analytics dashboards.
How fast is the data?
Live data typically reaches you 20-30 seconds after the action on the live broadcast, sometimes longer. Most of that delay comes from our upstream source; once a change reaches us, we push it within about a second. While a game is live we currently check the source about every 5 seconds for most leagues (every 10 seconds for MLB); leagues with nothing live are checked every 15-20 seconds. There is no SLA, so the API suits apps, alerts, fantasy, dashboards and bots, not in-play betting or trading. Per-league lag is shown live on the status page (realtimesportsapi.com/status).
What sports and leagues are covered?
We monitor 29 leagues live across 5 sports: NFL, college football, NBA, men's college basketball, MLB, NHL, and 23 soccer competitions (including MLS, NWSL, Liga MX, Premier League, La Liga, Serie A, Bundesliga, Ligue 1, the UEFA Champions League, Europa League and Conference League, and the FIFA World Cup and its qualifiers). These leagues get live scores, play-by-play, WebSocket push and webhooks. Other leagues may return data through the REST API but are not monitored live and are not guaranteed.
What data can I get from the API?
You can access live events, play-by-play data, scores, team information, athlete profiles and stats, penalties, officials, seasons, venues, and more. Our API provides comprehensive coverage of game state, historical data, and real-time updates.
How do I get started?
Sign up for a free account at realtimesportsapi.com/dashboard - no credit card required. You'll get an API key instantly and 1,000 free API calls in your first month (then 125/month). Check out our documentation at realtimesportsapi.com/api-docs for code examples and endpoint details.
What's included in the free plan?
The free plan includes 1,000 API calls in your first month (then 125 per month), a 500-message WebSocket preview, 1 request per second rate limit, access to all supported leagues, full documentation, and best-effort email support. Perfect for testing, development, and small projects.
How does pricing work?
We offer a free tier with 125 calls/month (1,000 in your first month), Starter at $29/month (10,000 calls/month), Growth at $49/month (25,000 calls/month), Pro at $99/month (50,000 calls/month), and Scale at $299/month (500,000 calls/month). Annual billing costs 10 months' price for 12 months (2 months free). All paid plans start with a 7-day free trial and include higher rate limits, webhooks and WebSocket support; Pro and Scale add priority email support. On monthly plans, calls beyond your plan cost $2 per 1,000, capped at $25/month by default, and you can change the cap or set it to $0 anytime. Need more than 500,000 calls a month or betting data? Email austin@elcodev.com. You can upgrade or downgrade at any time.
Is there a free trial on paid plans?
Yes. Every paid plan starts with a 7-day free trial, or 14 days if you signed up through another customer's referral link; one trial per customer (per account, email or card). During the trial, usage is capped at 10,000 calls on every plan; to unlock your plan's full allowance right away, start your paid plan early from the billing section of your dashboard. Cancel before the trial ends and you won't be charged. Overage billing is not available during the trial.
Do you have a referral program?
Yes. Every account has a referral link on its dashboard. When someone signs up with your link and starts a paid plan, you get a one-time account credit worth 10% of their plan's price, applied to your next invoice (you need to be on a paid plan when they upgrade). The person you refer gets a 14-day free trial instead of 7 on any paid plan, with the usual one-trial-per-customer rule and 10,000-call trial cap.
How many WebSocket connections can I open?
Free 1, Starter 2, Growth 3, Pro 5 and Scale 25 concurrent connections. On a monthly paid plan with overage on, you can open extra connections beyond your plan, up to 3x its limit, at $0.02 per extra connection-hour (metered in 6-minute blocks). Extra connections count toward your monthly overage cap; when the cap is reached, new extras are refused and existing extras are closed, while your within-plan connections stay open. Extra connections are on by default and can be turned off in the billing section of your dashboard.
Do you offer webhooks?
Yes! Webhooks are available on all paid plans (Starter, Growth, Pro, and Scale). You can receive real-time notifications for events like score changes, game status updates, new plays, and game completions. Webhooks include signature verification for security.
Do you support WebSockets?
Yes! WebSocket support is available on all paid plans (Starter, Growth, Pro, and Scale), and the free tier includes a 500-message monthly preview. Connect to our WebSocket server for real-time streaming of live game data, scores, and play-by-play updates. Perfect for building live dashboards and real-time applications.
What authentication method do you use?
Send your API key in the Authorization header as 'Bearer YOUR_API_KEY' (or as X-API-Key when a proxy strips Authorization). Keys are opaque strings, not JWTs. They are generated when you sign up and can be regenerated from your dashboard.
What happens if I exceed my rate limit?
Plan limits are monthly and reset at the start of each calendar month (UTC). On a monthly paid plan with overage on (the default for new subscriptions, after the free trial), calls beyond your plan keep working at $2 per 1,000 until your monthly overage cap is reached ($25 by default; you choose it in the dashboard, and $0 means stop at the plan limit). Past the limit and cap, requests return 429 Too Many Requests with an upgrade_url pointing to your dashboard. Free and annual plans stop at the plan limit; on the free plan you can also buy a one-time top-up (1,000 extra calls for $5 this month, up to twice a month). REST calls, WebSocket messages and webhook deliveries beyond the plan each count as one.
Can I get more free-plan calls without a subscription?
Yes. One-time top-up: 1,000 extra calls for $5 this month, up to twice a month; unused calls expire at month end; no subscription. Buy it from the usage meter in your dashboard. Purchased calls are added to that calendar month's (UTC) allowance for REST API and MCP requests and do not carry over to the next month. Top-ups are only for accounts on the free plan. If you need more than 2,000 extra calls a month, Starter is better value: 10,000 calls a month for $29, with a 7-day free trial for new customers.
Is there rate limiting?
Yes, we have rate limits to ensure fair usage. Free tier: 1,000 calls in the first 30 days, then 125 calls/month, 1 call/second. Starter: 10,000 calls/month, 5 calls/second. Growth: 25,000 calls/month, 10 calls/second. Pro: 50,000 calls/month, 20 calls/second. Scale: 500,000 calls/month, 100+ calls/second.
How accurate is the data?
Our data is aggregated from publicly available sources and updated in near real time. We work to keep it accurate, but upstream sources can contain errors, delays, or gaps, and we do not guarantee that the data is accurate or complete. Data is provided for informational purposes and should not be used for wagering decisions.
Can I use this for commercial projects?
Yes. All plans, including Free, allow commercial use, and no attribution is required. You can't resell or redistribute the raw data feed. See "What you can build" below for what's allowed.
Do you have an SDK or client libraries?
There are small JavaScript/TypeScript and Python SDKs on GitHub (github.com/ElcoDevRepos/realtime-sports-api-js and realtime-sports-api-python, installable straight from GitHub), runnable examples at github.com/ElcoDevRepos/realtime-sports-api-examples, an OpenAPI spec at /openapi.json and step-by-step guides at /guides. Any HTTP client works; WebSocket clients can use standard WebSocket libraries.
What's the difference between webhooks and WebSockets?
Webhooks send HTTP POST requests to your server when events occur - perfect for server-to-server communication. WebSockets provide a persistent connection for real-time streaming - ideal for client applications and live dashboards. Both are available on all paid plans.
How do I handle errors?
Our API returns standard HTTP status codes (200 for success, 400 for bad requests, 401 for authentication errors, 429 for rate limits, 500 for server errors). All error responses include a JSON body with error details and suggested fixes. See our documentation for error handling examples.
Is there a sandbox or test environment?
The free tier serves as our sandbox - you can test all endpoints with real data using your free monthly calls (1,000 in your first month, 125/month after). All endpoints work the same across all tiers, so you can develop and test on the free tier before upgrading.
How do I upgrade my plan?
Log into your dashboard at realtimesportsapi.com/dashboard and click 'Upgrade Plan'. You'll be redirected to Stripe to complete payment. Your API key remains the same, and higher limits take effect immediately. You can upgrade or downgrade at any time.
What payment methods do you accept?
We accept all major credit cards through Stripe, billed monthly or yearly (2 months free), with no long-term commitment on monthly plans. Scale customers can arrange invoicing. All payments are secure and processed through Stripe's PCI-compliant infrastructure.
Can I cancel anytime?
Yes! You can cancel your subscription at any time from your dashboard. There are no long-term contracts or cancellation fees. You'll retain access until the end of your billing period, then revert to the free tier.
Do you offer refunds?
Yes, we offer a 7-day money-back guarantee on all paid plans. If you're not satisfied within the first 7 days, contact us for a full refund. No questions asked.
What kind of support do you provide?
Support is by email, answered by the founder. Free: documentation plus best-effort email support. Starter and Growth: email support, usually within 24-48 hours. Pro: priority email support (answered first). Scale: priority email support and a named point of contact (the founder). There is no phone support and no SLA.
Is my data secure?
We use API-key authentication over HTTPS for all API requests, rate limiting to prevent abuse, and follow industry best practices for data security. We never share your API usage data with third parties.
How do I integrate webhooks?
Create a webhook URL in your dashboard, select the events you want to receive (score changes, status updates, new plays, etc.), and provide your endpoint URL. We'll send HTTP POST requests with JSON payloads and include a signature header for verification. See our documentation for examples.
How do I connect to WebSockets?
First, get a WebSocket token from /api/websocket/auth using your API key. Then connect to our WebSocket server, authenticate with the token, and subscribe to events. See our documentation for complete JavaScript and Node.js examples.
What programming languages are supported?
Our REST API works with any programming language that can make HTTP requests - JavaScript, Python, Ruby, PHP, Go, Java, C#, Swift, and more. We provide code examples for popular languages in our documentation.
Can I get historical data?
Yes, for past seasons the source still serves: for example /seasons/2022/schedule?week=1 returns the 2022 NFL week 1 games with final scores, and games keep their play-by-play and box scores by event id. Coverage of older seasons varies by league. The news archive begins on 2026-09-02.
How often is data updated?
During live games we check our source every few seconds and push changes within about a second of seeing them. End to end, plays typically arrive 20–30 seconds after they happen on the field. Every play includes its real-world time (wallClock) and every message a server timestamp, so you can measure delivery yourself. Webhooks and WebSockets notify you as soon as we have an update.
What's the best plan for my use case?
Free tier: Testing and small projects (1,000 calls in the first 30 days, then 125 calls/month). Starter: Small apps and prototypes (up to 10K calls/month). Growth: Apps that have outgrown Starter (up to 25K calls/month). Pro: Production apps and moderate traffic (up to 50K calls/month). Scale: High-volume applications (up to 500K calls/month), custom needs, and dedicated support.
Do you have an API status page?
Yes: realtimesportsapi.com/status shows current component health, and /api/health returns it as JSON.
Can I use this for sports betting?
Yes. We provide live odds (spread, moneyline, over/under) via the API, odds history for line movement and closing lines, and real-time updates via webhooks (event.odds_change) and WebSockets (event_odds_change). You can request odds on single events or in bulk on live events, league events, and season schedule with includeOdds=true. See our Betting & Odds section in the documentation for details. Data typically runs 20-30 seconds behind the live broadcast with no SLA, so it suits pre-game research, odds tracking and results, not in-play betting or trading. Please ensure compliance with local gambling regulations.
Can I use this for fantasy sports?
Yes. Box scores with player stat lines (NFL, college football, NBA, MLB), play-by-play, injuries and live scores cover the usual fantasy needs; see the fantasy and odds feed guide at /guides/fantasy-odds-feed. Soccer box scores carry team totals only, and NHL box scores are not available.
What you can build
This is plain-language guidance; the Terms of Service govern if anything differs. Read the Terms of Service.
What can I build with the data?
Apps, websites, alerts, fantasy and pick'em tools, dashboards, bots, and your own models, forecasts and analytics. Commercial use is allowed on every plan, including Free, and you can charge your own users for what you build.
Can I send alerts to my users?
Yes. You can push scores, plays and other updates to your own users, free or paying, in your app or by push notification, SMS, email, Discord or Slack.
Can I store the data?
Yes. You can cache and store responses in your own systems for use in your product, for example to keep history or train models.
Can I sell models, forecasts or analytics built on the data?
Yes. Predictions, forecasts, rankings, derived statistics and other analytics you build from the data are fine to use and sell.
What is not allowed?
Reselling or redistributing the raw data feed, for example re-exposing it as your own sports data API or feed, and using it on live-streaming or pirate streaming sites. See the Terms of Service (sections 4.2 and 7) for the full rules.
Do I need a league licence, or to credit you?
We hold no league licence and are not affiliated with any league or team, so team names, logos and league trademarks you display are your responsibility. No attribution to Realtime Sports API is required.
Ready to Get Started?
Start with 1,000 free calls in your first month.