For the complete documentation index, see llms.txt.
Calculators, converters, hashes, date math, and finance formulas as stable JSON APIs. One bearer token, one credit pool, schemas that don't drift. You ship the feature; we maintain the formula.
$ curl https://api.miniwebtool.com/v1/tools/percentage-calculator/run \ -H "Authorization: Bearer $MWT_KEY" \ -d '{"mode":"percent_of","a":15,"b":200}' { "request_id": "01KPW8…", "tool": "percentage-calculator", "credits_used": 1, "result": { "mode": "percent_of", "a": 15, "b": 200, "result": 30 } }
import requests, os r = requests.post( "https://api.miniwebtool.com/v1/tools/percentage-calculator/run", headers={"Authorization": f"Bearer {os.environ['MWT_KEY']}"}, json={"mode": "percent_of", "a": 15, "b": 200}, timeout=10, ) print(r.json()["result"]["result"]) # 30
const res = await fetch( "https://api.miniwebtool.com/v1/tools/percentage-calculator/run", { method: "POST", headers: { "Authorization": `Bearer ${process.env.MWT_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ mode: "percent_of", a: 15, b: 200 }), }, ); const { result } = await res.json(); console.log(result.result); // 30
Everything you'd check before trusting a third-party API, in one glance. The same shape on every endpoint — integrate once, reuse for all 480 tools.
{
"request_id": "01KPW8…",
"tool": "<slug>",
"tool_version": "1.0.0",
"credits_used": 1,
"result": { …typed output… }
}
{
"status": 402,
"code": "insufficient_credits",
"title": "Insufficient credits",
"request_id": "01KPW…"
}
// branch on `code` — it never changes
X-RateLimit-Limit: 10 X-MWT-Credits-Used: 1 X-MWT-Credits-Remaining: 49998 X-Request-Id: 01KPW…
Anyone can write a / b * 100. What eats your sprint is everything
around it: input validation, edge cases, rounding rules, examples, docs that stay current,
rate limits, and a billing story. We package that operational work behind one HTTP call —
and we've been maintaining these exact tools in production since 2010.
POST a JSON body, render result. No formula review, no test matrix for edge cases you haven't thought of yet.
Same auth, same envelope, same error codes on every endpoint. Your client wrapper is ~20 lines, total.
Each tool's credit weight is published in the OpenAPI spec. Failed calls refund automatically. Hard caps by default.
Start free, no card. Upgrade when an endpoint becomes part of your product. Cancel anytime from the Stripe portal — no sales call required.
Yearly billing: pay 10 months, get 12. Need >5M/mo, SOC 2, or a DPA? [email protected]
curl in 30 seconds.Verify your email → get a key → stable JSON. No card, no SDK, no tool build-out.
Get a free key →