Calculate tax & gross total on a net amount
API · /vat-api
VAT & Sales Tax API
VAT, GST and sales-tax rates for 128 countries — plus US state and Canadian province sub-rates — with a built-in tax calculator. Get the standard rate for any country (e.g. DE → 19%), compute the tax and gross total on a net amount (e.g. €100 in Germany → €19 tax, €119 total), apply a US state or Canadian province rate, or list every country. Ideal for e-commerce checkouts, invoicing, SaaS billing and pricing tools. (Standard rates, not tax advice.)
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 75 ms
- Server probes · 24h
- Subscribers
- 4,219
- active
- Total calls
- 80
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 2,500 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 2,500 calls/month
- 2 req/sec
- Rates + calculator
- No credit card
Starter
€8.00 /month
- 45,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 45k calls/month
- 8 req/sec
- State / province rates
- Email support
Pro
€22.00 /month
- 250,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 250k calls/month
- 20 req/sec
- Checkout / invoicing
- Priority support
Mega
€58.00 /month
- 1,100,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.1M calls/month
- 50 req/sec
- SaaS billing platform
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
EU VAT ID Validator API
EU VAT identification number format validation as an API, computed locally and deterministically. The validate endpoint takes a VAT number, strips spaces, dots and hyphens, reads the two-letter country prefix and checks the remaining body against that member state’s official structure — Germany’s nine digits, Austria’s U-plus-eight, the Netherlands’ nine-digits-B-two, France’s two-character prefix plus nine digits, Italy’s eleven digits, and so on for all 27 EU countries plus Northern Ireland (XI), correctly using EL for Greece rather than GR. It returns whether the format is valid, the country, and the expected pattern, so DE123456789 and ATU12345678 pass while a German number with only eight digits or a US prefix is rejected. The format endpoint looks up the expected VAT pattern for any country code, or lists all supported ones. This is an offline structure check — a valid format does not prove the number is registered, for which a live VIES lookup is needed. Everything is computed locally and deterministically, so it is instant and private. Ideal for e-commerce, invoicing, accounting, B2B-checkout and tax-compliance app developers, VAT-field validation and onboarding tools, and finance software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 2 endpoints. This validates VAT-number format; for VAT tax rates use a VAT/tax API.
api.oanor.com/vatid-api
GST API
Validate and decode Indian GSTINs (the 15-character Goods & Services Tax Identification Number) instantly and entirely offline. The validate endpoint checks the structure and recomputes the official GSTIN check digit — the base-36 weighted algorithm the GSTN itself uses — and confirms the embedded state code is real, returning a clear valid/invalid verdict with the specific reasons a number fails. The decode endpoint breaks a GSTIN into its parts: the GST state/UT code and its name, the embedded 10-character PAN, the PAN holder type (company, individual/proprietor, firm/LLP, HUF, trust, government and more, read from the PAN's 4th letter), the entity registration number, the default 'Z' slot and the check digit. A states endpoint returns the full GST state-code reference for building dropdowns and lookups. Everything is pure computation — no network call, no key, no cache — so it is fast and private, ideal for checkout and onboarding forms, invoicing and e-invoice/e-way-bill pipelines, vendor master data cleansing and bulk validation. A structural GSTIN validator and decoder — distinct from EU VAT-number validation (vat), IBAN bank-account validation (iban) and card-number checks (creditcard). Note: this verifies the number's structure and check digit, not whether it is actively registered in the GSTN portal. No upstream key, no cache.
api.oanor.com/gst-api
Tax Bracket API
Progressive (marginal) tax-bracket maths as an API. You supply the bracket schedule, so it works for any country, year or tax table and never goes stale, and it is entirely currency-agnostic. The tax endpoint takes an income and a schedule of threshold:rate pairs (with an optional standard deduction) and returns the total tax, the after-tax income, the effective and marginal rates, and a per-bracket breakdown showing exactly how much is taxed in each tier. The reverse endpoint solves the inverse problem — the gross income needed to take home a target net amount on the same schedule — by bisection. The brackets endpoint validates and normalizes a schedule into labelled tiers (adding a 0% tier from zero and marking the open-ended top bracket). Everything is computed locally and deterministically, so it is instant and private. It models only the schedule you provide — fold any allowances, credits or surtaxes into the brackets or the deduction yourself — and it is not tax advice. Ideal for payroll and HR tools, salary and offer calculators, fintech and budgeting apps, and any product that shows take-home pay. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is progressive-tax maths on a schedule you supply; for gross-pay period conversion use a payroll API and for loans and interest use a finance-calculator API.
api.oanor.com/taxbracket-api
Vinted API
Live data from Vinted, Europe's largest second-hand fashion marketplace, with no account and no key. Vinted's public catalogue sits behind an anonymous session; this API bootstraps that session and reads Vinted's own internal JSON, returning clean results. Search the live catalogue by keyword with a price range and sort order (newest, price low-to-high, price high-to-low, relevance) — each listing with its price, brand, size, condition, primary photo, favourite count and seller. List any seller's public listings (their "closet"). And read a seller's public profile — item count, follower and following counts, positive/negative feedback counts and reputation. The resale / second-hand-commerce layer for shopping aggregators, price-comparison, fashion-resale analytics and deal-finding tools. Distinct from new-goods marketplace readers. Live from Vinted; short cache only.
api.oanor.com/vinted-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for VAT & Sales Tax API?
What's the rate limit for VAT & Sales Tax API?
How much does VAT & Sales Tax API cost?
Can I cancel my subscription anytime?
Is VAT & Sales Tax API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/vat-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/vat-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/vat-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/vat-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.