Soccer matches, lineups, and stats

Football API

Start from a date or the live list, then open one match by its matchId for the lineup, events, team stats, preview, and bookmaker prices. Club, player, league table, and transfer calls sit alongside the match data.

Capabilities

What you can do with the Football API

Twenty-eight endpoints in four groups: match lists and match detail, leagues and transfers, club and player profiles, and current-season leaderboards for teams and players.

Live, upcoming, and by date

Get the matches in play right now, today's matches that have not kicked off, or the full list for a date, grouped by league. Each match has its start time, status, score, and the current minute while it is live. See examples

Search by name

Look up players, teams, and leagues by name. The response returns their ids in three lists, with each player's current team and each team's main league. See examples

One match in detail

With a matchId you can request the match header with venue, referee, and attendance, both lineups with formations and absentees, goals and cards in minute order, team stats with a shotmap and expected goals, a pre-match preview, and the head-to-head record. See examples

The club

A club profile has its country, main league, current season, venue, coach, recent form, and last and next match. The squad call lists the players with position, shirt number, age, market value, and injury status. See examples

Players and leaderboards

A player profile covers age, positions, market value, contract end, injuries, and current-season stats in the player's main league. Separate leaderboard calls rank players or teams in a league's current season by one stat, such as goals, tackles, or expected assists. See examples

Leagues, transfers, and odds

A league call returns the table, the fixtures, or recent transfers for a tournamentId, and the transfers call filters by league or by club. The match betting call returns one bookmaker's prices for a match in decimal, American, and fractional form. It reads prices only and places no bets. See examples

How a call is made

From a date to a match

Send your key as a bearer token in the Authorization header. A typical integration lists the day's matches first, then opens only the matches it displays.

The date

GET /api/v1/football/matches takes date as YYYYMMDD with no dashes, such as 20261001, read in America/New_York time. Without a date, the matches, live, and upcoming endpoints use today.

The match

Each match in those lists carries a matchId. Pass it to the match, lineup, events, stats, preview, head-to-head, prediction, or betting endpoint. Match data is cached for up to 60 seconds.

Names and ids

GET /api/v1/football/search requires search, 2 to 100 characters. Its results give the teamId for the team and squad calls, the playerId for the player call, and the tournamentId for the league call and the leaderboards.

Shortened examples

Sample responses

Trimmed responses for a live match, a club, one side of a lineup, a match event, a player, and a search. The live sample is frozen at the minute and score from when it was captured, so read the values as field examples.

{
    "matchId": 6280450,
    "status": "live",
    "minute": "18",
    "score": "0 - 1",
    "home": {
        "name": "Maldives",
        "score": 0
    },
    "away": {
        "name": "Lebanon",
        "score": 1
    },
    "startTime": "2026-10-01T14:00:00.000Z"
}
{
    "teamId": 9879,
    "name": "Fulham",
    "formation": "4-2-3-1",
    "coach": {
        "name": "Álvaro Arbeloa"
    },
    "starters": [
        {
            "name": "Bernd Leno",
            "shirtNumber": "1",
            "country": "Germany"
        }
    ]
}
{
    "playerId": 737066,
    "name": "Erling Haaland",
    "age": "26",
    "shirtNumber": 9,
    "country": "Norway",
    "team": {
        "name": "Manchester City"
    },
    "position": {
        "primary": "Striker"
    },
    "marketValue": "€98.8m"
}
{
    "teamId": 9825,
    "name": "Arsenal",
    "countryCode": "ENG",
    "primaryTournament": {
        "name": "Premier League"
    },
    "season": "2026/2027",
    "venue": {
        "name": "Emirates Stadium",
        "city": "London"
    },
    "coach": {
        "name": "Mikel Arteta"
    }
}
{
    "minute": 45,
    "type": "card",
    "side": "home",
    "player": {
        "name": "Joshua King"
    },
    "card": "Yellow"
}
{
    "players": [
        {
            "playerId": 1035614,
            "name": "Manuel Ugarte",
            "teamName": "Manchester United"
        }
    ],
    "teams": [
        {
            "teamId": 10260,
            "name": "Manchester United",
            "tournamentName": "Premier League"
        }
    ]
}

Before you integrate

Common questions

Answers about dates, ids, odds, and how the football endpoints connect.

JSON with a meta object and a body. Depending on the endpoint, the body is a list of matches grouped by league, the detail for one match, a club or player profile, a league tab, or a leaderboard page of 20 rows.

Yes, to read. /api/v1/football/match-betting returns one bookmaker's prices for a match, one row per market. Finished matches keep only the full-time result market. The API cannot place a bet.

No. They are trimmed responses kept to show the fields. The live-match sample keeps the minute and score from when it was captured.

As YYYYMMDD with no dashes, for example 20261001, in America/New_York time. The NHL and MLB APIs on SteadyAPI use YYYY-MM-DD, so check the format if your app calls more than one sports API.

Search by name with /api/v1/football/search, take the teamId from the teams list, and pass it to /api/v1/football/team for the profile or /api/v1/football/team-squad for the players.

Documentation

The football docs explain the date format and the id each endpoint expects, list the sort values for the team and player leaderboards, and show a sample response for each of the 28 endpoints.

Code samples

Every endpoint in the documentation includes a sample request in Shell, JavaScript, PHP, and Python.

ShellShellJavaScriptJavaScriptPHPPHPPythonPython

View documentation

Related APIs

Other sports and data APIs

The same SteadyAPI key opens these APIs too.

Baseball

