Skip to main content
GET
/
v1
/
settlements
Settlement Feed — Auto-resolved market outcomes (won/lost/refund)
curl --request GET \
  --url https://api.fieldfunded.com/v1/settlements \
  --header 'X-API-Key: <api-key>'
import requests

url = "https://api.fieldfunded.com/v1/settlements"

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.fieldfunded.com/v1/settlements', 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.fieldfunded.com/v1/settlements",
  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.fieldfunded.com/v1/settlements"

	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.fieldfunded.com/v1/settlements")
  .header("X-API-Key", "<api-key>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.fieldfunded.com/v1/settlements")

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
{ "settlements": [ { "event_id": "87654321", "home_team": "Arsenal", "away_team": "Chelsea", "home_logo": "https://api.fieldfunded.com/api/logo/t-38", "away_logo": "https://api.fieldfunded.com/api/logo/t-42", "final_score": { "home": 2, "away": 1 }, "sport": "soccer", "league": "Premier League", "country": "England", "start_time": "2026-04-12T15:00:00Z", "status": "settled", "settlement_status": "settled", "ended_at": "2026-04-12T16:55:00Z", "resolved_markets": [ { "key": "match_winner", "name": "Match Winner", "market_id": 340159, "outcomes": [ { "label": "Home", "result": "won", "selection_id": 1824561 }, { "label": "Draw", "result": "lost", "selection_id": 1824562 }, { "label": "Away", "result": "lost", "selection_id": 1824563 } ] }, { "key": "over_under_2_5", "name": "Over/Under 2.5", "market_id": 340160, "outcomes": [ { "label": "Over 2.5", "result": "won", "selection_id": 1824570 }, { "label": "Under 2.5", "result": "lost", "selection_id": 1824571 } ] }, { "key": "double_chance", "name": "Double Chance", "market_id": 340161, "outcomes": [ { "label": "Home/Draw", "result": "won", "selection_id": 1824580 }, { "label": "Home/Away", "result": "lost", "selection_id": 1824581 }, { "label": "Draw/Away", "result": "lost", "selection_id": 1824582 } ] }, { "key": "both_teams_to_score", "name": "Both Teams To Score", "market_id": 340162, "outcomes": [ { "label": "Yes", "result": "won", "selection_id": 1824590 }, { "label": "No", "result": "lost", "selection_id": 1824591 } ] }, { "key": "half_time_result", "name": "Half-time Result", "market_id": 340163, "outcomes": [ { "label": "Home", "result": "lost", "selection_id": 1824600 }, { "label": "Draw", "result": "won", "selection_id": 1824601 }, { "label": "Away", "result": "lost", "selection_id": 1824602 } ] }, { "key": "correct_score", "name": "Correct Score", "market_id": 340164, "outcomes": [ { "label": "2-1", "result": "won", "selection_id": 1824610 }, { "label": "1-1", "result": "lost", "selection_id": 1824611 }, { "label": "2-0", "result": "lost", "selection_id": 1824612 } ] }, { "key": "asian_handicap_minus_1", "name": "Asian Handicap -1.0", "market_id": 340165, "outcomes": [ { "label": "Home (-1.0)", "result": "won", "selection_id": 1824620 }, { "label": "Away (+1.0)", "result": "lost", "selection_id": 1824621 } ] }, { "key": "total_corners_over_9_5", "name": "Total Corners Over 9.5", "market_id": 340166, "outcomes": [ { "label": "Over 9.5", "result": "won", "selection_id": 1824630 }, { "label": "Under 9.5", "result": "lost", "selection_id": 1824631 } ] }, { "key": "first_goalscorer", "name": "First Goalscorer", "market_id": 340167, "outcomes": [ { "label": "Harry Kane", "result": "won", "selection_id": 1824640 }, { "label": "Bukayo Saka", "result": "lost", "selection_id": 1824641 } ] }, { "key": "total_cards_over_3_5", "name": "Total Cards Over 3.5", "market_id": 340168, "outcomes": [ { "label": "Over 3.5", "result": "won", "selection_id": 1824650 }, { "label": "Under 3.5", "result": "lost", "selection_id": 1824651 } ] } ], "resolved_markets_count": 1118, "total_markets_count": 1118, "pending_markets_count": 0 } ], "total": 842, "fully_settled": 10, "score_only": 0, "limit": 50, "offset": 0, "has_more": true, "next_cursor": "BASE64URL_CURSOR_TOKEN_FROM_PREVIOUS_RESPONSE", "applied_filters": { "event_ids_count": 0, "using_cursor": false } }

Authorizations

X-API-Key
string
header
required

Your FieldFunded API Key

Query Parameters

limit
integer
default:100

Maximum number of settlements to return (default: 100, max: 200). Recommended 20-50 for recurring polling.

Required range: 1 <= x <= 200
offset
integer
default:0

Number of settlements to skip for pagination (default: 0). For recurring polling, keep offset=0.

Required range: x >= 0
cursor
string

Cursor-based pagination token (base64url encoded {ended_at,event_id} from next_cursor). Do not combine with offset.

event_id
string

Filter settlements by a single event id.

event_ids
string

Filter settlements by multiple event ids (CSV). Maximum 50 ids.

Response

A feed of recently ended events and their finalized market outcomes (won, lost, refund).

settlements
object[]
total
integer
fully_settled
integer
score_only
integer
limit
integer
offset
integer
has_more
boolean
next_cursor
string | null

Cursor for next page when using cursor-based incremental polling

applied_filters
object