Discover/FootyMetrics API
live

FootyMetrics APIfootymetrics.com ↗

Access football fixture lists, odds, team form, referee stats, H2H records, lineups, and per-player recent-match form via the FootyMetrics API.

Endpoint health
verified 1h ago
list_fixtures
get_fixture
get_fixture_counts
get_fixture_lineups
get_fixture_player_form
5/5 passing latest checkself-healing
Endpoints
5
Verified account required
Updated
1h ago

What is the FootyMetrics API?

The FootyMetrics API exposes 5 endpoints covering football fixture data from FootyMetrics.com, from daily schedule lists with pre-match odds and team form strings down to granular per-player recent-match statistics. The list_fixtures endpoint groups every fixture on a calendar day by league, with each row carrying kickoff time, live scores, form percentages, referee averages, and best-tip market predictions. The remaining endpoints drill into full fixture detail, lineup grids, and player-level form windows.

This call costs1 credit / call— charged only on success
Try it
Calendar day, ISO YYYY-MM-DD. Omitted = today in the given timezone.
IANA timezone name (e.g. Europe/London) used to decide which fixtures fall on the requested day.
Restrict the result to one league, using league_id as emitted by this endpoint's leagues[*].league_id. Omitted = all leagues.
→ api.parse.bot/scraper/a19633cd-6720-489a-b4da-d4f97cc9331f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a19633cd-6720-489a-b4da-d4f97cc9331f/list_fixtures?date=2026-10-16&timezone=Europe%2FLondon' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalmissing one? ·

Lists every fixture on one calendar day, grouped by league. Each fixture row carries kickoff time (UTC), status (NS = not started, FT = finished), score when played, home/away team summaries with recent win/over-2.5/BTTS percentages and last-5 form string, referee averages, pre-match odds (1X2, double chance, totals, BTTS, corner lines; key names are the market codes such as 1, X, 2, over25, btts, over95_corners) and the site's best tip when one exists. The day boundary is interpreted in the supplied IANA timezone; omitting the date uses the current day in that timezone. A league with no fixtures that day may appear with an empty fixtures list. One request per call; the result is the whole day, no pagination.

