Market Discovery — All available market types grouped by sport
curl --request GET \
--url https://api.fieldfunded.com/v1/markets \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.fieldfunded.com/v1/markets"
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/markets', 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/markets",
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/markets"
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/markets")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fieldfunded.com/v1/markets")
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{
"markets": {
"soccer": [
{
"key": "match_winner",
"name": "Match Winner",
"outcomes_count": 3
},
{
"key": "over_under_2_5",
"name": "Over/Under 2.5",
"outcomes_count": 2
},
{
"key": "both_teams_to_score",
"name": "Both Teams to Score",
"outcomes_count": 2
}
],
"basketball": [
{
"key": "match_winner",
"name": "Match Winner",
"outcomes_count": 2
},
{
"key": "total_points",
"name": "Total Points",
"outcomes_count": 2
}
]
},
"total_unique": 200
}{
"error": "unauthorized",
"message": "Invalid or missing API key. Visit docs.fieldfunded.com for access."
}{
"error": "rate_limited",
"message": "Rate limit exceeded. Upgrade your plan for higher limits."
}{
"error": "server_error",
"message": "Internal server error"
}{
"error": "service_unavailable",
"message": "Data store temporarily unavailable",
"component": "realtime_data"
}Sports
Market Discovery
Discovers all known market types currently available, grouped by sport. Samples active events to extract available market names and keys. Useful for building market selectors, mapping market keys to display names, and understanding coverage.
GET
/
v1
/
markets
Market Discovery — All available market types grouped by sport
curl --request GET \
--url https://api.fieldfunded.com/v1/markets \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.fieldfunded.com/v1/markets"
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/markets', 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/markets",
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/markets"
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/markets")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fieldfunded.com/v1/markets")
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{
"markets": {
"soccer": [
{
"key": "match_winner",
"name": "Match Winner",
"outcomes_count": 3
},
{
"key": "over_under_2_5",
"name": "Over/Under 2.5",
"outcomes_count": 2
},
{
"key": "both_teams_to_score",
"name": "Both Teams to Score",
"outcomes_count": 2
}
],
"basketball": [
{
"key": "match_winner",
"name": "Match Winner",
"outcomes_count": 2
},
{
"key": "total_points",
"name": "Total Points",
"outcomes_count": 2
}
]
},
"total_unique": 200
}{
"error": "unauthorized",
"message": "Invalid or missing API key. Visit docs.fieldfunded.com for access."
}{
"error": "rate_limited",
"message": "Rate limit exceeded. Upgrade your plan for higher limits."
}{
"error": "server_error",
"message": "Internal server error"
}{
"error": "service_unavailable",
"message": "Data store temporarily unavailable",
"component": "realtime_data"
}Authorizations
Your FieldFunded API Key
Query Parameters
Filter markets by sport key
Example:
"soccer"
⌘I
