Yahoo Sports API endpoint
Returns the current/next UFC event's full fight card (each bout's fighters, records, rankings, weight class, and card position), from Yahoo Sports' own server-rendered MMA schedule page. This endpoint takes no parameters -- it always returns whichever event Yahoo currently features as next up, not a caller-selected one.
/yahoo-sports/mma-fight-cardThis endpoint takes no query parameters and is UFC-only (see mma-schedule). It always returns whichever event Yahoo currently features as next up — there is no way to request a different event's card from this source.
Notable response behavior:
fights preserves Yahoo's own card ordering (main event first).card_position (e.g. "Main", "Prelim", "Early Prelim") is best-effort: Yahoo's own page de-duplicates a repeated cardDetails value into an internal reference for some bouts, and this field is left empty rather than guessed for those — the bout itself is still returned in full.rank is 0 when a fighter is unranked, matching Yahoo's own convention.winner_id is populated once a bout is decided; for a page currently showing an upcoming card, expect this to be empty across the board.200 [].| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| id | 5 | |
| weight_class | 5 | “Featherweight” and 4 other values |
| status | 5 | PREGAME in all 5 |
| start_time | 5 | 2026-10-13 |
| fighter_one | 5 | |
| fighter_two | 5 | |
| card_position | 4 | Main in all 4 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/mma-fight-card" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"promotion": "UFC",
"event": {
"id": "",
"name": "UFC 330: Makhachev vs. Machado Garry 2026"
},
"count": 12,
"source_url": "https://sports.yahoo.com/mma/schedule/",
"fetched_at": "2026-08-14T14:00:00Z",
"fights": [
{
"id": "combat.g.13595637",
"weight_class": "Welterweight",
"status": "PREGAME",
"start_time": "2026-08-16T10:30:00+08:00",
"fighter_one": {
"id": "combat.p.2367504",
"name": "Islam Makhachev",
"record": "28-1-0",
"rank": 0,
"country": "Russia",
"fighting_out_of": "Russia"
},
"fighter_two": {
"id": "combat.p.2904750",
"name": "Ian Machado Garry",
"record": "17-1-0",
"rank": 1,
"country": "Ireland",
"fighting_out_of": "Ireland"
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/yahoosports.mmaFightCardResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahoosports.MMAFightCardResponse | No | ||||
| data.count | integer | No | 12 | |||
| data.event | yahoosports.MMAEvent | No | MMAEvent record, 4 fields: id, name, start_time, status. Described under Yahoo Sports MMA event schedule API. | |||
| data.fetched_at | string | No | ||||
| data.fights | array | No | ||||
| data.fights[].card_position | string | No | Main | |||
| data.fights[].current_round | integer | No | ||||
| data.fights[].fighter_one | yahoosports.MMAFighterRef | No | ||||
| data.fights[].fighter_one.country | string | No | United States | |||
| data.fights[].fighter_one.fighting_out_of | string | No | United States | |||
| data.fights[].fighter_one.headshot_url | string | No | ||||
| data.fights[].fighter_one.id | string | No | combat.p.2087412 | |||
| data.fights[].fighter_one.name | string | No | Mackenzie Dern | |||
| data.fights[].fighter_one.rank | integer | No | 5 | |||
| data.fights[].fighter_one.record | string | No | 16-5-0 | |||
| data.fights[].fighter_two | yahoosports.MMAFighterRef | No | ||||
| data.fights[].fighter_two.country | string | No | United States | |||
| data.fights[].fighter_two.fighting_out_of | string | No | United States | |||
| data.fights[].fighter_two.headshot_url | string | No | ||||
| data.fights[].fighter_two.id | string | No | combat.p.2087412 | |||
| data.fights[].fighter_two.name | string | No | Mackenzie Dern | |||
| data.fights[].fighter_two.rank | integer | No | 5 | |||
| data.fights[].fighter_two.record | string | No | 16-5-0 | |||
| data.fights[].id | string | No | combat.g.13595836 | |||
| data.fights[].start_time | string | No | 2026-08-16T10:00:00+08:00 | |||
| data.fights[].status | string | No | PREGAME | |||
| data.fights[].weight_class | string | No | Womens Strawweight | |||
| data.fights[].winner_id | string | No | ||||
| data.promotion | string | No | UFC | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/mma-fight-card" \
-H "x-api-key: $CRAWLORA_API_KEY"