Search

Search

GET/v2/searchAll plans

Unified search across teams (and individual competitors), players, leagues, managers, referees, racing series, races, fixtures and venues — each hit’s type says which endpoint its id belongs to (/v2/teams, /v2/players, /v2/leagues, /v2/managers, /v2/referees, /v2/series, /v2/races, /v2/fixtures; a venue has none). A player hit carries his current team; a fixture hit its teams, league, start time and status; a venue hit its city, country and capacity.

Tennis players and other individual-sport competitors come back as type team (in this API a competitor is a team). type is a closed set that grew on 2026-10-24 (manager, referee, series, race) and on 2026-11-04 (fixture, venue): skip a value you do not know. team (a player’s current team, a TeamRef), fixture ({ home, away, league, startTime, status } — status is the coarse StatusType; read /v2/fixtures/{id} for the score and the rest) and venue (a Venue) are null on every other type. A venue has no endpoint of its own: its id is the one Fixture.venue and TeamDetail.venue carry. Venues come from a separate source search and are merged into the list by relevance. image is a photo on our CDN for managers and referees too (since 2026-11-04; null when the source has none), and null for series, races, fixtures and venues.

Parameters

q
queryrequired
the search text: 2–100 characters after trimming, no control characters (a 400 names q otherwise)

Response

data
SearchResult[]
meta
query, count
errors
400 bad_request — missing query

Every /v2 call can also answer the common errors.

Try it →
$ curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/search?q=…"
Example
{ "data": [ { "type": "player", "id": 3759, "name": "Bukayo Saka", "slug": "bukayo-saka",
    "sport": "football", "image": "https://cdn.sportsapi.app/v2/players/3759/photo",
    "team": { "id": 18, "name": "Arsenal", "slug": "arsenal", "shortName": null, "code": "ARS",
      "image": "https://cdn.sportsapi.app/v2/teams/18/logo" }, "fixture": null, "venue": null }, … ],
  "meta": { "query": "saka", "count": 20 } }

// ?q=mourinho
{ "data": [ { "type": "manager", "id": 794950, "name": "José Mourinho", "slug": "jose-mourinho", "sport": "football", "image": null,
    "team": null, "fixture": null, "venue": null }, … ],
  "meta": { "query": "mourinho", "count": 3 } }

// ?q=camp nou — venues (no endpoint of their own) and fixtures
{ "data": [
    { "type": "venue", "id": 812, "name": "Spotify Camp Nou", "slug": "spotify-camp-nou", "sport": null, "image": null,
      "team": null, "fixture": null,
      "venue": { "id": 812, "name": "Spotify Camp Nou", "city": "Barcelona", "country": { "code": "ES", "name": "Spain" }, "capacity": 62652 } },
    { "type": "fixture", "id": 701233, "name": "Barcelona - Real Madrid", "slug": "barcelona-real-madrid", "sport": "football", "image": null,
      "team": null, "venue": null,
      "fixture": { "home": { "id": 21, "name": "Barcelona", … }, "away": { "id": 19, "name": "Real Madrid", … },
        "league": { "id": 8, "name": "LaLiga", … }, "startTime": "2026-10-26T15:15:00.000Z", "status": "finished" } }, … ],
  "meta": { "query": "camp nou", "count": 5 } }