Get the projected NPB bullpen
curl --request GET \
--url https://api.sportquanta.com/v1/npb/teams/{id}/bullpen \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sportquanta.com/v1/npb/teams/{id}/bullpen"
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/npb/teams/{id}/bullpen', 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/npb/teams/{id}/bullpen",
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/npb/teams/{id}/bullpen"
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/npb/teams/{id}/bullpen")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportquanta.com/v1/npb/teams/{id}/bullpen")
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": {
"data": {
"team_id": "<string>",
"season": 123,
"relievers": [
{
"player_id": "<string>",
"role": "<string>",
"appearances": 123,
"saves": 123,
"holds": 123,
"wins": 123,
"losses": 123,
"ip": 123,
"h": 123,
"r": 123,
"er": 123,
"bb": 123,
"k": 123,
"hr": 123,
"name": "<string>",
"localized_names": {},
"era": 123,
"whip": 123,
"k_per_9": 123
}
]
}
},
"_meta": {
"request_id": "<string>",
"served_from": "live",
"cache_ttl_seconds": 123,
"provenance": {},
"availability": {}
}
}Pitching & Matchups
Bullpen
Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
GET
/
v1
/
npb
/
teams
/
{id}
/
bullpen
Get the projected NPB bullpen
curl --request GET \
--url https://api.sportquanta.com/v1/npb/teams/{id}/bullpen \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sportquanta.com/v1/npb/teams/{id}/bullpen"
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/npb/teams/{id}/bullpen', 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/npb/teams/{id}/bullpen",
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/npb/teams/{id}/bullpen"
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/npb/teams/{id}/bullpen")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportquanta.com/v1/npb/teams/{id}/bullpen")
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": {
"data": {
"team_id": "<string>",
"season": 123,
"relievers": [
{
"player_id": "<string>",
"role": "<string>",
"appearances": 123,
"saves": 123,
"holds": 123,
"wins": 123,
"losses": 123,
"ip": 123,
"h": 123,
"r": 123,
"er": 123,
"bb": 123,
"k": 123,
"hr": 123,
"name": "<string>",
"localized_names": {},
"era": 123,
"whip": 123,
"k_per_9": 123
}
]
}
},
"_meta": {
"request_id": "<string>",
"served_from": "live",
"cache_ttl_seconds": 123,
"provenance": {},
"availability": {}
}
}Reference context: NPB.
Overview · Response conventions
Authorizations
Send a workspace API token in the Authorization: Bearer <token> header.
Path Parameters
Query Parameters
Required range:
1920 <= 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
Current NPB bullpen roles and pitching lines.
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Available options:
live, cache Response cache TTL; independent of source freshness. Omitted when zero.
Endpoint-specific availability context, including soccer roster coverage.