Grounds

F
GET /v1/grounds

Every ground, with capacity and surface

Every ground we hold detail for, with its city, capacity and playing surface, and how many of our matches were played there. Ordered by that count, so the grounds you are most likely to want come first. Filter by surface to find the artificial pitches — scoring and card rates differ on them, and few sources tell you which is which.

Plan

This endpoint needs Free key. It works on the free key, which reads yesterday, today and the fixtures ahead.

Parameters

country string query
Restrict to one country, by name as returned from /v1/countries. e.g. England
surface string query
Restrict to matches played on a given surface: grass, artificial_turf or sand_pitch. Read from the ground rather than the match, so a stadium that resurfaces is corrected in one place. e.g. artificial_turf
min_capacity integer query
Grounds holding at least this many. e.g. 30000
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

Request

curl "https://api.footballsoccerapi.com/v1/grounds?country=England&surface=artificial_turf&min_capacity=30000" \
  -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": [],
    "meta": {
        "data_as_of": "2026-09-27T03:47:30Z",
        "request_id": "01J9QW3C7M4KX2VB"
    }
}

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