curl --request GET \
--url https://external-api.kalshi.com/trade-api/v2/seriesimport requests
url = "https://external-api.kalshi.com/trade-api/v2/series"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://external-api.kalshi.com/trade-api/v2/series', 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://external-api.kalshi.com/trade-api/v2/series",
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://external-api.kalshi.com/trade-api/v2/series"
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://external-api.kalshi.com/trade-api/v2/series")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.kalshi.com/trade-api/v2/series")
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{
"series": [
{
"ticker": "<string>",
"frequency": "<string>",
"title": "<string>",
"category": "<string>",
"categories": [
"<string>"
],
"tags": [
"<string>"
],
"settlement_sources": [
{
"name": "<string>",
"url": "<string>"
}
],
"contract_url": "<string>",
"contract_terms_url": "<string>",
"fee_type": "quadratic",
"fee_multiplier": 123,
"additional_prohibitions": [
"<string>"
],
"product_metadata": {},
"volume_fp": "10.00",
"last_updated_ts": "2023-11-07T05:31:56Z",
"exchange_index": 0
}
]
}{
"code": "<string>",
"message": "<string>",
"details": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": "<string>"
}Get Series List
Endpoint for getting data about multiple series with specified filters. A series represents a template for recurring events that follow the same format and rules (e.g., “Monthly Jobs Report”, “Weekly Initial Jobless Claims”, “Daily Weather in NYC”). This endpoint allows you to browse and discover available series templates by category.
curl --request GET \
--url https://external-api.kalshi.com/trade-api/v2/seriesimport requests
url = "https://external-api.kalshi.com/trade-api/v2/series"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://external-api.kalshi.com/trade-api/v2/series', 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://external-api.kalshi.com/trade-api/v2/series",
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://external-api.kalshi.com/trade-api/v2/series"
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://external-api.kalshi.com/trade-api/v2/series")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.kalshi.com/trade-api/v2/series")
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{
"series": [
{
"ticker": "<string>",
"frequency": "<string>",
"title": "<string>",
"category": "<string>",
"categories": [
"<string>"
],
"tags": [
"<string>"
],
"settlement_sources": [
{
"name": "<string>",
"url": "<string>"
}
],
"contract_url": "<string>",
"contract_terms_url": "<string>",
"fee_type": "quadratic",
"fee_multiplier": 123,
"additional_prohibitions": [
"<string>"
],
"product_metadata": {},
"volume_fp": "10.00",
"last_updated_ts": "2023-11-07T05:31:56Z",
"exchange_index": 0
}
]
}{
"code": "<string>",
"message": "<string>",
"details": "<string>"
}{
"code": "<string>",
"message": "<string>",
"details": "<string>"
}Query Parameters
Return series whose categories list contains this value. A series can have more than one discovery category, so the category field of a returned series (its primary category) may differ from the filter value. Matching is exact and case-sensitive.
If true, includes the total volume traded across all events in each series.
Filter series with metadata updated after this Unix timestamp (in seconds). Use this to efficiently poll for changes.
Response
Series list retrieved successfully
Show child attributes
Show child attributes