curl --request GET \
--url https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featuredimport requests
url = "https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured', 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://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured")
.asString();require 'uri'
require 'net/http'
url = URI("https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"event": {
"id": "a2e8295a-d128-4666-9315-e802a36c7c4e",
"slug": "india-vs-west-indies-2",
"title": "India vs West Indies",
"metaTitle": null,
"imageUrl": null,
"homeCountry": null,
"awayCountry": null,
"sport": "cricket",
"vertical": "cricket",
"match": {
"id": "ea9a120a-48f0-4b9b-b261-5d70be3551f4",
"slug": "icc-odi-matches-india-indies-2026-09-30",
"title": "India vs West Indies",
"group": null,
"stage": null,
"competition": {
"name": "ICC ODI Matches",
"slug": "icc-odi-matches",
"logo": null
},
"teamA": {
"code": "INDIA",
"label": "India",
"logo": null
},
"teamB": {
"code": "INDIES",
"label": "West Indies",
"logo": null
},
"kickoffAt": "2026-09-30T08:30:00.000Z",
"state": "LIVE"
},
"teamA": {
"code": "INDIA",
"label": "India",
"logo": null
},
"teamB": {
"code": "INDIES",
"label": "West Indies",
"logo": null
},
"competition": {
"name": "ICC ODI Matches",
"slug": "icc-odi-matches",
"logo": null
},
"tags": [
{
"slug": "cricket",
"name": "Cricket"
}
],
"scheduledAt": "2026-09-30T08:30:00.000Z",
"endedAt": null,
"scheduleStatus": "SCHEDULED",
"scheduleReason": null,
"settlesByAt": null,
"volume24h": "0",
"totalVolume": "4460.813734",
"openMarketCount": 1,
"totalMarketCount": 1,
"createdAt": "2026-09-28T08:32:27.172Z",
"updatedAt": "2026-09-28T08:32:27.172Z",
"saved": false,
"markets": [
{
"id": "f593ccd5-6483-40c0-877f-00bb1928a5a3",
"eventId": "a2e8295a-d128-4666-9315-e802a36c7c4e",
"eventSlug": "india-vs-west-indies-2",
"homeCountry": null,
"awayCountry": null,
"tags": [
{
"slug": "cricket",
"name": "Cricket"
}
],
"symbol": "INDIA-INDIES-MW-20260930",
"slug": "india-vs-west-indies-2026-09-30-match-winner",
"title": "India vs West Indies — Match Winner",
"question": "India vs West Indies — Match Winner",
"groupItemTitle": null,
"groupItemSubtitle": null,
"groupItemImageUrl": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"questionId": "0x8ad971883a5c9e421abbf85e9cf2df090c79dcc1713e4dd5214cf0590b2e58d2",
"yesTokenId": "73767233202514282555872378627172921565840558432238857342555023993399675650185",
"noTokenId": "111806094278010940535652752738018902444716733357881717274597575172338697961777",
"outcomes": [
{
"label": "IND",
"tokenId": "73767233202514282555872378627172921565840558432238857342555023993399675650185",
"noTokenId": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"outcomeIndex": 0
},
{
"label": "WI",
"tokenId": "111806094278010940535652752738018902444716733357881717274597575172338697961777",
"noTokenId": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"outcomeIndex": 1
}
],
"sourceSelections": [
{
"outcomeLabel": "NO",
"outcomeIndex": 1,
"providerOutcomeId": "MATCH_WINNER:side=home,yes=false",
"providerOutcomeName": null,
"marketType": "MATCH_WINNER",
"selector": {
"yes": false,
"side": "home"
}
},
{
"outcomeLabel": "YES",
"outcomeIndex": 0,
"providerOutcomeId": "MATCH_WINNER:side=home,yes=true",
"providerOutcomeName": null,
"marketType": "MATCH_WINNER",
"selector": {
"yes": true,
"side": "home"
}
}
],
"line": null,
"lineGroup": null,
"outcomeCount": 2,
"outcomeLabels": [
"YES",
"NO"
],
"outcomePrices": [
"0.480000",
"0.520000"
],
"chances": [
"0.480000",
"0.520000"
],
"status": "OPEN",
"currentReviewRound": 1,
"feeTakerBps": 600,
"executionDelayMs": 0,
"liveTick": null,
"kickoff": "2026-09-30T08:30:00.000Z",
"tradingWindow": {
"preMarketStartsAt": "2026-09-28T09:34:30.049Z",
"opensAt": "2026-09-28T10:34:37.272Z",
"closesAt": "2026-10-01T08:30:00.000Z"
},
"resolutionWindowHours": 2,
"payoutNumerators": null,
"officialDataSource": "lsports",
"sourceMatchId": "20331750",
"additionalSources": [],
"resolutionCriteria": "Resolves to India if India is the official winner of the match and to West Indies if West Indies is; a super-over winner counts as winning. A standing tie voids the market and all stakes are returned.",
"cryptoWindow": null,
"negRiskEligible": false,
"negRiskMarketId": null,
"negRiskQuestionIndex": null,
"isNewMarketType": false,
"marketType": "MATCH_WINNER",
"sport": "cricket",
"vertical": "cricket",
"volume24h": "0",
"totalVolume": "4460.813734000000000000",
"createdAt": "2026-09-28T08:32:27.305Z",
"updatedAt": "2026-09-28T10:34:37.272Z",
"lifecycle": {
"closedAt": null,
"pausedAt": null,
"resolvedAt": null,
"voidedAt": null
},
"resolution": {
"proposedAt": null,
"challengeWindowClosesAt": null,
"disputedAt": null,
"proposedOutcome": null,
"proposedOutcomeIndex": null,
"resolvedOutcome": null,
"resolvedOutcomeIndex": null,
"disputeBondUsdcRaw": null,
"disputeReason": null,
"resolutionKind": null,
"proposalKind": null,
"proposedFairPriceSplit": null
},
"crypto": null,
"prediction": null,
"live": null,
"tradable": true,
"tradingMode": "open",
"notTradableReason": null,
"probabilityChange": {
"window": "24h",
"unit": "percentage_points",
"asOf": "2026-09-30T11:18:56.708Z",
"outcomes": [
{
"outcomeIndex": 0,
"change": 0,
"baselineAt": "2026-09-29T07:50:00.000Z"
},
{
"outcomeIndex": 1,
"change": 0,
"baselineAt": "2026-09-29T07:50:00.000Z"
}
]
}
}
],
"category": {
"key": "GAME_LINES",
"label": "Game Lines"
},
"live": null,
"inPlay": true,
"cryptoSeries": null,
"cryptoLongSeries": null
}
}{
"status": 404,
"error": {
"code": "<string>",
"message": "<string>",
"trace_id": "<string>",
"retryAfterSec": 123,
"retryable": true,
"details": {}
}
}Top live (or top trending) event — optionally narrowed by FIFA code
Returns a single event for a hero card or a partner integration.
Pick order: (1) the in-play event with the highest 24 h volume; (2) otherwise the top trending event of the open view; (3) only when team is given, the most recent finished event for that team or pair; (4) otherwise { "event": null }.
With team: only events bound to a match are considered; one code → any such fixture where this team plays; a pair ?team=ENG&team=ESP → strictly that fixture, in either order; 3 or more codes → 400 too_many_teams. With ?type=moneyline or ?type=team_to_advance the pick is narrowed to events carrying a market of that kind.
The event is the full EventSummaryDto — markets are full MarketSummaryDto rows (not the slim GET /api/events rows), including live (running clock + score) when the event is in play. Always the anonymous projection (saved: false, even with a token). Sent with Cache-Control: public, max-age=3; the server caches each team / type combination for ~5 s.
curl --request GET \
--url https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featuredimport requests
url = "https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured', 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://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured")
.asString();require 'uri'
require 'net/http'
url = URI("https://core.api.dev.predictstreet.sde.adifoundation.ai/api/events/featured")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"event": {
"id": "a2e8295a-d128-4666-9315-e802a36c7c4e",
"slug": "india-vs-west-indies-2",
"title": "India vs West Indies",
"metaTitle": null,
"imageUrl": null,
"homeCountry": null,
"awayCountry": null,
"sport": "cricket",
"vertical": "cricket",
"match": {
"id": "ea9a120a-48f0-4b9b-b261-5d70be3551f4",
"slug": "icc-odi-matches-india-indies-2026-09-30",
"title": "India vs West Indies",
"group": null,
"stage": null,
"competition": {
"name": "ICC ODI Matches",
"slug": "icc-odi-matches",
"logo": null
},
"teamA": {
"code": "INDIA",
"label": "India",
"logo": null
},
"teamB": {
"code": "INDIES",
"label": "West Indies",
"logo": null
},
"kickoffAt": "2026-09-30T08:30:00.000Z",
"state": "LIVE"
},
"teamA": {
"code": "INDIA",
"label": "India",
"logo": null
},
"teamB": {
"code": "INDIES",
"label": "West Indies",
"logo": null
},
"competition": {
"name": "ICC ODI Matches",
"slug": "icc-odi-matches",
"logo": null
},
"tags": [
{
"slug": "cricket",
"name": "Cricket"
}
],
"scheduledAt": "2026-09-30T08:30:00.000Z",
"endedAt": null,
"scheduleStatus": "SCHEDULED",
"scheduleReason": null,
"settlesByAt": null,
"volume24h": "0",
"totalVolume": "4460.813734",
"openMarketCount": 1,
"totalMarketCount": 1,
"createdAt": "2026-09-28T08:32:27.172Z",
"updatedAt": "2026-09-28T08:32:27.172Z",
"saved": false,
"markets": [
{
"id": "f593ccd5-6483-40c0-877f-00bb1928a5a3",
"eventId": "a2e8295a-d128-4666-9315-e802a36c7c4e",
"eventSlug": "india-vs-west-indies-2",
"homeCountry": null,
"awayCountry": null,
"tags": [
{
"slug": "cricket",
"name": "Cricket"
}
],
"symbol": "INDIA-INDIES-MW-20260930",
"slug": "india-vs-west-indies-2026-09-30-match-winner",
"title": "India vs West Indies — Match Winner",
"question": "India vs West Indies — Match Winner",
"groupItemTitle": null,
"groupItemSubtitle": null,
"groupItemImageUrl": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"questionId": "0x8ad971883a5c9e421abbf85e9cf2df090c79dcc1713e4dd5214cf0590b2e58d2",
"yesTokenId": "73767233202514282555872378627172921565840558432238857342555023993399675650185",
"noTokenId": "111806094278010940535652752738018902444716733357881717274597575172338697961777",
"outcomes": [
{
"label": "IND",
"tokenId": "73767233202514282555872378627172921565840558432238857342555023993399675650185",
"noTokenId": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"outcomeIndex": 0
},
{
"label": "WI",
"tokenId": "111806094278010940535652752738018902444716733357881717274597575172338697961777",
"noTokenId": null,
"conditionId": "0x9f598b9276dbd2b6fc515203054a31b741bd9cd54e4a873c09c807167896217c",
"outcomeIndex": 1
}
],
"sourceSelections": [
{
"outcomeLabel": "NO",
"outcomeIndex": 1,
"providerOutcomeId": "MATCH_WINNER:side=home,yes=false",
"providerOutcomeName": null,
"marketType": "MATCH_WINNER",
"selector": {
"yes": false,
"side": "home"
}
},
{
"outcomeLabel": "YES",
"outcomeIndex": 0,
"providerOutcomeId": "MATCH_WINNER:side=home,yes=true",
"providerOutcomeName": null,
"marketType": "MATCH_WINNER",
"selector": {
"yes": true,
"side": "home"
}
}
],
"line": null,
"lineGroup": null,
"outcomeCount": 2,
"outcomeLabels": [
"YES",
"NO"
],
"outcomePrices": [
"0.480000",
"0.520000"
],
"chances": [
"0.480000",
"0.520000"
],
"status": "OPEN",
"currentReviewRound": 1,
"feeTakerBps": 600,
"executionDelayMs": 0,
"liveTick": null,
"kickoff": "2026-09-30T08:30:00.000Z",
"tradingWindow": {
"preMarketStartsAt": "2026-09-28T09:34:30.049Z",
"opensAt": "2026-09-28T10:34:37.272Z",
"closesAt": "2026-10-01T08:30:00.000Z"
},
"resolutionWindowHours": 2,
"payoutNumerators": null,
"officialDataSource": "lsports",
"sourceMatchId": "20331750",
"additionalSources": [],
"resolutionCriteria": "Resolves to India if India is the official winner of the match and to West Indies if West Indies is; a super-over winner counts as winning. A standing tie voids the market and all stakes are returned.",
"cryptoWindow": null,
"negRiskEligible": false,
"negRiskMarketId": null,
"negRiskQuestionIndex": null,
"isNewMarketType": false,
"marketType": "MATCH_WINNER",
"sport": "cricket",
"vertical": "cricket",
"volume24h": "0",
"totalVolume": "4460.813734000000000000",
"createdAt": "2026-09-28T08:32:27.305Z",
"updatedAt": "2026-09-28T10:34:37.272Z",
"lifecycle": {
"closedAt": null,
"pausedAt": null,
"resolvedAt": null,
"voidedAt": null
},
"resolution": {
"proposedAt": null,
"challengeWindowClosesAt": null,
"disputedAt": null,
"proposedOutcome": null,
"proposedOutcomeIndex": null,
"resolvedOutcome": null,
"resolvedOutcomeIndex": null,
"disputeBondUsdcRaw": null,
"disputeReason": null,
"resolutionKind": null,
"proposalKind": null,
"proposedFairPriceSplit": null
},
"crypto": null,
"prediction": null,
"live": null,
"tradable": true,
"tradingMode": "open",
"notTradableReason": null,
"probabilityChange": {
"window": "24h",
"unit": "percentage_points",
"asOf": "2026-09-30T11:18:56.708Z",
"outcomes": [
{
"outcomeIndex": 0,
"change": 0,
"baselineAt": "2026-09-29T07:50:00.000Z"
},
{
"outcomeIndex": 1,
"change": 0,
"baselineAt": "2026-09-29T07:50:00.000Z"
}
]
}
}
],
"category": {
"key": "GAME_LINES",
"label": "Game Lines"
},
"live": null,
"inPlay": true,
"cryptoSeries": null,
"cryptoLongSeries": null
}
}{
"status": 404,
"error": {
"code": "<string>",
"message": "<string>",
"trace_id": "<string>",
"retryAfterSec": 123,
"retryable": true,
"details": {}
}
}Query Parameters
Optional market-type group. moneyline → 90-minute result (MATCH_WINNER); team_to_advance → who-advances knockout card (MATCH_WINNER_AET, the "X vs Y: Team to Advance" event). Omitted → any type. Unknown value → 400 invalid_type.
moneyline, team_to_advance Optional 3-letter team code(s), case-insensitive; repeated keys (?team=ENG&team=ESP) or CSV (?team=ENG,ESP). At most 2 codes. One → any fixture for that team; two → strictly that fixture (order-agnostic).
^[A-Za-z]{3}$Response
OK
The picked event (see the operation's pick order), or null when nothing qualifies. event.live carries the running clock + score while it is in play.
Show child attributes
Show child attributes