The free key reads yesterday again: our one-month trial of today on the free key has finished. Read the changelog

Grounds

A
GET /v1/venues

Grounds with city and coordinates

Grounds with city and coordinates, derived from home matches. Coordinates are present on essentially every row, which makes distance and travel analysis reliable.

Plan

This endpoint needs Archive. Calling it on a lower plan returns a 403 naming the plan it needs and a link to pricing, never a bare refusal.

Parameters

country string query
Restrict to one country, by name as returned from /v1/countries. e.g. England
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/venues?country=England&limit=100&page=2" \
  -H "X-API-Key: $FSAPI_KEY"

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.

Get a key
GET