VAT format for a country
API · /vatid-api
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 health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 83 ms
- Server probes · 24h
- Subscribers
- 3,731
- active
- Total calls
- 22
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 5,700 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 5,700 calls/month
- 2 req/sec
- Format validation for all 27 EU states
- No credit card
Starter
€5.85 /month
- 57,000 calls / month
- 6 requests / second
- Hard cap (429 above quota, no overage)
- 57,000 calls/month
- 6 req/sec
- Country detection, format lookup
- Email support
Pro
€16.40 /month
- 258,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 258,000 calls/month
- 15 req/sec
- Checkout & invoicing pipelines
- Priority support
Mega
€45.00 /month
- 1,465,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 1,465,000 calls/month
- 40 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
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.oanor.com/vat-api
European Parliament API
The European Parliament as an API, powered by the official European Parliament Open Data portal (data.europarl.europa.eu). Track the EU's directly-elected legislature: list the Members of the European Parliament (MEPs) for any parliamentary term — term 10 is the current 2024-2029 Parliament — with pagination; read an individual MEP's profile including their full name, country of representation, gender, contact email, official photo and place of birth, together with their committee, political-group and delegation memberships split into current and past, each with the role held (member, chair, vice-chair, …) and start/end dates; and browse the Parliament's corporate bodies — its standing and special committees (such as ECON, ENVI, LIBE), political groups and inter-parliamentary delegations — with their id, acronym, label and type. The organization id that appears in an MEP's memberships matches a corporate body, so you can resolve exactly which committee or group a member sits on. Ideal for civic-tech and transparency tools, political research and journalism, lobbying and public-affairs monitoring, and EU-policy analytics. MEP ids come from the MEPs endpoint. Data from the European Parliament (CC-BY 4.0).
api.oanor.com/europarl-api
SWIFT/BIC Validator API
SWIFT/BIC business-identifier-code validation and parsing as an API, computed locally and deterministically. The validate endpoint checks that a code follows the ISO 9362 BIC structure — four letters for the institution, a two-letter ISO country code, a two-character location code and an optional three-character branch code, eight or eleven characters in total — ignoring spaces and upper-casing the input, and confirms the country code is a recognised one; DEUTDEFF (Deutsche Bank, Frankfurt) is a valid eight-character head-office BIC and DEUTDEFF500 a valid eleven-character branch BIC. The parse endpoint breaks a BIC into its institution, country, location and branch components, reports whether it is a head office or a branch (branch XXX or none means the head office), and reads the status from the location code’s second character — 0 for a test/non-SWIFT code, 1 for a passive participant and 2 for reverse billing. A BIC carries no checksum, so this is structural validation. Everything is computed locally and deterministically, so it is instant and private. Ideal for fintech, banking, payment, KYC, treasury and accounting app developers, SWIFT-code and bank-identifier tools, and onboarding flows. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 2 endpoints. This validates and parses a BIC; for IBAN account-number validation use an IBAN API.
api.oanor.com/bic-api
ISBN Validator API
ISBN validation and conversion as an API, computed locally and deterministically. The validate endpoint detects whether a code is an ISBN-10 or an ISBN-13, ignores hyphens and spaces, and verifies the check digit — ISBN-10 with the mod-11 scheme whose last character may be the letter X (for 10), and ISBN-13 with the weighted 1-3-1-3 mod-10 scheme — so 0-306-40615-2 and 978-0-306-40615-7 both validate while a wrong check digit is rejected. The checkdigit endpoint computes the trailing check digit for a 9-digit ISBN-10 stem or a 12-digit ISBN-13 stem (and recomputes it for a full code). The convert endpoint converts between the two forms: an ISBN-10 becomes an ISBN-13 by prefixing 978 and recomputing the check, and a 978-prefixed ISBN-13 converts back to ISBN-10 (979-prefixed codes have no ISBN-10 equivalent). Everything is computed locally and deterministically, so it is instant and private. Ideal for publishing, library, bookstore, catalogue, e-commerce and metadata app developers, ISBN-validation and barcode tools, and inventory systems. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is ISBN-specific validation and conversion; for generic Luhn/Verhoeff check digits use a check-digit API.
api.oanor.com/isbn-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for EU VAT ID Validator API?
What's the rate limit for EU VAT ID Validator API?
How much does EU VAT ID Validator API cost?
Can I cancel my subscription anytime?
Is EU VAT ID Validator 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/vatid-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/vatid-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/vatid-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/vatid-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.