Input
ParamTypeDescription
datestringCalendar day, ISO YYYY-MM-DD. Omitted = today in the given timezone.
timezonestringIANA timezone name (e.g. Europe/London) used to decide which fixtures fall on the requested day.
league_idstringRestrict the result to one league, using league_id as emitted by this endpoint's leagues[*].league_id. Omitted = all leagues.
Response
{
  "type": "object",
  "fields": {
    "date": "requested day (YYYY-MM-DD)",
    "leagues": "array of league groups; each has league_id, league_apid, name, slug, country, logo, is_top, is_popular and fixtures",
    "timezone": "timezone the day was evaluated in",
    "league_count": "number of league groups returned",
    "fixture_count": "total fixtures across all leagues",
    "leagues[].fixtures": "array of fixture rows: fixture_id (use with get_fixture / get_fixture_player_form), fixture_apid (use with get_fixture_lineups), slug, kickoff_utc, status, state, round, stage_name, leg, home_goals, away_goals, home_position, away_position, neutral_venue, lineup_predicted, lineup_confirmed, has_trends, home, away, referee, odds, best_tip",
    "leagues[].fixtures[].home": "team summary: team_id, team_apid, name, code, slug, logo, type, form_last5 (w/d/l string, most recent last), win/over25/btts percentages over last 5/10/15 and home/away splits over last 5",
    "leagues[].fixtures[].odds": "object keyed by market code -> decimal odds (null-free; only markets the site priced)",
    "leagues[].fixtures[].best_tip": "object {market, marketLabel, label, line, side, prob, odds} or null"
  },
  "sample": {
    "data": {
      "date": "2026-10-15",
      "leagues": [
        {
          "logo": "https://cdn.footymetrics.com/leagues/5.webp",
          "name": "Europa League",
          "slug": "europa-league",
          "is_top": true,
          "country": "Europe",
          "fixtures": [
            {
              "leg": "1/1",
              "away": {
                "code": null,
                "logo": "https://cdn.footymetrics.com/teams/516.webp",
                "name": "Hapoel Be'er Sheva",
                "slug": "hapoel-be'er-sheva",
                "type": "club",
                "team_id": "280",
                "team_apid": 516,
                "form_last5": "wwdwl",
                "win_pct_last5": 60,
                "btts_pct_last5": 20,
                "win_pct_last10": 60,
                "win_pct_last15": 60,
                "btts_pct_last10": 50,
                "btts_pct_last15": 53,
                "over25_pct_last5": 20,
                "over25_pct_last10": 50,
                "over25_pct_last15": 53,
                "away_win_pct_last5": 80,
                "home_win_pct_last5": 40,
                "away_btts_pct_last5": 40,
                "home_btts_pct_last5": 60,
                "away_over25_pct_last5": 40,
                "home_over25_pct_last5": 60
              },
              "home": {
                "code": null,
                "logo": "https://cdn.footymetrics.com/teams/61.webp",
                "name": "AZ Alkmaar",
                "slug": "az-alkmaar",
                "type": "club",
                "team_id": "124",
                "team_apid": 61,
                "form_last5": "lwldw",
                "win_pct_last5": 40,
                "btts_pct_last5": 40,
                "win_pct_last10": 60,
                "win_pct_last15": 47,
                "btts_pct_last10": 50,
                "btts_pct_last15": 60,
                "over25_pct_last5": 20,
                "over25_pct_last10": 40,
                "over25_pct_last15": 47,
                "away_win_pct_last5": 60,
                "home_win_pct_last5": 60,
                "away_btts_pct_last5": 40,
                "home_btts_pct_last5": 60,
                "away_over25_pct_last5": 40,
                "home_over25_pct_last5": 40
              },
              "odds": {
                "1": 1.38,
                "2": 8.5,
                "12": 1.15,
                "X": 5.5,
                "1x": 1.1,
                "x2": 3.5,
                "btts": 1.8,
                "over15": 1.14,
                "over25": 1.45,
                "btts_no": 2,
                "under15": 5.5,
                "under25": 2.75,
                "over75_corners": 1.26,
                "over85_corners": 1.46,
                "over95_corners": 1.8,
                "over105_corners": 2.25,
                "under75_corners": 3.6,
                "under85_corners": 2.6,
                "under95_corners": 2,
                "under105_corners": 1.58
              },
              "slug": "35899458-europa-league-az-alkmaar-hapoel-be'er-sheva",
              "round": "League Stage",
              "state": 1,
              "status": "NS",
              "referee": {
                "name": "R. Gidzhenov",
                "slug": "7869-radoslav-gidzhenov",
                "avg_fouls": "25.70",
                "referee_id": "7869",
                "avg_yellow_cards": "5.14"
              },
              "best_tip": null,
              "away_goals": null,
              "fixture_id": "35899458",
              "has_trends": true,
              "home_goals": null,
              "stage_name": "League Stage",
              "kickoff_utc": "2026-10-15T16:45:00.000Z",
              "fixture_apid": 19873864,
              "away_position": null,
              "home_position": null,
              "neutral_venue": false,
              "lineup_confirmed": false,
              "lineup_predicted": true
            }
          ],
          "league_id": "2",
          "is_popular": true,
          "league_apid": 5
        }
      ],
      "timezone": "Europe/London",
      "league_count": 1,
      "fixture_count": 18
    },
    "status": "success"
  }
}

About the FootyMetrics API

Daily Schedule and Fixture Counts

list_fixtures accepts an ISO date string, an IANA timezone, and an optional league_id filter. The response is organised into leagues[] groups, each with metadata (league_id, league_apid, name, country, is_top, is_popular) and a fixtures[] array. Every fixture row includes fixture_id (used by get_fixture and get_fixture_player_form) and fixture_apid (used by get_fixture_lineups). Team summaries inside each fixture expose form_last5 (a w/d/l string, most-recent last), win/over-2.5/BTTS percentages, and a best_tip object with market, label, probability, and decimal odds. Before making date loops, call get_fixture_counts first — it returns a days[] array of {date, fixture_count} covering the site's rolling window (roughly two days back to fifteen days ahead), so you can skip dates with zero fixtures cheaply.

Full Fixture Detail

get_fixture takes a fixture_id and returns the complete match record. The fixture object includes UTC timestamp, per-half goals, both homeFormation and awayFormation, status, and state. The referee block covers career and current-season aggregate averages for cards, fouls, and penalties. has_h2h flags whether head-to-head history is available. Post-match events contains main events (goals, cards, substitutions) and corners, plus a periods[] array with name, order, score, and added time. venue returns name, city, capacity, and surface. Consensus decimal odds are keyed by market code and are null when a market was not priced.

Lineups and Sidelined Players

