For the complete documentation index, see llms.txt.

Yarn Calculator API

lifestyle 1 credits / call v2026-04-22

Estimate yarn yards, meters, grams, and skeins for common knitting/crochet projects.

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

Prefer the browser version? Open the Yarn 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/yarn-calculator/run

Request body

Field Type Req.
project_type
sweater_m | cardigan_m | baby_blanket | throw_blanket | queen_blanket | scarf | hat_adult | mittens | socks_crew | pillow_18 | dishcloth | market_bag | custom
str
yarn_weight
lace | super_fine | fine | light | medium | bulky | super_bulky | jumbo
str
stitch_pattern
stockinette | ribbing | cables | lace | colorwork | textured | brioche
str
custom_yards float | None
gauge_sts float | None
skein_yards float | None

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": "yarn-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 →
sweater_m | cardigan_m | baby_blanket | throw_blanket | queen_blanket | scarf | hat_adult | mittens | socks_crew | pillow_18 | dishcloth | market_bag | custom
lace | super_fine | fine | light | medium | bulky | super_bulky | jumbo
stockinette | ribbing | cables | lace | colorwork | textured | brioche

Code examples

curl -X POST https://api.miniwebtool.com/v1/tools/yarn-calculator/run \
  -H 'Authorization: Bearer mwt_live_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"project_type":"sweater_m","yarn_weight":"medium","stitch_pattern":"stockinette","skein_yards":200}'
import requests

resp = requests.post(
    'https://api.miniwebtool.com/v1/tools/yarn-calculator/run',
    headers={'Authorization': 'Bearer mwt_live_YOUR_KEY'},
    json={'project_type': 'sweater_m', 'yarn_weight': 'medium', 'stitch_pattern': 'stockinette', 'skein_yards': 200},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch(
  'https://api.miniwebtool.com/v1/tools/yarn-calculator/run',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer mwt_live_YOUR_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({"project_type":"sweater_m","yarn_weight":"medium","stitch_pattern":"stockinette","skein_yards":200}),
  }
);
const data = await resp.json();
console.log(data);
<?php
$ch = curl_init('https://api.miniwebtool.com/v1/tools/yarn-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([
    'project_type' => 'sweater_m',
    'yarn_weight' => 'medium',
    'stitch_pattern' => 'stockinette',
    'skein_yards' => 200
]),
]);
$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/yarn-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 = {
  'project_type' => 'sweater_m',
  'yarn_weight' => 'medium',
  'stitch_pattern' => 'stockinette',
  'skein_yards' => 200
}.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{}{
    "project_type": "sweater_m",
    "yarn_weight": "medium",
    "stitch_pattern": "stockinette",
    "skein_yards": 200,
  })
  req, _ := http.NewRequest("POST", "https://api.miniwebtool.com/v1/tools/yarn-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/yarn-calculator/run"))
    .header("Authorization", "Bearer mwt_live_YOUR_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{\"project_type\":\"sweater_m\",\"yarn_weight\":\"medium\",\"stitch_pattern\":\"stockinette\",\"skein_yards\":200}"))
    .build();

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

How to call Yarn 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/yarn-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 Yarn Calculator API do?

Estimate yarn yards, meters, grams, and skeins for common knitting/crochet projects. Use it to add this utility without rebuilding formulas, validation, examples, and documentation.

How much does one call to Yarn Calculator cost?

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

What parameters does the Yarn Calculator API require?

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

Is the Yarn 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 Yarn Calculator API?

Yes. Connect to https://api.miniwebtool.com/v1/mcp over the Model Context Protocol. The agent discovers `yarn-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 (yarn-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=="yarn-calculator")'