@apicity/thesportsdb
TheSportsDB V1 and V2 sports data API provider.
Runtime dependencies:
zod@^4.6.6— request schemas attached to endpoint methods as.schema; response schemas exported
Installation
npm install @apicity/thesportsdb
# or
pnpm add @apicity/thesportsdb
Quick Start
import { createTheSportsDB } from "@apicity/thesportsdb";
const thesportsdb = createTheSportsDB({ apiKey: process.env.THESPORTSDB_API_KEY });
V2 Authentication
V1 calls default to TheSportsDB's free 123 key in the URL path when
apiKey is omitted. V2 is premium-only and sends the same apiKey in
the X-API-KEY header; V2 methods throw locally if no key is configured.
const thesportsdb = createTheSportsDB({
apiKey: process.env.THESPORTSDB_API_KEY!,
});
const teams = await thesportsdb.v2.search.team({
teamName: "Manchester United",
});
For V1 premium calls, the same apiKey option is encoded into the
path segment instead of a header:
const premiumV1 = createTheSportsDB({
apiKey: process.env.THESPORTSDB_API_KEY!,
});
const broadcasts = await premiumV1.v1.eventstv({
channel: "Peacock_Premium",
});
Operational Notes
All implemented TheSportsDB endpoints are read-only GET calls. The
provider does not expose mutating endpoints.
The implemented API surface has no pagination parameters. Upstream
responses use endpoint-specific wrapper arrays and documented result
limits; empty and no-result wrappers remain representable as null or
empty arrays.
Non-2xx responses throw TheSportsDBError with status and parsed
body where possible. Rate-limit responses keep their upstream 429
status and body. V2 methods throw a local 401 before fetch when no
apiKey is configured for X-API-KEY authentication.
Search Examples
TheSportsDB V1 uses the free 123 key by default. Pass apiKey only
when you have a premium key.
import { createTheSportsDB } from "@apicity/thesportsdb";
const thesportsdb = createTheSportsDB();
const teams = await thesportsdb.v1.searchTeams({
team: "Arsenal",
});
const events = await thesportsdb.v1.searchEvents({
event: "Arsenal_vs_Chelsea",
season: "2016-2017",
date: "2015-04-26",
});
const filename = await thesportsdb.v1.searchFilename({
filename: "English_Premier_League_2015-04-26_Arsenal_vs_Chelsea",
});
const players = await thesportsdb.v1.searchPlayers({
player: "Danny Welbeck",
});
const venues = await thesportsdb.v1.searchVenues({
venue: "Wembley",
});
No-result V1 searches preserve TheSportsDB's nullable wrapper arrays,
such as { teams: null } or { player: null }.
Player Lookup Examples
Player lookup, honours, former-team, milestone, contract, result, and statistics routes use TheSportsDB's numeric player id.
import { createTheSportsDB } from "@apicity/thesportsdb";
const thesportsdb = createTheSportsDB({
apiKey: process.env.THESPORTSDB_API_KEY,
});
const player = await thesportsdb.v1.lookupplayer({ idPlayer: 34145937 });
const honours = await thesportsdb.v1.lookuphonours({ idPlayer: 34147178 });
const stats = await thesportsdb.v1.lookupplayerstats({ idPlayer: 34146304 });
No-result responses preserve TheSportsDB's wrapper key with a null
value, for example { players: null }.
V1 uses an API key in the URL path. The provider defaults to the public
free key 123; pass apiKey to use your own key.
V2 uses the same apiKey option as an X-API-KEY header and is
available under thesportsdb.v2.
const league = await thesportsdb.v1.lookup.league({ idLeague: 4328 });
const table = await thesportsdb.v1.lookup.table({
idLeague: 4328,
season: "2020-2021",
});
const team = await thesportsdb.v1.lookup.team({ idTeam: 133604 });
const nextLeagueEvents = await thesportsdb.v2.schedule.next.league({
idLeague: 4328,
});
const liveSoccer = await thesportsdb.v2.livescore.bySport({
sport: "soccer",
});
V2 is premium-only and sends the same apiKey as an X-API-KEY
header. V2 lookup method names mirror the path segments:
const player = await thesportsdb.v2.lookup.player({ idPlayer: 34172575 });
const lineup = await thesportsdb.v2.lookup.eventLineup({
idEvent: 1937584,
});
const highlights = await thesportsdb.v2.lookup.eventHighlights({
idEvent: 2044892,
});
API Reference
84 endpoints across 40 groups. Each method mirrors an upstream URL path.
all
GET thesportsdb.v2.all.countries
GET https://www.thesportsdb.com/api/v2/json/all/countries
Cost tier: cheap
const res = await thesportsdb.get.v2.all.countries();
GET thesportsdb.v2.all.leagues
GET https://www.thesportsdb.com/api/v2/json/all/leagues
Cost tier: cheap
const res = await thesportsdb.get.v2.all.leagues();
GET thesportsdb.v2.all.sports
GET https://www.thesportsdb.com/api/v2/json/all/sports
Cost tier: cheap
const res = await thesportsdb.get.v2.all.sports();
allCountries
GET thesportsdb.v1.allCountries
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/all_countries.php
Cost tier: cheap
const res = await thesportsdb.v1.allCountries();
allLeagues
GET thesportsdb.v1.allLeagues
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/all_leagues.php
Cost tier: cheap
const res = await thesportsdb.v1.allLeagues();
allSports
GET thesportsdb.v1.allSports
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/all_sports.php
Cost tier: cheap
const res = await thesportsdb.v1.allSports();
eventResults
GET thesportsdb.v1.eventResults
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventresults.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventResults({ /* ... */ });
eventsday
GET thesportsdb.v1.eventsday
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventsday.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventsday({ /* ... */ });
eventshighlights
GET thesportsdb.v1.eventshighlights
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventshighlights.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventshighlights({ /* ... */ });
eventslast
GET thesportsdb.v1.eventslast
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventslast.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventslast({ /* ... */ });
eventsnext
GET thesportsdb.v1.eventsnext
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventsnext.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventsnext({ /* ... */ });
eventsnextleague
GET thesportsdb.v1.eventsnextleague
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventsnextleague.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventsnextleague({ /* ... */ });
eventspastleague
GET thesportsdb.v1.eventspastleague
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventspastleague.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventspastleague({ /* ... */ });
eventsseason
GET thesportsdb.v1.eventsseason
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventsseason.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventsseason({ /* ... */ });
eventstv
GET thesportsdb.v1.eventstv
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/eventstv.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.eventstv({ /* ... */ });
filter
GET thesportsdb.v2.filter.tv.channel
GET https://www.thesportsdb.com/api/v2/json/filter/tv/channel/{channel}
Cost tier: cheap
const res = await thesportsdb.get.v2.filter.tv.channel({ /* ... */ });
GET thesportsdb.v2.filter.tv.channelid
GET https://www.thesportsdb.com/api/v2/json/filter/tv/channelid/{idChannel}
Cost tier: cheap
const res = await thesportsdb.get.v2.filter.tv.channelid({ /* ... */ });
GET thesportsdb.v2.filter.tv.country
GET https://www.thesportsdb.com/api/v2/json/filter/tv/country/{country}
Cost tier: cheap
const res = await thesportsdb.get.v2.filter.tv.country({ /* ... */ });
GET thesportsdb.v2.filter.tv.day
GET https://www.thesportsdb.com/api/v2/json/filter/tv/day/{date}
Cost tier: cheap
const res = await thesportsdb.get.v2.filter.tv.day({ /* ... */ });
GET thesportsdb.v2.filter.tv.sport
GET https://www.thesportsdb.com/api/v2/json/filter/tv/sport/{sport}
Cost tier: cheap
const res = await thesportsdb.get.v2.filter.tv.sport({ /* ... */ });
list
GET thesportsdb.v2.list.players
GET https://www.thesportsdb.com/api/v2/json/list/players/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.list.players({ /* ... */ });
GET thesportsdb.v2.list.seasonposters
GET https://www.thesportsdb.com/api/v2/json/list/seasonposters/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.list.seasonposters({ /* ... */ });
GET thesportsdb.v2.list.seasons
GET https://www.thesportsdb.com/api/v2/json/list/seasons/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.list.seasons({ /* ... */ });
GET thesportsdb.v2.list.teams
GET https://www.thesportsdb.com/api/v2/json/list/teams/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.list.teams({ /* ... */ });
livescore
GET thesportsdb.v2.livescore.all
GET https://www.thesportsdb.com/api/v2/json/livescore/all
Cost tier: cheap
const res = await thesportsdb.get.v2.livescore.all();
GET thesportsdb.v2.livescore.byLeague
GET https://www.thesportsdb.com/api/v2/json/livescore/{leagueId}
Cost tier: cheap
const res = await thesportsdb.get.v2.livescore.byLeague({ /* ... */ });
GET thesportsdb.v2.livescore.bySport
GET https://www.thesportsdb.com/api/v2/json/livescore/{sport}
Cost tier: cheap
const res = await thesportsdb.get.v2.livescore.bySport({ /* ... */ });
lookup
GET thesportsdb.v2.lookup.event
GET https://www.thesportsdb.com/api/v2/json/lookup/event/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.event({ /* ... */ });
GET thesportsdb.v2.lookup.eventHighlights
GET https://www.thesportsdb.com/api/v2/json/lookup/event_highlights/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventHighlights({ /* ... */ });
GET thesportsdb.v2.lookup.eventLineup
GET https://www.thesportsdb.com/api/v2/json/lookup/event_lineup/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventLineup({ /* ... */ });
GET thesportsdb.v2.lookup.eventResults
GET https://www.thesportsdb.com/api/v2/json/lookup/event_results/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventResults({ /* ... */ });
GET thesportsdb.v2.lookup.eventStats
GET https://www.thesportsdb.com/api/v2/json/lookup/event_stats/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventStats({ /* ... */ });
GET thesportsdb.v2.lookup.eventTimeline
GET https://www.thesportsdb.com/api/v2/json/lookup/event_timeline/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventTimeline({ /* ... */ });
GET thesportsdb.v2.lookup.eventTv
GET https://www.thesportsdb.com/api/v2/json/lookup/event_tv/{idEvent}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.eventTv({ /* ... */ });
GET thesportsdb.v2.lookup.league
GET https://www.thesportsdb.com/api/v2/json/lookup/league/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.league({ /* ... */ });
GET thesportsdb.v2.lookup.player
GET https://www.thesportsdb.com/api/v2/json/lookup/player/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.player({ /* ... */ });
GET thesportsdb.v2.lookup.playerContracts
GET https://www.thesportsdb.com/api/v2/json/lookup/player_contracts/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerContracts({ /* ... */ });
GET thesportsdb.v2.lookup.playerHonours
GET https://www.thesportsdb.com/api/v2/json/lookup/player_honours/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerHonours({ /* ... */ });
GET thesportsdb.v2.lookup.playerMilestones
GET https://www.thesportsdb.com/api/v2/json/lookup/player_milestones/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerMilestones({ /* ... */ });
GET thesportsdb.v2.lookup.playerResults
GET https://www.thesportsdb.com/api/v2/json/lookup/player_results/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerResults({ /* ... */ });
GET thesportsdb.v2.lookup.playerStats
GET https://www.thesportsdb.com/api/v2/json/lookup/player_stats/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerStats({ /* ... */ });
GET thesportsdb.v2.lookup.playerTeams
GET https://www.thesportsdb.com/api/v2/json/lookup/player_teams/{idPlayer}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.playerTeams({ /* ... */ });
GET thesportsdb.v2.lookup.team
GET https://www.thesportsdb.com/api/v2/json/lookup/team/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.team({ /* ... */ });
GET thesportsdb.v2.lookup.teamEquipment
GET https://www.thesportsdb.com/api/v2/json/lookup/team_equipment/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.teamEquipment({ /* ... */ });
GET thesportsdb.v2.lookup.venue
GET https://www.thesportsdb.com/api/v2/json/lookup/venue/{idVenue}
Cost tier: cheap
const res = await thesportsdb.get.v2.lookup.venue({ /* ... */ });
GET thesportsdb.v1.lookup.equipment
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupequipment.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookup.equipment({ /* ... */ });
GET thesportsdb.v1.lookup.league
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupleague.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookup.league({ /* ... */ });
GET thesportsdb.v1.lookup.table
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookuptable.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookup.table({ /* ... */ });
GET thesportsdb.v1.lookup.team
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupteam.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookup.team({ /* ... */ });
GET thesportsdb.v1.lookup.venue
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupvenue.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookup.venue({ /* ... */ });
lookupAllPlayers
GET thesportsdb.v1.lookupAllPlayers
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookup_all_players.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupAllPlayers({ /* ... */ });
lookupcontracts
GET thesportsdb.v1.lookupcontracts
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupcontracts.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookupcontracts({ /* ... */ });
lookupEvent
GET thesportsdb.v1.lookupEvent
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupevent.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupEvent({ /* ... */ });
lookupEventStats
GET thesportsdb.v1.lookupEventStats
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupeventstats.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupEventStats({ /* ... */ });
lookupformerteams
GET thesportsdb.v1.lookupformerteams
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupformerteams.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookupformerteams({ /* ... */ });
lookuphonours
GET thesportsdb.v1.lookuphonours
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookuphonours.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookuphonours({ /* ... */ });
lookupLineup
GET thesportsdb.v1.lookupLineup
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookuplineup.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupLineup({ /* ... */ });
lookupmilestones
GET thesportsdb.v1.lookupmilestones
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupmilestones.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookupmilestones({ /* ... */ });
lookupplayer
GET thesportsdb.v1.lookupplayer
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupplayer.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookupplayer({ /* ... */ });
lookupplayerstats
GET thesportsdb.v1.lookupplayerstats
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookupplayerstats.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.lookupplayerstats({ /* ... */ });
lookupTimeline
GET thesportsdb.v1.lookupTimeline
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookuptimeline.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupTimeline({ /* ... */ });
lookupTv
GET thesportsdb.v1.lookupTv
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/lookuptv.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.lookupTv({ /* ... */ });
playerresults
GET thesportsdb.v1.playerresults
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/playerresults.php?id={idPlayer}
Cost tier: cheap
const res = await thesportsdb.v1.playerresults({ /* ... */ });
schedule
GET thesportsdb.v2.schedule.full.team
GET https://www.thesportsdb.com/api/v2/json/schedule/full/team/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.full.team({ /* ... */ });
GET thesportsdb.v2.schedule.league
GET https://www.thesportsdb.com/api/v2/json/schedule/league/{idLeague}/{season}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.league({ /* ... */ });
GET thesportsdb.v2.schedule.next.league
GET https://www.thesportsdb.com/api/v2/json/schedule/next/league/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.next.league({ /* ... */ });
GET thesportsdb.v2.schedule.next.team
GET https://www.thesportsdb.com/api/v2/json/schedule/next/team/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.next.team({ /* ... */ });
GET thesportsdb.v2.schedule.next.venue
GET https://www.thesportsdb.com/api/v2/json/schedule/next/venue/{idVenue}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.next.venue({ /* ... */ });
GET thesportsdb.v2.schedule.previous.league
GET https://www.thesportsdb.com/api/v2/json/schedule/previous/league/{idLeague}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.previous.league({ /* ... */ });
GET thesportsdb.v2.schedule.previous.team
GET https://www.thesportsdb.com/api/v2/json/schedule/previous/team/{idTeam}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.previous.team({ /* ... */ });
GET thesportsdb.v2.schedule.previous.venue
GET https://www.thesportsdb.com/api/v2/json/schedule/previous/venue/{idVenue}
Cost tier: cheap
const res = await thesportsdb.get.v2.schedule.previous.venue({ /* ... */ });
search
GET thesportsdb.v2.search.event
GET https://www.thesportsdb.com/api/v2/json/search/event/{eventName}
Cost tier: cheap
const res = await thesportsdb.get.v2.search.event({ /* ... */ });
GET thesportsdb.v2.search.league
GET https://www.thesportsdb.com/api/v2/json/search/league/{leagueName}
Cost tier: cheap
const res = await thesportsdb.get.v2.search.league({ /* ... */ });
GET thesportsdb.v2.search.player
GET https://www.thesportsdb.com/api/v2/json/search/player/{playerName}
Cost tier: cheap
const res = await thesportsdb.get.v2.search.player({ /* ... */ });
GET thesportsdb.v2.search.team
GET https://www.thesportsdb.com/api/v2/json/search/team/{teamName}
Cost tier: cheap
const res = await thesportsdb.get.v2.search.team({ /* ... */ });
GET thesportsdb.v2.search.venue
GET https://www.thesportsdb.com/api/v2/json/search/venue/{venueName}
Cost tier: cheap
const res = await thesportsdb.get.v2.search.venue({ /* ... */ });
searchAllLeagues
GET thesportsdb.v1.searchAllLeagues
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/search_all_leagues.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchAllLeagues({ /* ... */ });
searchAllSeasons
GET thesportsdb.v1.searchAllSeasons
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/search_all_seasons.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchAllSeasons({ /* ... */ });
searchAllTeams
GET thesportsdb.v1.searchAllTeams
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/search_all_teams.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchAllTeams({ /* ... */ });
searchEvents
GET thesportsdb.v1.searchEvents
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/searchevents.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchEvents({ /* ... */ });
searchFilename
GET thesportsdb.v1.searchFilename
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/searchfilename.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchFilename({ /* ... */ });
searchPlayers
GET thesportsdb.v1.searchPlayers
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/searchplayers.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchPlayers({ /* ... */ });
searchTeams
GET thesportsdb.v1.searchTeams
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/searchteams.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchTeams({ /* ... */ });
searchVenues
GET thesportsdb.v1.searchVenues
GET https://www.thesportsdb.com/api/v1/json/{apiKey}/searchvenues.php{query}
Cost tier: cheap
const res = await thesportsdb.v1.searchVenues({ /* ... */ });
Part of the apicity monorepo.
License
MIT — see LICENSE.