DATPAQ VAT Validation And Rates API
VAT number validation, VAT rates by country, and VAT price calculation
VAT number validation, VAT rates by country, and VAT price calculation
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/datpaq-com:datpaq-com-vat-validation-and-rates-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Datpaq Com VAT Validation And Rates API
version: 1.1.0
contact:
name: Datpaq Support
url: https://datpaq.com
license:
name: Proprietary
description: 'Operations tagged VAT Validation And Rates across 2 of this provider''s published API definitions: datpaq-com.yaml, datpaq-com-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: VAT Validation And Rates
description: VAT number validation, VAT rates by country, and VAT price calculation
paths:
/vat-validation-and-rates/validate:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesValidate
summary: Validate a VAT number
parameters:
- name: vatNumber
in: query
required: true
description: VAT number with country prefix
schema:
type: string
example: DE123456789
- name: checkRegistry
in: query
required: false
description: Check live VIES/HMRC registration (default false)
schema:
type: boolean
example: true
- name: sellerCountryCode
in: query
required: false
description: Seller country code; adds reverseChargeApplicable
schema:
type: string
example: FR
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
success: true
valid: true
normalized: DE123456789
countryCode: DE
nationalNumber: '123456789'
country: Germany
rates:
standard: 19
reduced:
- 7
superReduced: null
parking: null
zero: null
currency: EUR
meta:
correlationId: req_abc123
timestamp: '2026-08-30T00:00:00.000Z'
processingTime: 4ms
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/validate/{vatNumber}:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesValidateNumber
summary: Validate a VAT number from the URL path
parameters:
- name: vatNumber
in: path
required: true
description: VAT number with country prefix
schema:
type: string
example: DE123456789
- name: checkRegistry
in: query
required: false
description: Check live VIES/HMRC registration (default false)
schema:
type: boolean
example: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/validate-batch:
post:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesValidateBatch
summary: Validate up to 50 VAT numbers
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- vatNumbers
properties:
vatNumbers:
type: array
description: JSON array or comma-separated VAT numbers (1-50)
items: {}
checkRegistry:
type: boolean
description: Check live VIES/HMRC registration (default false)
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesValidateBatchGet
summary: Validate up to 50 comma-separated VAT numbers via GET
parameters:
- name: vatNumbers
in: query
required: true
description: Comma-separated VAT numbers (1-50)
schema:
type: string
example: DE123456789,FR40303265045
- name: checkRegistry
in: query
required: false
description: Check live VIES/HMRC registration (default false)
schema:
type: boolean
example: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
success: true
summary:
totalProcessed: 2
valid: 2
invalid: 0
results:
- index: 0
vatNumber: DE123456789
valid: true
normalized: DE123456789
countryCode: DE
nationalNumber: '123456789'
country: Germany
- index: 1
vatNumber: FR40303265045
valid: true
normalized: FR40303265045
countryCode: FR
nationalNumber: '40303265045'
country: France
meta:
correlationId: req_abc123
timestamp: '2026-08-30T00:00:00.000Z'
processingTime: 8ms
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/calculate:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesCalculate
summary: Calculate VAT for an amount
parameters:
- name: amount
in: query
required: true
description: Positive amount
schema:
type: number
example: 100
- name: countryCode
in: query
required: true
description: Two-letter country code
schema:
type: string
example: DE
- name: category
in: query
required: false
description: 'Rate category: standard (default), reduced, reduced2, superReduced, parking, or zero'
schema:
type: string
example: reduced
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/calculate-batch:
post:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesCalculateBatch
summary: Calculate VAT for multiple amounts
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- conversions
properties:
conversions:
type: array
description: JSON array of {"amount","countryCode","category"} objects
items: {}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesCalculateBatchGet
summary: Calculate VAT for multiple amounts via GET
parameters:
- name: conversions
in: query
required: true
description: JSON-encoded array of {"amount","countryCode","category"} objects
schema:
type: string
example: '[{"amount":100,"countryCode":"DE"}]'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/rates/{countryCode}:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesRates
summary: Get VAT rates for a country
parameters:
- name: countryCode
in: path
required: true
description: Two-letter country code
schema:
type: string
example: DE
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/rates/countries:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesRateCountries
summary: List countries with VAT rate data
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/vat-validation-and-rates/catalog:
get:
tags:
- VAT Validation And Rates
operationId: vatValidationAndRatesCatalog
summary: List supported countries, categories, and limits
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message
example: Invalid API key
correlationId:
type: string
description: Request tracking identifier for support
example: abc123-def456-789ghi
service:
type: string
description: Service name that produced the error
example: ip-geolocation
GenericSuccess:
type: object
description: Standard success envelope. The data property structure varies by endpoint.
properties:
correlationId:
type: string
description: Request tracking identifier
example: abc123-def456
data:
type: object
description: Response payload (structure varies by endpoint)
cached:
type: boolean
description: Whether the response was served from cache
example: false
responses:
BadRequest:
description: Bad request — missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Rate limit exceeded — retry after the indicated period
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ServiceUnavailable:
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: API key passed via x-api-key request header
ApiKeyQuery:
type: apiKey
in: query
name: api_key
description: API key passed as api_key query parameter
x-refined-from:
- datpaq-com.yaml
- datpaq-com-openapi.yaml