BYTETOOLS

VATComply Rates API

Free exchange rate API with no key, built on European Central Bank data, plus IP-based country detection and VAT number validation. Tested curl example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the VATComply Rates API?

VATComply provides a free, key-free API offering foreign exchange rates sourced from the European Central Bank, alongside IP-based country detection and EU VAT number validation.

VATComply bundles three things an EU e-commerce checkout typically needs: exchange rates for price display, IP geolocation to guess the customer's country, and VAT number validation for B2B zero-rating.

The rates come from ECB reference data, which means they update once per working day and are the figures acceptable for accounting purposes — the same provenance as Frankfurter, with the VAT tooling added alongside.

Quick facts

Base URL
https://api.vatcomply.com
Authentication
No API key required.
Rate limit
No published hard limit; fair use expected.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the VATComply Rates API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch exchange rates

GET https://api.vatcomply.com/rates?base=USD

curl
curl 'https://api.vatcomply.com/rates?base=USD'
JavaScript (fetch)
const res = await fetch("https://api.vatcomply.com/rates?base=USD");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.vatcomply.com/rates?base=USD", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "date": "2026-08-19",
  "base": "USD",
  "rates": {
    "EUR": 0.861698,
    "USD": 1.0,
    "JPY": 159.086601,
    "CZK": 20.821198,
    "DKK": 6.441965,
    "GBP": 0.737682,
    "HUF": 314.157691,
    "PLN": 3.726411,
    "RON": 4.52081,
    "SEK": 9.511848,
    "CHF": 0.810168,
    "ISK": 122.533391,
    "NOK": 9.401551,
    "TRY": 47.934597,
    "AUD": 1.41327,
    "BRL": 5.204136,
    "CAD": 1.387161,
    "CNY": 6.738216,
    "HKD": 7.84162,
    "IDR": 17832.098234,
    "ILS": 2.987161,
    "INR": 95.757432,
    "KRW": 1391.477811,
    "MXN": 17.036536,
    "MYR": 4.057475,
    "NZD": 1.700819,
    "PHP": 61.820767,
    "SGD": 1.276174,
    "THB": 33.065058,
    "ZAR": 16.244291
  }
}

Parameters

ParameterTypeRequiredDescription
ratespathOptionalExchange rates endpoint. rates
basestringOptionalBase currency. Defaults to EUR. USD
datestringOptionalHistorical date as YYYY-MM-DD. 2026-01-15
vatpathOptionalVAT number validation. vat?vat_number=IE6388047V
geolocatepathOptionalCountry detection from the caller's IP. geolocate

Response fields

datestring
Date the rates were published.
basestring
Base currency.
ratesobject
Currency code to rate mapping.
(vat) validboolean
Whether the VAT number is registered.
(vat) name / addressstring
Registered business details, where disclosed.
(geolocate) country_codestring
Detected country from IP.

What you can build with the VATComply Rates API

  • Display prices in a customer's local currency at checkout
  • Validate EU VAT numbers for B2B zero-rating
  • Detect a customer's country to preselect currency and tax treatment
  • Record accounting-grade exchange rates on invoices

Common errors and how to fix them

Rates unchanged over a weekend

ECB publishes on working days only.

Fix: Read the `date` field rather than assuming it matches your request.

VAT validation unavailable

It proxies VIES, which member states take offline for maintenance.

Fix: Distinguish unavailable from invalid — do not reject a customer on a service outage.

Wrong country from geolocate

IP geolocation is approximate.

Fix: Use it to preselect, never to enforce; let the customer correct it.

VATComply Rates API — frequently asked questions

Is VATComply free?

Yes, free with no API key for exchange rates, VAT validation and IP geolocation.

Where do the exchange rates come from?

European Central Bank reference rates, which update once per working day and are the figures generally acceptable for accounting purposes.

How does its VAT validation compare with VIES directly?

It proxies VIES, so the underlying answer is the same. Using VIES directly gives you the official response; VATComply is convenient when you want rates and validation from one API.

Why did the rates not change over the weekend?

ECB publishes on working days only, so weekend requests return Friday's rates. Always read the returned date.

Tools that pair with this API

VATComply Rates is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.