Look up venue market outcomes by external identifier
curl --request GET \
--url https://api.agg.market/venue-market-outcomes \
--header 'x-app-id: <api-key>'import requests
url = "https://api.agg.market/venue-market-outcomes"
headers = {"x-app-id": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-app-id': '<api-key>'}};
fetch('https://api.agg.market/venue-market-outcomes', 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.agg.market/venue-market-outcomes",
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-app-id: <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.agg.market/venue-market-outcomes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-app-id", "<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.agg.market/venue-market-outcomes")
.header("x-app-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agg.market/venue-market-outcomes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-app-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"venueMarketId": "<string>",
"label": "<string>",
"externalIdentifier": "<string>",
"title": "<string>",
"price": 0.5,
"winner": true,
"matchedVenueMarketOutcomes": [
{
"venueMarketId": "<string>",
"venueMarketOutcomeId": "<string>"
}
],
"matchDecision": {
"reasonPresets": [
"<string>"
],
"reasonText": "<string>",
"decidedBy": "<string>",
"decidedAt": "<string>"
}
}
],
"nextCursor": "<string>",
"hasMore": true
}{
"message": "<string>"
}{
"message": "<string>"
}Discovery
Look up venue market outcomes by external identifier
Resolves venue-side outcome keys (e.g. Polymarket token_id) to AGG outcomes, including matchedVenueMarketOutcomes counterpart references across venues. Batch up to 20 keys. Outcome keys are globally unique, so venue is optional and narrows only. Kalshi carries its ticker on exactly one of the two outcomes per market, so Kalshi No-side outcomes cannot be resolved here — fetch the market via GET /venue-markets?venue=kalshi&externalIdentifier= and read both outcomes from it.
GET
/
venue-market-outcomes
Look up venue market outcomes by external identifier
curl --request GET \
--url https://api.agg.market/venue-market-outcomes \
--header 'x-app-id: <api-key>'import requests
url = "https://api.agg.market/venue-market-outcomes"
headers = {"x-app-id": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-app-id': '<api-key>'}};
fetch('https://api.agg.market/venue-market-outcomes', 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.agg.market/venue-market-outcomes",
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-app-id: <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.agg.market/venue-market-outcomes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-app-id", "<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.agg.market/venue-market-outcomes")
.header("x-app-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agg.market/venue-market-outcomes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-app-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"venueMarketId": "<string>",
"label": "<string>",
"externalIdentifier": "<string>",
"title": "<string>",
"price": 0.5,
"winner": true,
"matchedVenueMarketOutcomes": [
{
"venueMarketId": "<string>",
"venueMarketOutcomeId": "<string>"
}
],
"matchDecision": {
"reasonPresets": [
"<string>"
],
"reasonText": "<string>",
"decidedBy": "<string>",
"decidedAt": "<string>"
}
}
],
"nextCursor": "<string>",
"hasMore": true
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Your application ID. Required for all app-tier and user-tier routes.
Query Parameters
Maximum array length:
20Available options:
kalshi, polymarket, limitless, opinion, predict, probable, myriad, hyperliquid ⌘I