For the complete documentation index, see llms.txt.

WAR Calculator API

sports 1 credits / call v2026-04-22

Estimate simplified baseball WAR for position players or pitchers.

Use this endpoint to add WAR Calculator to your app, site, workflow, or agent without rebuilding formulas, validation, examples, and docs.

Prefer the browser version? Open the WAR Calculator on miniwebtool.com.

Start free — get a key → 1,000 credits · no card · 30 seconds
What this saves

Skip a custom implementation, validation rules, examples, OpenAPI shape, billing checks, and support copy for this utility.

Where it fits

Product forms, calculator pages, finance content, education flows, support tools, automations, and agent actions.

How to evaluate

Inspect the required fields, try the hosted playground, then copy cURL, Python, or Node code into your integration.

Endpoint

POST https://api.miniwebtool.com/v1/tools/war-calculator/run

Request body

Field Type Req.
player_type
position | pitcher
str
pa int
hits int
doubles int
triples int
home_runs int
walks int
hbp int
stolen_bases int
caught_stealing int
position
C | 1B | 2B | 3B | SS | LF | CF | RF | DH
str
innings_played float
errors int
league_avg_obp float
league_avg_slg float
innings_pitched float
earned_runs int
strikeouts int
walks_allowed int
hits_allowed int
home_runs_allowed int
league_era float
league_fip float
pitcher_type
SP | RP
str

Cost & access

  • 1 credit per successful call.
  • Starts on: Free.
  • Max payload: 65536 bytes.
  • Privacy mode: hash_only
  • Available on: free, starter, pro, business, scale

Response envelope

{
  "request_id": "01K...",
  "tool": "war-calculator",
  "tool_version": "2026-04-22",
  "credits_used": 1,
  "result": { ... }
}

Try it

Stored only in this browser tab. Playground test key is prefilled and only works on this page. Get a live key →
position | pitcher
C | 1B | 2B | 3B | SS | LF | CF | RF | DH
SP | RP

Code examples

curl -X POST https://api.miniwebtool.com/v1/tools/war-calculator/run \
  -H 'Authorization: Bearer mwt_live_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"player_type":"position","pa":600,"hits":150,"doubles":30,"triples":3,"home_runs":25,"walks":60,"hbp":5,"stolen_bases":15,"caught_stealing":5,"position":"SS","innings_played":1350,"errors":10,"league_avg_obp":0.32,"league_avg_slg":0.41}'
import requests

resp = requests.post(
    'https://api.miniwebtool.com/v1/tools/war-calculator/run',
    headers={'Authorization': 'Bearer mwt_live_YOUR_KEY'},
    json={'player_type': 'position', 'pa': 600, 'hits': 150, 'doubles': 30, 'triples': 3, 'home_runs': 25, 'walks': 60, 'hbp': 5, 'stolen_bases': 15, 'caught_stealing': 5, 'position': 'SS', 'innings_played': 1350, 'errors': 10, 'league_avg_obp': 0.32, 'league_avg_slg': 0.41},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch(
  'https://api.miniwebtool.com/v1/tools/war-calculator/run',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer mwt_live_YOUR_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({"player_type":"position","pa":600,"hits":150,"doubles":30,"triples":3,"home_runs":25,"walks":60,"hbp":5,"stolen_bases":15,"caught_stealing":5,"position":"SS","innings_played":1350,"errors":10,"league_avg_obp":0.32,"league_avg_slg":0.41}),
  }
);
const data = await resp.json();
console.log(data);
<?php
$ch = curl_init('https://api.miniwebtool.com/v1/tools/war-calculator/run');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer mwt_live_YOUR_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
    'player_type' => 'position',
    'pa' => 600,
    'hits' => 150,
    'doubles' => 30,
    'triples' => 3,
    'home_runs' => 25,
    'walks' => 60,
    'hbp' => 5,
    'stolen_bases' => 15,
    'caught_stealing' => 5,
    'position' => 'SS',
    'innings_played' => 1350,
    'errors' => 10,
    'league_avg_obp' => 0.32,
    'league_avg_slg' => 0.41
]),
]);
$resp = curl_exec($ch);
curl_close($ch);
print_r(json_decode($resp, true));
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.miniwebtool.com/v1/tools/war-calculator/run')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = (uri.scheme == 'https')

