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 MORECapabilities
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.
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
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
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
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
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
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
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.
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.
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.
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
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
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.
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.
Every endpoint in the documentation includes a sample request in Shell, JavaScript, PHP, and Python.
Related APIs
The same SteadyAPI key opens these APIs too.
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
The NHL weekly schedule, daily scores, standings, and a club's roster, monthly games, and season stats. Hockey API
Quotes, price history, option chains, and earnings and dividend calendars for finance features. Stock and Options API
Pricing
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 per month | Starter $14.99 per month | Developer $39.99 per month | Business Popular $89.99 per month | Enterprise $299.99 per month | |
|---|---|---|---|---|---|
| Subscribe | Subscribe | Subscribe | Subscribe | Subscribe | |
| Requests per month | 500 | 10,000 | 50,000 | 250,000 | 2,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.50 per 1,000 requests | $0.09 per 1,000 requests | |
| Overage cap | up to 50,000 extra | up to 250,000 extra | up to 1,250,000 extra | up to 12,500,000 extra |
Free $0.00 per year | Starter $11.96 per month$143.52 billed yearly | Developer $32.50 per month$389.99 billed yearly | Business Popular $72.50 per month$869.99 billed yearly | Enterprise $320.83 per month$3,849.99 billed yearly | |
|---|---|---|---|---|---|
| Subscribe | Subscribe | Subscribe | Subscribe | Subscribe | |
| Requests per month | 500 | 10,000 | 50,000 | 250,000 | 2,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.50 per 1,000 requests | $0.09 per 1,000 requests | |
| Overage cap | up to 50,000 extra | up to 250,000 extra | up to 1,250,000 extra | up 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
Lists hand you ids, and detail calls take them, so you request depth only for the matches and clubs you show.