MLB clubs, rosters, and the schedule for a YYYY-MM-DD date, followed by a game's box score and play-by-play. Baseball API

Hockey

The NHL weekly schedule, daily scores, standings, and a club's roster, monthly games, and season stats. Hockey API

Markets

Quotes, price history, option chains, and earnings and dividend calendars for finance features. Stock and Options API

Pricing

One plan covers every API

Your plan's monthly requests work on this API and every other SteadyAPI API. Plan details, overage rates, and the Free plan's daily cap are on the pricing page. Need more volume than the largest plan? Email [email protected].

Free
$0.00
$9.99
per month
Starter
$14.99
$19.99
per month
Developer
$39.99
$59.99
per month
Business Popular
$89.99
$99.99
per month
Enterprise
$299.99
$499.99
per month
SubscribeSubscribeSubscribeSubscribeSubscribe
Requests per month50010,00050,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$1.05 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 250,000 extraup to 12,500,000 extra
Free
$0.00
$94.99
per year
Starter
$11.96
$14.35
per month$143.52 billed yearly
Developer
$32.50
$40.00
per month$389.99 billed yearly
Business Popular
$72.50
$90.00
per month$869.99 billed yearly
Enterprise
$320.83
$400.00
per month$3,849.99 billed yearly
SubscribeSubscribeSubscribeSubscribeSubscribe
Requests per month50010,00050,0002,500,000
Stock Market API
Options Data API
Crypto Data API
AliExpress API
Reddit API
Booking.com API
Real Estate API
Baseball (MLB) API
Hockey API
Football API
Amazon API
eBay API
Walmart API
Instagram API
Twitter / X API
TikTok API
YouTube API
AutoHub API
ScrapeFlow
Commercial Use
Optional overage rate*$1.50 per 1,000 requests$1.05 per 1,000 requests$0.09 per 1,000 requests
Overage capup to 50,000 extraup to 250,000 extraup to 12,500,000 extra

* Overage is optional and stays off until you turn it on in Billing. It is available on paid plans billed by card through Stripe, and not during a trial. Usage is counted in monthly periods that start on your billing day, yearly plans included. Requests past the included limit are charged at the plan's rate for each started block of 1,000, up to the overage cap, on one invoice after the period ends. Amounts under $0.50 carry over to the next invoice. If you change plans during a period, the limit and overage rate of the plan you are on when the period ends apply to the whole period.

The Free plan is also capped at 20 requests per day (New York time). Requests count by endpoint weight, and only responses with HTTP status 200 count.

Commercial use is included only on the plans that list it. If you are not sure whether your project counts as commercial use, email [email protected] before you launch.

Why this API

How the football calls fit together

Lists hand you ids, and detail calls take them, so you request depth only for the matches and clubs you show.

List, then match

The date, live, and upcoming lists return a matchId for each match. Open the lineup, events, or stats only for the matches on your page.

Search when you have a name

Search turns a club, player, or league name into the teamId, playerId, or tournamentId that the profile and league calls expect.

Leaderboards when you need tables

Team and player leaderboards return 20 rows per page for one stat across up to 10 leagues. A live scoreboard can skip them entirely.

Your monthly plan

Countries and tournaments weigh 1, and the other 26 football endpoints weigh 2. Your plan's monthly requests go down by the weight of each call.

Also on the blog

From the blog

These posts come from across SteadyAPI, so the one at the top may be about a different API. The reference for this page is the documentation above.

How to Search Hotels Using SteadyAPISep 25, 2026

How to Search Hotels Using SteadyAPI

Learn how to find hotels by destination using SteadyAPI. Resolve a place name to coordinates, then pull property names, ratings, and prices with the Booking.com hotel search endpoints.

READ MORE
Predicting Property Value Trends: How to Use Real Estate Valuation APIsJul 19, 2026

Predicting Property Value Trends: How to Use Real Estate Valuation APIs

Learn how to build a predictive real estate valuation pipeline using SteadyAPI. This guide shows developers how to combine historical property values, multi-provider forecasts, neighborhood market trends, housing market indicators, and comparable sales data to power automated valuation models (AVMs), investment analytics, and property intelligence platforms with structured real-time API data.

READ MORE
How to Fetch Local School Ratings and Neighborhood Amenities via APIJul 19, 2026

How to Fetch Local School Ratings and Neighborhood Amenities via API

Neighborhood insights are just as important as the property itself. This guide shows developers how to use the SteadyAPI Neighborhood Amenities API to fetch school ratings, walkability and transit scores, and nearby amenities through a single endpoint. You'll learn how to authenticate requests, retrieve structured neighborhood data, filter schools and local businesses, and combine these metrics into a custom neighborhood quality score. Whether you're building a real estate marketplace, property valuation model, or location intelligence dashboard, this tutorial helps you enrich listings with valuable contextual data while reducing the complexity of managing multiple third-party integrations.

READ MORE
The Developer’s Guide to Integrating Real-Time MLS Property DataJul 19, 2026

The Developer’s Guide to Integrating Real-Time MLS Property Data

This guide walks developers through building a modern real estate data pipeline with SteadyAPI. You'll learn how to search MLS property listings, retrieve tax and transaction histories, analyze local housing market trends, and enrich property data with neighborhood and environmental insights. Instead of maintaining fragile web scrapers or navigating complex MLS integrations, SteadyAPI provides structured JSON APIs that simplify property data ingestion and help you build faster, more reliable real estate applications. Whether you're creating an investment platform, property valuation engine, market research tool, or analytics dashboard, this tutorial covers the essential endpoints and architecture needed to get started.

READ MORE