# French VAT (TVA) Number Validator

> French VAT (TVA) Number Validator is a paid API for AI agents from vat.openverbs.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-09-14).

Validates a French VAT (TVA) number by checking whether the SIREN exists and the company is administratively active via the French government recherche-entreprises API.

## Facts

- Endpoint: POST https://vat.openverbs.com/v1/france
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/french-vat-tva-number-validator-aeb71072
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kZGaoipKkjELjwYZ1DeTF

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability french-vat-tva-number-validator-aeb71072 -d '<json body>'
```

Example prompt: Can you check whether the French VAT number FR83404833048 is valid and whether the company is still administratively active?

## When to prefer this

Use this endpoint when you specifically need to validate a French VAT (TVA) number against the official French government business registry. Prefer this over generic EU VIES lookups when you need confirmation of administrative activity status in France specifically, or when VIES does not return data for French entities. It is well-suited for B2B supplier onboarding, invoice processing compliance, and automated accounts-payable workflows involving French companies.

## Known failure modes

- Malformed VAT number (wrong length, invalid characters, or key mismatch with SIREN) returns a validation error
- SIREN exists but company is administratively inactive returns invalid status
- Upstream recherche-entreprises API unavailable causes service error
- VAT number shorter than 11 characters or longer than 20 characters is rejected by input schema

## How this service works

Validate a French VAT (TVA) number against the official company register. Validity means the SIREN exists and the company is administratively active.

## Output

Returns whether the French VAT (TVA) number is valid, meaning the embedded SIREN exists in the French business registry and the corresponding company is administratively active. Invalid results indicate either a non-existent SIREN, an inactive company, or a malformed TVA number where the 2-digit key does not match the SIREN.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "vatNumber"
     ],
     "properties": {
      "vatNumber": {
       "type": "string",
       "maxLength": 20,
       "minLength": 11,
       "description": "French VAT/TVA number — \"FR\" + a 2-digit key + the 9-digit SIREN. A leading \"FR\" and spaces are tolerated; the key must match the SIREN."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/french-vat-tva-number-validator-aeb71072/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vat.openverbs.com](https://www.zero.xyz/host/vat.openverbs.com/llms.txt)
