API-Sports
API-Sports provides comprehensive sports data APIs covering over 2,000 competitions with more than 15 years of historical data, offering real-time updates and easy integration for developers.
Verdict
Common use cases
- Pull today's match schedule for any league
- Check starting lineups before kickoff
- Analyze player stats across multiple fixtures
- Track league standings and round progression
- Export fixture events for post-match analysis
Integration
- Vendor
- API-Sports
- Category
- developer-tools
- Auth
- API_KEY
- Tools
- 31
- Composio slug
api_sports
Tools
- Get Coaches
Tool to fetch coaches and their career history. use when you need coach info by id, team filter, or name search.
- Get Countries
Tool to fetch available countries for league queries. use when filtering by name, code, or search string before retrieving leagues.
- Get Fixture Lineups
Tool to retrieve starting xi and substitutes for a fixture. use after confirming fixture id; optionally filter by team, player, or section (startxi/substitutes). lineups appear ~20-40 minutes before kickoff for supported competitions.
- Get Fixtures
Tool to retrieve football fixtures/matches. use when filtering fixtures by id, date, league, season, team, or date ranges to get upcoming or past matches.
- Get fixtures events
Tool to get events (goals, cards, substitutions, var, etc.) from a fixture. use when you need detailed event data after confirming the fixture id.
- Get fixtures players
Tool to get player statistics from a fixture. use when you need detailed per-player stats for a specific match. optionally filter by team.
- Get Fixtures Rounds
Tool to get the rounds for a league or cup. use after confirming league and season to retrieve available round identifiers (optionally with dates) for filtering fixtures.
- Get fixture statistics
Tool to get statistics for a fixture. use when you need detailed match stats (shots, fouls, possession, cards, passes, etc.), optionally filtered by team, statistic type, or including halftime data.
- Get Head-to-Head Fixtures
Tool to get head-to-head fixtures between two teams. use after determining team ids to compare their direct match history.
- Get Injuries
Tool to get injured or suspended players. use when you need a list of sidelined players filtered by league, season, fixture, team, player, date, ids, or timezone.
- Get In-Play Odds
Tool to fetch in-play odds for fixtures in progress. use during live matches to get in-play odds.
- Get Leagues
Tool to retrieve leagues and cups. use when filtering competitions by id, name, country, code, season, team, type, current, search, or last.
- Get League Seasons
Tool to get the list of available seasons for all leagues. use when you need season filters for other league endpoints.
- Get Live Odds Bets
Tool to fetch all available bet types for in-play odds. use when you need to retrieve bet ids or names (optionally filtering by id or search) before fetching live odds.
- Get Odds
Tool to fetch pre-match odds. use when you need odds filterable by fixture, league, season, date, timezone, bookmaker, bet, or to navigate pages.
- Get Odds Bets
Tool to get all available pre-match bet types. use when filtering by bet id or searching bet names before fetching odds.
- Get Odds Bookmakers
Tool to list all available pre-match bookmakers. use when you need to discover or filter bookmakers before fetching odds.
- Get Players
Tool to get player statistics. use when fetching players by id, team, league, season, search, or pagination.
- Get Players Profiles
Tool to get the list of all available players. use when you need player profiles optionally filtered by id, name search, or page.
- Get Players Seasons
Tool to list all available seasons for player statistics. use when building a player statistics query, optionally filtering by a specific player id.
- Get Players Teams
Tool to get the list of teams and seasons in which a player played during his career. use after confirming the player id to retrieve club history.
- Get Players Top Assists
Tool to get the 20 best players (top assists) for a league or cup. use after confirming league and season.
- Get Players Top Scorers
Tool to get the 20 best players (top scorers) for a league or cup. use after confirming league and season.
- Get Players Top Yellow Cards
Tool to get the 20 players with the most yellow cards for a league or cup. use after confirming league and season.
- Get Predictions
Tool to get predictions about a fixture. use when you need calculated predictions for a given fixture id.
- Get Sidelined
Tool to get sidelined information (injuries, suspensions, etc.). use when you need current sidelined records filtered by league, season, team, player, or type.
- Get Teams
Tool to retrieve available teams. use when filtering teams by id, name, league, season, country, code, venue, or search before fetching detailed team data.
- Get team statistics
Tool to get detailed statistics of a team for a given league and season. use after confirming league, season, and team id.
- Get Timezone
Tool to fetch the complete list of available timezones for fixture queries. use when you need valid timezone identifiers (e.g., 'europe/london') before calling fixtures endpoints.
- Get Transfers
Tool to get all available transfers for players and teams. use when you need transfer history filtered by player or team.
- Get Trophies
Tool to get trophies for a player or coach. use when you need to list honors filtered by player(s) or coach(es).
Setup
Setup guide
- 11. Visit api-sports.io and sign up for an account to generate your API key. 2. In Switchy, open Settings → Integrations → Developer Tools and click 'Connect' next to API-Sports. 3. Paste your API key into the prompt and click 'Authorize'. 4. Switchy confirms the connection by testing a lightweight endpoint (typically fetching available countries). 5. Open any Space and type '@API-Sports get fixtures for Premier League today' to verify the integration works. 6. The MCP responds with fixture data in structured format — you can follow up with '@API-Sports get lineup for fixture 12345' to drill into specific matches. 7. Monitor your daily request quota in the API-Sports dashboard; upgrade your plan if you hit the 100-request free-tier limit during heavy use.
What teammates see: by default, memories from API-Sports are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Today's Premier League Fixtures
@API-Sports get all fixtures for the Premier League today, including team names and kickoff timesOpen in a Space →
Lineup for Upcoming Match
@API-Sports get the starting lineup and substitutes for fixture ID 12345, broken down by teamOpen in a Space →
Player Stats from Last Game
@API-Sports get player statistics for fixture 67890, including shots, passes, and minutes playedOpen in a Space →
Match Events Timeline
@API-Sports get all events for fixture 11223, showing goals, yellow cards, and substitutions with timestampsOpen in a Space →
League Rounds and Dates
@API-Sports get all rounds for La Liga 2024 season, including the date range for each roundOpen in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@API-Sports show me all fixtures for Manchester United in the 2024 Premier League season, sorted by date
Based on the API-Sports data, Manchester United played 38 Premier League fixtures in the 2024 season. The season opened August 16, 2024 with a 1-0 home win vs. Fulham, and concluded May 25, 2025 away at Brighton (2-1 loss). Notable results include the 3-0 derby win over Manchester City (April 6) and a 2-2 draw at Anfield (January 5). This example shows 8 of 38 total fixtures; the full dataset includes kickoff times, venues, scores, and fixture IDs for deeper analysis.
This read-heavy example demonstrates the Get Fixtures tool filtering by team, league, and season. Requires a valid API key with sufficient quota—API-Sports enforces rate limits (typically 100 requests/day on free tier). The response shape depends on whether fixtures are completed (scores available) or scheduled (TBD status). Always confirm league ID and season format (YYYY) before querying.
@API-Sports pull the full match statistics for fixture 1234567 including possession, shots on target, fouls, and cards for both teams
Fixture 1234567 (Arsenal 2-1 Chelsea, March 12, 2024) shows Arsenal dominated possession 58%-42% and registered 6 shots on target vs. Chelsea's 4. Arsenal committed 11 fouls to Chelsea's 14, earning 2 yellow cards (Partey 34', White 67') while Chelsea received 3 yellows (Fernández 29', Silva 55', Gallagher 81'). Additional stats include 89% pass accuracy for Arsenal, 12 corners total, and 1 offside for each side. This illustrative breakdown reflects the kind of granular data API-Sports returns post-match.
This example uses Get fixture statistics to retrieve detailed match metrics. Fixture ID must be valid and the match must be completed—live or upcoming fixtures return incomplete data. The tool supports filtering by team or specific stat types (shots, fouls, cards, passes). Useful for post-match analysis but not real-time tracking. Pair with Get Fixtures to confirm fixture ID before requesting stats.
@API-Sports compare the goal-scoring events and substitutions between the two teams in fixture 9876543, then summarize which tactical changes influenced the outcome
Fixture 9876543 (Liverpool 3-2 Tottenham, February 18, 2024) saw Liverpool score in the 12th (Salah), 56th (Gakpo), and 78th (Núñez) minutes, while Tottenham replied in the 34th (Son) and 68th (Richarlison). Liverpool's 65th-minute double substitution—bringing on Núñez and Jones for Jota and Elliott—shifted momentum; Núñez's 78th-minute winner came 13 minutes after entering. Tottenham's 72nd-minute attacking change (Kulusevski for Højbjerg) arrived too late to prevent the decider. This synthesis illustrates how event timing and substitution windows correlate with scoring patterns.
This synthesis example combines Get fixtures events (goals, cards, subs) with AI reasoning to interpret tactical impact. Requires a completed fixture ID and demonstrates how to layer event data with narrative analysis. The MCP returns raw event timestamps and player IDs—context like 'momentum shift' comes from the AI's interpretation, not the API. Best for post-match breakdowns where you need both data and insight.
Use-case deep-dives
When API-Sports beats manual spreadsheets for draft research
A 6-person fantasy football league runs their draft in two weeks. The commissioner wants live player stats, injury history, and fixture difficulty for the next eight gameweeks. API-Sports is the right call here: the Get fixtures players and Get Fixtures tools pull per-match performance data across multiple leagues, and the Get Coaches endpoint surfaces managerial changes that shift rotation risk. The API key setup takes five minutes, and Switchy can cache the fixture list so the whole league references one shared context during the draft. The trade-off: if your league spans more than four top-tier competitions, you'll hit rate limits on the free tier and need to budget $15–30/month for the standard plan. If your draft is this weekend and you're comparing fewer than 50 players, API-Sports is overkill—use a static CSV.
Why API-Sports works for tight-deadline post-match coverage
A two-person sports blog publishes match recaps within 90 minutes of the final whistle. The writer needs goals, cards, substitutions, and possession stats formatted into a 400-word recap while the editor preps social posts. API-Sports is ideal: the Get fixtures events and Get fixture statistics tools return structured event timelines and team-level stats the moment the match ends, so Switchy can draft the recap skeleton in under two minutes. The Get Fixture Lineups tool confirms starting XIs for lineup graphics. The constraint: API-Sports doesn't include video highlights or quotes, so the writer still needs a broadcast feed or press-conference access. If your blog covers lower-division matches outside the top 20 leagues, check the Get Countries and Get Fixtures endpoints first—API-Sports coverage drops off sharply below tier two.
When API-Sports scales for multi-league betting models
A four-person betting syndicate runs a Python model that scores upcoming fixtures across eight European leagues. They need historical results, head-to-head records, and round-by-round fixture density to feed their expected-goals algorithm. API-Sports is the correct choice: the Get Fixtures and Get Fixtures Rounds tools support bulk queries by league and season, and the Get fixture statistics endpoint returns possession, shots, and pass-completion data for model training. Switchy becomes the shared interface where the syndicate reviews edge-case fixtures the model flags as high-variance. The breaking point: if your model ingests more than 500 fixtures per day, API-Sports' rate limits (300 requests/day on the free tier) force you onto the $60/month tier or a self-hosted scraper. For syndicates analyzing fewer than three leagues, API-Sports is the fastest path to production.
Frequently asked
What does the API-Sports MCP do in Switchy?
It connects Switchy to API-Sports' football data, letting your team query fixtures, lineups, player stats, and match events without writing API calls. You can ask questions like "show me Arsenal's last five results" or "who scored in yesterday's Champions League matches" and the MCP fetches live data using the 31 available tools.
Do I need my own API-Sports key to use this MCP?
Yes. The MCP uses API_KEY authentication, so you'll need an active API-Sports subscription and key. Paste your key into Switchy's connection settings. API-Sports offers free tiers with rate limits; check their pricing if your team needs higher quotas for frequent queries.
Can the API-Sports MCP send me alerts when a match starts?
No. The MCP is read-only — it fetches fixture schedules, lineups, and stats on demand but doesn't push notifications or watch for events. If you need alerts, pull fixture data into Switchy and use a separate automation tool to trigger notifications based on match times.
How is this different from just calling the API-Sports API directly?
The MCP wraps API-Sports endpoints so your team can query match data in plain English instead of writing HTTP requests and parsing JSON. It's faster for ad-hoc questions in Switchy but offers the same underlying data. If you're building a production app, call the API directly.
Who on the team should connect the API-Sports MCP?
Whoever holds the API-Sports account and key. That person connects it once in Switchy; then anyone in the workspace can query football data without needing their own key. If you're on a shared API-Sports plan, watch your rate limits across the team's usage.