# rel.tax — Multi-Country B2B Tax Calculator API > Free, open-source API for calculating self-employed and contractor taxes across 55 countries. No auth. No rate limits. CORS enabled. Base URL: https://rel.tax ## Endpoints - GET /v1/calculate/:country?income=AMOUNT — Calculate taxes (query params) - POST /v1/calculate/:country — Calculate taxes (JSON body) - GET /v1/countries — List supported countries with currency codes - GET /v1/countries/:country — Country-specific docs and parameters (JSON) - GET /openapi.json — OpenAPI 3.1 specification (full, all countries) - GET /openapi-slim.json — OpenAPI 3.1 specification (slim, for AI agents) - GET /.well-known/ai-plugin.json — AI plugin manifest - MCP Server: npx @sliday/reltax — native tools for Claude Desktop/Code ## Quick Start ``` curl "https://rel.tax/v1/calculate/de?income=60000" ``` Only `income` is required. All other parameters have sensible defaults. Call GET /v1/countries/:country to discover country-specific parameters. ## Supported Countries (55) AE, AM, AT, AU, BE, BG, BR, CA, CH, CO, CR, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GE, GR, HR, HU, ID, IE, IL, IN, IT, JP, KR, LT, LV, ME, MT, MX, MY, NL, NO, NZ, PH, PL, PT, RO, RS, SE, SG, SI, SK, TH, TR, UA, US, VN, ZA ## Response Format All /v1/calculate/:country endpoints return JSON with: - country, currency, taxYear — metadata - monthly.{gross, socialInsurance, healthInsurance, incomeTax, totalDeductions, net} - yearly.{gross, socialInsurance, healthInsurance, incomeTax, totalDeductions, net} - rates.{effectiveTaxRate, dailyRate, hourlyRate, workingDays} - details — country-specific breakdown Errors: HTTP 400/404 with { "error", "code", "hint", "docs" } ## Full Documentation For complete per-country parameter documentation, see: https://rel.tax/llms-full.txt ## Notes - No authentication required - CORS enabled for all origins - No rate limits - Income is in local currency (check currency field in response) - Source: rel.tax