combat

List fight cards (MMA / boxing)

Fight-card list, served from stored data. data is an ARRAY of cards, most recent first, each carrying its bouts.

MMA cards are grouped by stored event identity, never by calendar date. Use promotion=ufc or promotion=pfl to select one promotion. Stored cards carry their own id; legacy UFC cards continue to accept a bout id for backward compatibility. Completed bouts may carry winner, winner_name, method, round, and time. A null result means those facts have not been loaded and is never interpreted as a draw.

Boxing cards are real fight_card rows (Nevada commission results) and DO carry results: winner as a corner (a/b/draw/nc) mapped to the fighter names, method, round, time and the judges' scorecards. A winner of null means undetermined; it is accompanied by winner_status: "undetermined" and is NOT a draw. Scorecards are served per judge and are never summed into a score. A null weight_class, event_name, promoter, scheduled_rounds or knockdowns means the source did not report it, never zero.

get/v1/fight-cards

Request

  • Base URL: https://api.bigballsdata.com
  • URL: https://api.bigballsdata.com/v1/fight-cards
  • Auth: one of:
    • API key in header x-api-key
    • HTTP bearer

Query parameters

sport'mma' | 'boxing' required

Required: disambiguates MMA from boxing.

promotion'ufc' | 'pfl'

MMA only. Restricts cards to one promotion so same-day events remain separate.

datestring

ISO date (YYYY-MM-DD). UFC cards: a UTC calendar day of kickoff, echoed in meta.date_window. Boxing cards: the card's published event date, so meta.date_window carries null bounds.

tzstring
Example:America/New_York

Optional IANA time zone name (e.g. America/New_York). UFC: ?date= then selects the local calendar day in that zone. Boxing: validated but not applied, because a published event date is already the local date where the card takes place. Offsets such as -05:00 are rejected with 400. Example: ?sport=mma&date=2026-09-12&tz=America/New_York.

Response

ok. An array of cards; empty when none match the filter (still 200).

dataobject[] required

Example response

{
  "meta": {
    "date_window": {
      "timezone": "UTC",
      "start_utc": "2026-09-13T00:00:00.000Z",
      "end_utc": "2026-09-14T00:00:00.000Z"
    },
    "source": "official-league",
    "confidence": 0.95,
    "cache_age_ms": 4200,
    "request_id": "req_abc123",
    "note": "match_id is omitted on 380 of 380 rows in this response. The live feed behind them does not carry an id we can resolve to a stored match, so we return no id rather than one that will not work. For rows with ids you can call back into, use /v1/stored/matches with the same sport or league, for example /v1/stored/matches?league=epl."
  },
  "error": {
    "code": "NOT_FOUND"
  }
}

Changes

No recorded changes to this operation across all 3 revisions of this API.