API Documentation
VAT Number Validation
Validate European VAT numbers using the official VIES (VAT Information Exchange System) database.
GET /vat?vat_number=BE0123456789
Response:
{
"valid": true,
"vat_number": "123456789",
"name": "COMPANY NAME",
"address": "COMPANY ADDRESS",
"country_code": "BE"
}
Supported countries: All EU member states plus Northern Ireland (XI prefix)
Note: UK (GB) VAT numbers are no longer supported since Brexit (01/01/2021). Use XI prefix for Northern Ireland businesses.
Foreign Exchange Rates
Latest rates
Get the latest foreign exchange rates.
GET /rates
Response:
{
"date": "2024-01-15",
"base": "EUR",
"rates": {
"USD": 1.0856,
"GBP": 0.8642,
"JPY": 156.92
}
}
Base currency conversion
GET /rates?base=USD
Specific currencies
GET /rates?symbols=USD,GBP
Historical rates
GET /rates?date=2018-01-01
Combined parameters
GET /rates?date=2018-01-01&symbols=USD,GBP&base=EUR
Visitor IP Geolocation
GET /geolocate
Automatic country detection from visitor's IP using CloudFlare headers.
IBAN Validation
GET /iban?iban=GB82WEST12345698765432
Validate International Bank Account Numbers with detailed information.
Countries
GET /countries
Complete list of countries with detailed information.
Currencies
GET /currencies
Information about all supported currencies.
Rate Limiting & Usage
Rate Limits
- • Anonymous requests: 2 requests per second
- • No authentication required
- • Rate limits applied per IP address
HTTP Status Codes
- •
200
Success - •
400
Bad Request - •
404
Not Found - •
422
Validation Error - •
429
Rate Limit Exceeded
Technology Stack
VATcomply API is built on Python with key technologies including:
- • Django - Core web framework with async views
- • Django Ninja - REST API framework
- • Pydantic - Data validation
- • APScheduler - Background task scheduler
- • Httpx - Async HTTP client
- • Uvicorn - ASGI server
This stack enables the API to handle thousands of requests per second asynchronously.