curl --request GET \
--url https://api.predexon.com/v2/sports/fifa-world-cup/live-games \
--header 'x-api-key: <api-key>'import requests
url = "https://api.predexon.com/v2/sports/fifa-world-cup/live-games"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.predexon.com/v2/sports/fifa-world-cup/live-games', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.predexon.com/v2/sports/fifa-world-cup/live-games",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.predexon.com/v2/sports/fifa-world-cup/live-games"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.predexon.com/v2/sports/fifa-world-cup/live-games")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.predexon.com/v2/sports/fifa-world-cup/live-games")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"games": [
{
"polymarket_event_id": "351715",
"polymarket_game_id": "90086908",
"polymarket_slug": "fifwc-mex-rsa-2026-06-11",
"ticker": "fifwc-mex-rsa-2026-06-11",
"sport": "soccer",
"league": "fifwc",
"title": "Mexico vs. South Africa",
"description": "This event is for the upcoming FIFA World Cup game, scheduled for Thursday, June 11, 2026 between Mexico and South Africa.",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"scheduled_start": "2026-06-11T19:00:00Z",
"active": true,
"closed": false,
"home_team": {
"code": "mex",
"name": "Mexico",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/mx.png",
"color": "#107051"
},
"away_team": {
"code": "rsa",
"name": "South Africa",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/za.png",
"color": "#10704b"
},
"status": "scheduled",
"status_text": "Scheduled",
"live": false,
"ended": false,
"period": null,
"clock": null,
"score": {
"home": 0,
"away": 0,
"display": "0-0"
},
"winner": null,
"ended_at": null,
"last_play": null,
"significant_events": [],
"updated_at": null,
"markets": [
{
"polymarket_market_id": "1897034",
"condition_id": "0x4cd77d456c83e7d8c569a8fb8f6396c3f40154f657e6d970733e2b1b6a7110ff",
"market_slug": "fifwc-mex-rsa-2026-06-11-mex",
"question": "Will Mexico win on 2026-06-11?",
"description": "In the upcoming game, scheduled for June 11, 2026...",
"selection_label": "Mexico",
"sports_market_type": "moneyline",
"status": "open",
"outcomes": [
{
"label": "Yes",
"price": 0.66
},
{
"label": "No",
"price": 0.34
}
]
}
]
}
],
"pagination": {
"limit": 20,
"has_more": true,
"pagination_key": "eyJyb..."
},
"updated_at": "2026-05-20T21:55:12.360662Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}FIFA World Cup Live Games
List FIFA World Cup game display data with Polymarket identifiers and live-state fields
curl --request GET \
--url https://api.predexon.com/v2/sports/fifa-world-cup/live-games \
--header 'x-api-key: <api-key>'import requests
url = "https://api.predexon.com/v2/sports/fifa-world-cup/live-games"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.predexon.com/v2/sports/fifa-world-cup/live-games', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.predexon.com/v2/sports/fifa-world-cup/live-games",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.predexon.com/v2/sports/fifa-world-cup/live-games"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.predexon.com/v2/sports/fifa-world-cup/live-games")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.predexon.com/v2/sports/fifa-world-cup/live-games")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"games": [
{
"polymarket_event_id": "351715",
"polymarket_game_id": "90086908",
"polymarket_slug": "fifwc-mex-rsa-2026-06-11",
"ticker": "fifwc-mex-rsa-2026-06-11",
"sport": "soccer",
"league": "fifwc",
"title": "Mexico vs. South Africa",
"description": "This event is for the upcoming FIFA World Cup game, scheduled for Thursday, June 11, 2026 between Mexico and South Africa.",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"scheduled_start": "2026-06-11T19:00:00Z",
"active": true,
"closed": false,
"home_team": {
"code": "mex",
"name": "Mexico",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/mx.png",
"color": "#107051"
},
"away_team": {
"code": "rsa",
"name": "South Africa",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/za.png",
"color": "#10704b"
},
"status": "scheduled",
"status_text": "Scheduled",
"live": false,
"ended": false,
"period": null,
"clock": null,
"score": {
"home": 0,
"away": 0,
"display": "0-0"
},
"winner": null,
"ended_at": null,
"last_play": null,
"significant_events": [],
"updated_at": null,
"markets": [
{
"polymarket_market_id": "1897034",
"condition_id": "0x4cd77d456c83e7d8c569a8fb8f6396c3f40154f657e6d970733e2b1b6a7110ff",
"market_slug": "fifwc-mex-rsa-2026-06-11-mex",
"question": "Will Mexico win on 2026-06-11?",
"description": "In the upcoming game, scheduled for June 11, 2026...",
"selection_label": "Mexico",
"sports_market_type": "moneyline",
"status": "open",
"outcomes": [
{
"label": "Yes",
"price": 0.66
},
{
"label": "No",
"price": 0.34
}
]
}
]
}
],
"pagination": {
"limit": 20,
"has_more": true,
"pagination_key": "eyJyb..."
},
"updated_at": "2026-05-20T21:55:12.360662Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Overview
Returns FIFA World Cup game-level display data for games covered by Predexon. This endpoint is for building an Explore or live-games page. It returns one object per FIFA World Cup game, including Polymarket-native identifiers, teams, scheduled start, display metadata, current live-state fields, and nested game-winner markets.status=live returns currently live covered FIFA World Cup games. If no covered game is live at request time, the response is a successful empty games array.Endpoint
GET https://api.predexon.com/v2/sports/fifa-world-cup/live-games
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
status | string | live | Filter returned games. One of live, upcoming, ended, or all. |
mock | string | — | Optional synthetic live-state overlay for testing. One of live or final. Do not combine with status. |
limit | int | 100 | Maximum games to return. Range: 1-200. |
pagination_key | string | — | Cursor returned from the previous response. Omit on the first request. |
event_types | string | — | Optional comma-separated event-type filter for significant_events[], e.g. score_change,red_card,yellow_card. |
max_ended_age_seconds | int | — | Return only completed games whose ended_at is not older than this many seconds. |
Status Filters
| Status | Description |
|---|---|
live | Games currently marked live. Returns games: [] when no covered FIFA World Cup game is live. |
upcoming | Scheduled games that have not started or ended. Useful for display/testing before the tournament begins. |
ended | Completed games. A completed game has ended: true, usually status: "final", and a non-null ended_at. |
all | All FIFA World Cup games currently covered by Predexon, including scheduled, live, and completed games. |
Example Requests
Current live games:curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=live&limit=20" \
--header "x-api-key: YOUR_DATA_KEY"
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=upcoming&limit=10" \
--header "x-api-key: YOUR_DATA_KEY"
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=upcoming&limit=10&pagination_key=eyJyb..." \
--header "x-api-key: YOUR_DATA_KEY"
status value when requesting the next page.
Mock live game state:
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?mock=live&limit=3" \
--header "x-api-key: YOUR_DATA_KEY"
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?mock=final&limit=3" \
--header "x-api-key: YOUR_DATA_KEY"
mock is provided, the endpoint uses real FIFA game, team, icon, identifier, and market metadata, then overlays deterministic synthetic live-state fields. This is intended for integration testing before any FIFA World Cup games are live.
Mock responses include the same response shape as normal responses, plus top-level mock: true and mock_scenario.
mock is mutually exclusive with status. Use status=live|upcoming|ended|all for real data, or mock=live|final for test data.
Filter key incidents:
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=all&event_types=score_change,red_card,yellow_card" \
--header "x-api-key: YOUR_DATA_KEY"
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=ended&limit=20" \
--header "x-api-key: YOUR_DATA_KEY"
curl --request GET \
--url "https://api.predexon.com/v2/sports/fifa-world-cup/live-games?status=ended&max_ended_age_seconds=3600" \
--header "x-api-key: YOUR_DATA_KEY"
max_ended_age_seconds is supplied, the returned games[] are completed games only. For example, status=all&max_ended_age_seconds=3600 returns only games with ended: true and an ended_at within the last hour.
Response Shape
{
"games": [
{
"polymarket_event_id": "351715",
"polymarket_game_id": "90086908",
"polymarket_slug": "fifwc-mex-rsa-2026-06-11",
"ticker": "fifwc-mex-rsa-2026-06-11",
"sport": "soccer",
"league": "fifwc",
"title": "Mexico vs. South Africa",
"description": "This event is for the upcoming FIFA World Cup game...",
"image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/soccer ball-bba4025f77.png",
"scheduled_start": "2026-06-11T19:00:00Z",
"active": true,
"closed": false,
"home_team": {
"code": "mex",
"name": "Mexico",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/mx.png",
"color": "#107051"
},
"away_team": {
"code": "rsa",
"name": "South Africa",
"icon": "https://polymarket-upload.s3.us-east-2.amazonaws.com/country-flags/za.png",
"color": "#10704b"
},
"status": "scheduled",
"status_text": "Scheduled",
"live": false,
"ended": false,
"period": null,
"clock": null,
"score": {
"home": 0,
"away": 0,
"display": "0-0"
},
"penalty_score": null,
"winner": null,
"ended_at": null,
"last_play": null,
"significant_events": [],
"updated_at": null,
"markets": [
{
"polymarket_market_id": "1897034",
"condition_id": "0x4cd77d456c83e7d8c569a8fb8f6396c3f40154f657e6d970733e2b1b6a7110ff",
"market_slug": "fifwc-mex-rsa-2026-06-11-mex",
"question": "Will Mexico win on 2026-06-11?",
"description": "In the upcoming game, scheduled for June 11, 2026...",
"selection_label": "Mexico",
"sports_market_type": "moneyline",
"status": "open",
"outcomes": [
{
"label": "Yes",
"price": 0.66
},
{
"label": "No",
"price": 0.34
}
]
}
]
}
],
"pagination": {
"limit": 20,
"has_more": true,
"pagination_key": "eyJyb..."
},
"updated_at": "2026-05-20T21:55:12.360662Z"
}
{
"games": [],
"pagination": {
"limit": 20,
"has_more": false,
"pagination_key": null
},
"updated_at": "2026-05-20T21:55:12.353331Z"
}
Response Fields
| Field | Type | Description |
|---|---|---|
polymarket_event_id | string | Polymarket Gamma event ID for the game. |
polymarket_game_id | string | Polymarket sports game ID. |
polymarket_slug | string | Polymarket event slug. |
ticker | string | Polymarket event ticker/slug. |
sport | string | Always soccer for this endpoint. |
league | string | Always fifwc for this endpoint. |
title | string | Display title. |
description | string | Event-level description. |
image | string | Event image URL. |
icon | string | Event icon URL. |
scheduled_start | string | Scheduled kickoff timestamp. |
home_team | object | Home team code, name, icon URL, and display color from Polymarket event team metadata. |
away_team | object | Away team code, name, icon URL, and display color from Polymarket event team metadata. |
status | string | Current game-state status, e.g. scheduled, in_progress, final. |
status_text | string? | Display status when available. |
live | boolean | Whether the game is live. |
ended | boolean | Whether the match has concluded. A concluded match usually has status: "final" and a non-null ended_at. |
period | string? | Current period/half when live data is available. |
clock | string? | Game clock when live data is available. |
score | object | Home/away/display score. Defaults to 0-0 before live data is available. |
penalty_score | object? | Penalty shootout score when the game is in or finished after a penalty shootout. null otherwise. |
winner | string? | Winner value when game is final and available. |
ended_at | string? | Observed game completion timestamp when the game has ended. null before completion. |
last_play | object? | Latest notable play when available. |
significant_events[] | array | Key incident list when available. Empty when no incidents are available. |
markets[] | array | Nested Polymarket moneyline markets for the game. |
Period and Clock
For FIFA World Cup game state,period is a normalized soccer match phase.
| Value | Meaning |
|---|---|
null | Scheduled/not started, or no period available yet. |
1H | First half. |
HT | Half time. |
2H | Second half. |
WET | Waiting for extra time. |
ET1 | Extra time first half. |
HT ET | Extra time half time. |
ET2 | Extra time second half. |
FT | Full time. |
FT ET | Full time after extra time. |
WPE | Waiting for penalty shootout. |
PEN | Penalty shootout. |
FT PEN | Full time after penalty shootout. |
INT | Interrupted. |
SUSP | Suspended. |
ABD | Abandoned. |
CANC | Canceled or coverage canceled. |
POSTP | Postponed. |
clock is a display clock for elapsed match time. It counts upward, not downward. It is minute-level, not second-level, and is formatted as values such as 18', 45+3', 67', or 120+1'.
clock can be null during scheduled, half-time, full-time, waiting, penalty-shootout, canceled, postponed, abandoned, suspended, or interrupted states.
The endpoint currently exposes the overall scheduled kickoff as scheduled_start. It does not expose separate first-half, second-half, extra-time, or penalty-shootout start timestamps. Clients should use period, status_text, clock, updated_at, and significant_events[] for phase display.
Penalty Shootouts
Penalty shootout score is separate from regular match score:{
"period": "PEN",
"status_text": "Penalty Shootout",
"score": {
"home": 3,
"away": 3,
"display": "3-3"
},
"penalty_score": {
"home": 4,
"away": 2,
"display": "4-2"
}
}
score remains the match score and penalty_score shows the shootout result:
{
"status": "final",
"status_text": "Full Time (Penalties)",
"period": "FT PEN",
"score": {
"home": 3,
"away": 3,
"display": "3-3"
},
"penalty_score": {
"home": 4,
"away": 2,
"display": "4-2"
},
"winner": "home"
}
penalty_score is display metadata for the game state. Market resolution still follows each market’s rules.
Significant Events
significant_events[] contains normalized key incidents for the game when available. It is intended for display-level incidents such as goals, cards, substitutions, penalties, and game-end events, not every low-level stat.
last_play is the latest notable play for display. When present, it maps to the most recent item in significant_events[].
last_play can be null when no notable incident has happened yet, or when the live data source has not supplied a latest notable play for that game at that time. This does not mean the field is under development.
Use event_types to narrow the returned significant_events[] array. If omitted, all available event types are returned.
Common event types:
| Type | Description |
|---|---|
score_change | Goal or other score-changing event. |
yellow_card | Yellow card. |
red_card | Red card. |
substitution | Player substitution. |
penalty | Penalty awarded or source-supplied generic penalty event. |
missed_penalty | Missed penalty during regular or extra-time play. |
penalty_shootout_goal | Successful penalty in a penalty shootout. |
penalty_shootout_miss | Missed penalty in a penalty shootout. |
period_start | Start of a half or period. |
period_end | End of a half or period. |
game_start | Game started. |
game_end | Game ended or final status reached. |
delay | Game delayed or suspended. |
cancellation | Game canceled or postponed. |
other | Key incident that does not map cleanly to another normalized type. |
Pagination
Responses include cursor pagination:| Field | Type | Description |
|---|---|---|
pagination.limit | int | Requested page size. |
pagination.has_more | boolean | Whether another page is available. |
pagination.pagination_key | string? | Cursor to pass as pagination_key on the next request. |
Market Fields
| Field | Type | Description |
|---|---|---|
polymarket_market_id | string | Polymarket market ID. |
condition_id | string | Polymarket condition ID. |
market_slug | string | Polymarket market slug. |
question | string | Market question. |
description | string | Market-level description. |
selection_label | string | Game selection, e.g. Mexico, South Africa, or Draw. |
sports_market_type | string | Currently moneyline. |
outcomes[].label | string | Outcome label, usually Yes or No. |
outcomes[].price | number | Current outcome price when available. |
Authorizations
Data key provided by Predexon. The trading key used by the Order Router on trade.predexon.com is a separate credential.
Query Parameters
Filter returned games. Use live for currently live games, upcoming for scheduled games, ended for completed games, or all for all covered FIFA World Cup games.
live, upcoming, ended, all Optional deterministic mock live-state overlay for integration testing before FIFA games are live. Mutually exclusive with status.
live, final Max games to return.
1 <= x <= 200Cursor returned from the previous response. Omit on the first request.
Optional comma-separated event-type filter for significant_events, e.g. score_change,red_card,yellow_card.
Return only completed games whose ended_at is not older than this many seconds.
x >= 0Response
Successful response
