curl --request GET \
--url https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats', 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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"teamId": "<string>",
"season": 123,
"scopes": {}
},
"_meta": {
"request_id": "<string>",
"served_from": "live",
"cache_ttl_seconds": 123,
"provenance": {},
"availability": {}
}
}Team pitching stats
Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
curl --request GET \
--url https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats', 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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.sportquanta.com/v1/mlb/teams/{id}/pitch-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportquanta.com/v1/mlb/teams/{id}/pitch-stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"teamId": "<string>",
"season": 123,
"scopes": {}
},
"_meta": {
"request_id": "<string>",
"served_from": "live",
"cache_ttl_seconds": 123,
"provenance": {},
"availability": {}
}
}Authorizations
Send a workspace API token in the Authorization: Bearer <token> header.
Path Parameters
Query Parameters
Required season year. Missing, invalid, or out-of-range values return invalid_query_parameter.
1876 <= x <= 2100Opt in to per-field provenance on supported single game, match, team, player, and venue reads. Lists and composites accept the flag but generally omit provenance. It is returned under _meta.provenance only when source metadata exists.
Response
MLB team pitching splits for the requested season.
Hide child attributes
Hide child attributes
Published scopes only. Missing splits remain absent.
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
all, home, away, l3, l7, l10, vs_lhp, vs_rhp, vs_lhh, vs_rhh, late_inning, vs_risp, first_pitch, two_strike, full_count Total outs recorded by the staff in scope; ip = outs / 3.
Games the team played in scope (= games its staff pitched in).
Complete games: a game where exactly one of the team's pitchers appeared.
Team shutouts: games the staff held the opponent to zero runs.
Saves recorded by the team's pitchers (box decision = 'S'). Save opportunities / blown saves are intentionally absent — the box decision set carries only W/L/S, so SVO can't be computed correctly from this data and is not fabricated (mirrors the registry's accuracy-over-breadth rule in apps/api/src/mlb/metrics.ts).
Team wins / losses in scope, from per-game run differential (all only).
Innings pitched as a true decimal (outs / 3), not baseball notation.
Fielding Independent Pitching; null until the season's fipConstant lands.
Batting average against = H / AB, the staff's opponent AVG.
Hide child attributes
Hide child attributes
live, cache Response cache TTL; independent of source freshness. Omitted when zero.
Endpoint-specific availability context, including soccer roster coverage.