API Quickstart: Your First Call in 60 Seconds

The fastest path from zero to a working integration. Base URL: https://api.kultranz.com. No key, no signup, no credit card - the first 10 requests every day are free. Every response below is real output you can reproduce right now.

Three calls you can make in the next minute

1. Take-home pay for any state

curl "https://api.kultranz.com/paycheck?salary=120000&state=CA&filingStatus=single&pretax401k=10000"
{
  "data": {
    "gross": 120000,
    "pretax": 10000,
    "taxable_income": 93900,
    "federal_tax": 15370,
    "social_security": 7440,
    "medicare": 1740,
    "state_tax": 6153.42,
    "total_tax": 30703.42,
    "net": 79296.58,
    "effective_rate": 25.59
  },
  "meta": {
    "source": "BLS OEWS + BEA RPP + U.S. Census ACS + IRS (via kultranz.com)",
    "vintage": "2026",
    "year": 2026
  }
}

Full 2026 federal brackets, all 50 states + DC, FICA, and the SSA wage base - one flat JSON object.

2. Cost-of-living comparison between two metros

curl "https://api.kultranz.com/cost-of-living?fromCity=Austin,%20TX&toCity=San%20Francisco,%20CA&salary=100000"
{
  "data": {
    "from": { "city": "Austin, TX", "rpp": 98.066 },
    "to": { "city": "San Francisco, CA", "rpp": 115.613 },
    "equivalent_salary": 117893.05,
    "gap_pct": 17.89
  },
  "meta": {
    "source": "BLS OEWS + BEA RPP + U.S. Census ACS + IRS (via kultranz.com)",
    "vintage": "2026",
    "year": 2026
  }
}

That is the salary negotiation number: what $100,000 in Austin buys in San Francisco, from BEA Regional Price Parities across 50 metros.

3. Real BLS salary percentiles by job and city

curl "https://api.kultranz.com/salaries?job=nurse&city=Chicago"
{
  "data": {
    "count": 1,
    "records": [
      {
        "job_title": "Registered Nurse",
        "job_code": "29-1141",
        "city": "Chicago",
        "state": "IL",
        "avg_salary": 90810,
        "salary_10th": 67560,
        "salary_25th": 79590,
        "salary_median": 85160,
        "salary_75th": 102440,
        "salary_90th": 107980,
        "national_avg": 94480,
        "employment": 102330,
        "rpp_all_items": 103.595,
        "median_rent": 1380,
        "median_home_value": 315200,
        "city_median_income": 75134,
        "city_population": 2707648
      }
    ]
  },
  "meta": {
    "source": "BLS OEWS + BEA RPP + U.S. Census ACS + IRS (via kultranz.com)",
    "vintage": "2026",
    "year": 2026
  }
}

Actual BLS OEWS percentiles (10th through 90th), not modeled estimates, refreshed to the May-2025 BLS release. Nine endpoints total - the full list with parameters is in the API reference.

The free tier, exactly

  • 10 GET requests per day, per IP, UTC midnight to UTC midnight. No key, no account.
  • Every response carries X-RateLimit-Limit: 10 and a live X-RateLimit-Remaining countdown, so your code can see the quota as it spends it.
  • Request 11 returns 429 with a machine-readable upgrade object and a Retry-After header counting seconds to UTC midnight:
{
  "error": {
    "code": "rate_limited",
    "message": "You've used all 10 free requests today. The $5 lifetime key removes all limits forever: https://kultranz.com/pages/api-quickstart/#data-pass — or come back tomorrow."
  },
  "upgrade": {
    "product": "Kultranz Data Pass",
    "price": "$5 one-time, lifetime",
    "url": "https://api.kultranz.com/billing/buy"
  }
}
  • The MCP server at https://api.kultranz.com/mcp has its own separate budget - 200 tool calls/day - and never counts against the 10.

Integrate in 5 minutes

Python

import requests

BASE = "https://api.kultranz.com"

def take_home(salary: int, state: str) -> dict:
    r = requests.get(f"{BASE}/paycheck", params={
        "salary": salary, "state": state, "filingStatus": "single",
    }, timeout=10)
    r.raise_for_status()
    return r.json()["data"]

def city_pair(job: str, city: str) -> list[dict]:
    r = requests.get(f"{BASE}/salaries", params={"job": job, "city": city}, timeout=10)
    r.raise_for_status()
    return r.json()["data"]["records"]

pay = take_home(120000, "CA")
print(f'${pay["net"]:,.2f} take-home on ${pay["gross"]:,} in California')

for rec in city_pair("nurse", "Chicago"):
    print(rec["job_title"], "median in", rec["city"], ":", f'${rec["salary_median"]:,}')

JavaScript (fetch, browser or Node 18+)

const BASE = "https://api.kultranz.com";

async function takeHome(salary, state) {
  const url = new URL("/paycheck", BASE);
  url.searchParams.set("salary", salary);
  url.searchParams.set("state", state);
  url.searchParams.set("filingStatus", "single");

  const res = await fetch(url);           // CORS is open: works from any origin
  if (!res.ok) throw new Error(`HTTP ${res.status}`);
  const { data, meta } = await res.json();
  return data;                            // { net, federal_tax, state_tax, ... }
}

// Watch the free-tier countdown from the browser:
// res.headers.get("X-RateLimit-Remaining") is exposed via CORS.
takeHome(120000, "CA").then((p) => console.log(p.net));

Both snippets honor the golden rule of the free tier: cache what you fetch. Tax brackets and RPP indexes change a few times a year; there is no reason to spend quota re-pulling them per request.

Hitting the free tier limit?

The $5 Data Pass removes all rate limits forever. No subscription, no renewal - one payment, lifetime access, limited to the first 500 buyers.

Buy the $5 Data Pass →

The pass is a Polar license key, delivered by email within a minute. Use it on any request:

curl "https://api.kultranz.com/paycheck?salary=120000&state=CA" \
  -H "Authorization: Bearer YOUR-KEY"
# or, browser-friendly:
curl "https://api.kultranz.com/paycheck?salary=120000&state=CA" \
  -H "X-Api-Key: YOUR-KEY"

Nothing to activate - the first request with the key works, and no daily cap applies for the life of the API. Prefer marketplace billing? The same API is on RapidAPI with metered tiers.

Where to go next

  • Full API reference - all nine endpoints, parameters, the MCP server, and data provenance.
  • MCP server - five tools for Claude, Cursor and Windsurf at https://api.kultranz.com/mcp, no auth.
  • Methodology - exactly which federal release every number comes from.