Search clubs
F
GET
/v1/teams
Search every club by name or country
Search across every club in the archive. Each carries its ground, city and coordinates, taken from its most recent home match.
Plan
This endpoint needs Free key. It works on the free key, which reads yesterday, as one whole day.
Parameters
country
string
query
Restrict to one country, by name as returned from
/v1/countries. e.g. England
league_id
string
query
Restrict to one competition. Ids come from
/v1/leagues: 39 is the English Premier League, 62 is Ligue 2. e.g. lg_24T9Z0G
limit
integer
query
Rows per page, 1–1000. Defaults to 100. e.g.
100
page
integer
query
Page number, 1-based. The response carries
total, total_pages, next_page and prev_page, so a UI pager has everything it needs from one call. If you send both page and cursor, page wins. e.g. 2
cursor
string
query
Opaque cursor from
meta.next_cursor. Pages by sort position rather than offset, so page 10,000 is as fast as page 1 and a new match arriving cannot shift the boundary. Pass it back unchanged; do not build or parse one yourself.Returns
data[].team_id
string
Our id for the club.
data[].team_name
string
The club's name.
data[].venue_name
string
The ground the match was played at.
data[].city_name
string
The town or city of the ground.
data[].latitude
number
The ground's latitude.
data[].longitude
number
The ground's longitude.
data[].match_count
integer
Match count.
meta.data_as_of
string
When the data behind this answer was last brought up to date.
meta.request_id
string
This request's id, to quote to support.
meta.count
integer
How many items are in this answer.
Request
curl "https://api.footballsoccerapi.com/v1/teams?country=England&league_id=lg_24T9Z0G&limit=100" \ -H "X-API-Key: $FSAPI_KEY"
const res = await fetch("https://api.footballsoccerapi.com/v1/teams?country=England&league_id=lg_24T9Z0G&limit=100", { headers: { "X-API-Key": process.env.FSAPI_KEY } }); const { data, meta } = await res.json();
import os, requests r = requests.get( "https://api.footballsoccerapi.com/v1/teams?country=England&league_id=lg_24T9Z0G&limit=100", headers={"X-API-Key": os.environ["FSAPI_KEY"]}, ) data = r.json()["data"]
$ch = curl_init("https://api.footballsoccerapi.com/v1/teams?country=England&league_id=lg_24T9Z0G&limit=100"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["X-API-Key: {$key}"], ]); $data = json_decode(curl_exec($ch), true)["data"];
Example response
A real row from the archive, fetched when this page rendered. Run it against your own key below.
200 OK
application/json
{
"data": [
{
"team_id": "tm_330DSKV",
"team_name": "Preston",
"venue_name": "Deepdale",
"city_name": "Preston",
"latitude": 53.759444444444,
"longitude": -2.6980555555556,
"match_count": 1810
},
{
"team_id": "tm_01EYX3Q",
"team_name": "Notts County",
"venue_name": "Meadow Lane",
"city_name": "Nottingham",
"latitude": 52.9425,
"longitude": -1.137222,
"match_count": 1809
},
{
"team_id": "tm_0J5SWZQ",
"team_name": "Derby",
"venue_name": "Pride Park",
"city_name": "Derby",
"latitude": 52.914138888889,
"longitude": -1.4584388888889,
"match_count": 1752
}
],
"meta": {
"data_as_of": "2026-10-29T04:32:57Z",
"request_id": "01J9QW3C7M4KX2VB",
"count": 3
}
}
Run it live
Paste your key and fire the real request. The key is kept in this browser only and never sent anywhere but the API.