get_fixture_lineups is keyed by fixture_apid. The lineup_status object reports predicted, confirmed, and recent booleans alongside both formations. The lineup block contains home and away predicted or confirmed grids structured as rows of players. The sidelined array lists unavailable players with injury/suspension type, team_apid, and a player object containing shortName, photo, and slug.

Per-Player Form

get_fixture_player_form accepts a fixture_id plus three optional filters: window (5 or 10 matches), starters_only, and same_league_only. It returns 22 players — or fewer when no lineup is available — each with side, position, detailed_position, number, and a recent_matches array of per-match statistics. lineup_source reports whether the home and away sides drew from a confirmed, predicted, or recent lineup. team_season_stats adds home, away, and league-average per-match aggregates for the current competition.

Reliability & maintenanceVerified

The FootyMetrics API is a managed, monitored endpoint for footymetrics.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when footymetrics.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official footymetrics.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a pre-match dashboard showing team form strings, BTTS percentages, and best-tip markets from list_fixtures for a given league.
  • Aggregate referee card and foul averages from get_fixture to factor officiating tendencies into betting models.
  • Display confirmed lineups with sidelined player reasons from get_fixture_lineups before kick-off.
  • Compare player-level recent-match stats across the predicted XIs of an upcoming fixture using get_fixture_player_form with window=10.
  • Determine which dates have fixtures worth fetching by querying get_fixture_counts before building a daily scrape schedule.
  • Track live and final match events — goals, cards, corners, and period scores — via the events block in get_fixture.
  • Filter player form to competition-only appearances using same_league_only to reduce cross-competition noise in ratings models.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does FootyMetrics have an official public developer API?+
FootyMetrics does not publish an official developer API or documented public endpoints. This Parse API is the structured way to access its fixture and analytics data.
How do list_fixtures and get_fixture use different fixture identifiers?+
list_fixtures emits two ids per fixture row: fixture_id (a Parse-side identifier) and fixture_apid (the provider's id). Pass fixture_id to get_fixture and get_fixture_player_form; pass fixture_apid to get_fixture_lineups. Mixing them will return no results.
How far back and ahead does get_fixture_counts cover?+
The rolling window observed spans roughly two days in the past to fifteen days ahead. Dates outside that window will not appear in the days[] array. If you need historical fixture data beyond that range, you can fork this API on Parse and revise it to add a historical endpoint.
Does the API expose historical season-by-season statistics or standings tables?+
Not currently. The API returns current-season per-match team averages via team_season_stats in get_fixture_player_form and form percentages in list_fixtures and get_fixture, but multi-season standings or historical league tables are not included. You can fork this API on Parse and revise it to add an endpoint for historical standings if the source exposes them.
What happens when a fixture has no confirmed lineup yet?+
get_fixture_lineups returns lineup_status.confirmed as false and the lineup block falls back to predicted data when available. get_fixture_player_form sets lineup_available to false and returns an empty players array when no lineup of any kind exists. lineup_source on each side will be null in that case.
Page content last updated . Spec covers 5 endpoints from footymetrics.com.
Related APIs in SportsSee all →
sofascore.com API
Access head-to-head statistics and streaks for sporting events across a wide range of sports. Retrieve daily scheduled events, detailed H2H metrics (win rates, unbeaten records, draw rates, manager duels), and event fun facts. Filter and rank H2H streak metrics by configurable percentage thresholds to identify historically consistent patterns between any two teams.
statshub.com API
Access detailed football match statistics including xG, xGA, and possession metrics across multiple leagues, plus retrieve fixtures by date and current league standings. Get comprehensive season-level and match-level performance data to analyze team and player statistics in depth.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
oddspedia.com API
Find profitable betting opportunities and compare real-time odds across dozens of bookmakers to identify sure bets, value bets, and dropping odds for various sports. Filter matches by sport, league, and region to make informed betting decisions with comprehensive odds comparisons and match information.
aiscore.com API
Track upcoming football matches and analyze team performance with real-time fixtures and the last 5 match statistics for any team in your chosen fixture. Make informed predictions by accessing detailed team form data and scheduled games for any date.
football.co.il API
Track Israeli football league standings, fixtures, and team performance with comprehensive data on leagues, squads, and player statistics. Get detailed match information, top scorers, and team-specific stats to stay updated on the Israeli football season.
sportsgambler.com API
Access predicted and confirmed football starting lineups from major worldwide leagues to inform your betting decisions and match analysis. Get real-time lineup information for upcoming matches and confirmed team selections to stay ahead of the game.
uk.soccerway.com API
Get football fixtures from Soccerway by date, including competition name, teams, kickoff time, and score for completed matches.