req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer mwt_live_YOUR_KEY'
req['Content-Type'] = 'application/json'
req.body = {
  'player_type' => 'position',
  'pa' => 600,
  'hits' => 150,
  'doubles' => 30,
  'triples' => 3,
  'home_runs' => 25,
  'walks' => 60,
  'hbp' => 5,
  'stolen_bases' => 15,
  'caught_stealing' => 5,
  'position' => 'SS',
  'innings_played' => 1350,
  'errors' => 10,
  'league_avg_obp' => 0.32,
  'league_avg_slg' => 0.41
}.to_json

resp = http.request(req)
puts JSON.parse(resp.body).inspect
package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "io"
  "net/http"
)

func main() {
  body, _ := json.Marshal(map[string]interface{}{
    "player_type": "position",
    "pa": 600,
    "hits": 150,
    "doubles": 30,
    "triples": 3,
    "home_runs": 25,
    "walks": 60,
    "hbp": 5,
    "stolen_bases": 15,
    "caught_stealing": 5,
    "position": "SS",
    "innings_played": 1350,
    "errors": 10,
    "league_avg_obp": 0.32,
    "league_avg_slg": 0.41,
  })
  req, _ := http.NewRequest("POST", "https://api.miniwebtool.com/v1/tools/war-calculator/run", bytes.NewReader(body))
  req.Header.Set("Authorization", "Bearer mwt_live_YOUR_KEY")
  req.Header.Set("Content-Type", "application/json")

  resp, err := http.DefaultClient.Do(req)
  if err != nil { panic(err) }
  defer resp.Body.Close()
  out, _ := io.ReadAll(resp.Body)
  fmt.Println(string(out))
}
import java.net.URI;
import java.net.http.*;

var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.miniwebtool.com/v1/tools/war-calculator/run"))
    .header("Authorization", "Bearer mwt_live_YOUR_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"player_type\":\"position\",\"pa\":600,\"hits\":150,\"doubles\":30,\"triples\":3,\"home_runs\":25,\"walks\":60,\"hbp\":5,\"stolen_bases\":15,\"caught_stealing\":5,\"position\":\"SS\",\"innings_played\":1350,\"errors\":10,\"league_avg_obp\":0.32,\"league_avg_slg\":0.41}"))
    .build();

var resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());

How to call WAR Calculator

  1. 1 Get an API key
    Get an API key. Sign up free for a bearer token. 1,000 credits/month, no card.
  2. 2 Assemble the JSON body
    Required fields: . See the Request body table below for the full schema.
  3. 3 POST to https://api.miniwebtool.com/v1/tools/war-calculator/run
    Headers: Authorization: Bearer <key> and Content-Type: application/json. Copy-paste snippets in 7 languages are under Code examples.
  4. 4 Parse the response
    Envelope: {request_id, tool, tool_version, credits_used, result}. The typed output lives in result.

Frequently asked

What does the WAR Calculator API do?

Estimate simplified baseball WAR for position players or pitchers. Use it to add this utility without rebuilding formulas, validation, examples, and documentation.

How much does one call to WAR Calculator cost?

1 credit per successful call. Failed calls (validation errors, 5xx) don't bill.

What parameters does the WAR Calculator API require?

Required fields: (none). Full schema at /v1/openapi.json.

Is the WAR Calculator API deterministic?

Yes — same input, same output, forever. Tool version 2026-04-22; output shape is stable within a major version.

Can an AI agent call the WAR Calculator API?

Yes. Connect to https://api.miniwebtool.com/v1/mcp over the Model Context Protocol. The agent discovers `war-calculator` with its JSON Schema automatically, so the model can plan while MiniWebtool handles the exact tool result.

What format does the API return?

JSON with a stable envelope: `{request_id, tool, tool_version, credits_used, result}`. Errors are RFC 7807 `application/problem+json`.

Use from an AI agent

Every endpoint on this site is also exposed via the Model Context Protocol at https://api.miniwebtool.com/v1/mcp. Claude, Cursor, and any MCP-capable agent can discover this tool (war-calculator) and its JSON Schema automatically — no client codegen.

# List tools the agent can call
curl -s https://api.miniwebtool.com/v1/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
 | jq '.result.tools[] | select(.name=="war-calculator")'

Related sports tools

Batting Average Calculator
Calculate baseball batting average from hits and at-bats.
At Bats per Home Run Calculator
Calculate baseball at-bats per home run ratio and home run rate.
ERA Calculator
Calculate baseball earned run average.
Field Goal Percentage Calculator
Calculate made-shot percentage and related shooting metrics.