{
  "openapi": "3.0.1",
  "info": {
    "title": "EU & UK VAT Number Validator & VIES Verifier Pro",
    "description": "Bulk validate EU & UK VAT numbers or company domains with official VIES consultation proof numbers, Reverse-Charge approval tiers, unmasked DE/ES legal names, 4-column ERP addresses & SHA-256 audit certificates — no API keys needed, $0.00 start fee, $2.20/1k checks.",
    "version": "1.0",
    "x-build-id": "PcRf7HbmCqx4vbKFk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/voxatools~eu-vat-vies-company-verifier/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-voxatools-eu-vat-vies-company-verifier",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/voxatools~eu-vat-vies-company-verifier/runs": {
      "post": {
        "operationId": "runs-sync-voxatools-eu-vat-vies-company-verifier",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/voxatools~eu-vat-vies-company-verifier/run-sync": {
      "post": {
        "operationId": "run-sync-voxatools-eu-vat-vies-company-verifier",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "resultType": {
            "title": "1. Output Mode (Bulk VAT Tax Audit Verifications vs. B2B Corporate Entity KYB Profiles)",
            "enum": [
              "verifications",
              "entities"
            ],
            "type": "string",
            "description": "Select 'verifications' (default — $2.00/1k checks) for line-by-line EU/UK VAT audit verification records with official VIES consultation proof numbers, Reverse-Charge eligibility tiers, and 4-column ERP addresses. Select 'entities' ($3.00/1k companies) to aggregate results or resolve company domains into unified B2B KYB legal entity profiles with HRB/SIREN/KVK/CRN registration numbers and GLEIF LEI codes.",
            "default": "verifications"
          },
          "vatNumbers": {
            "title": "2. EU & UK VAT Numbers or National Registration Numbers to Verify",
            "type": "array",
            "description": "List of EU (27 Member States + Northern Ireland XI) or UK (GB) VAT identification numbers to validate in bulk (e.g., 'IE6388047V', 'DE260543043', 'NL805734958B01', 'SE556703748501', 'FR22424761419'). Automatically strips spaces, dots, and hyphens, converts GR to EL, and runs 0ms offline national checksum validation before querying live registries.",
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "3. Company Website Domains or Legal Names (Optional Domain-to-VAT & KYB Discovery)",
            "type": "array",
            "description": "Optional list of B2B company website domains or corporate names (e.g., 'spotify.com', 'zalando.de', 'booking.com', 'adyen.com', 'siemens.com') when you do not yet have the partner's VAT number. Automatically scans website legal notices (Impressum / Mentions légales / Legal) and GLEIF registries to extract and live-verify their VAT number.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "defaultCountry": {
            "title": "4. Default ISO Country Prefix (For Raw VAT Numbers Missing a 2-Letter Country Code)",
            "enum": [
              "AUTO",
              "DE",
              "FR",
              "NL",
              "IE",
              "BE",
              "IT",
              "ES",
              "SE",
              "FI",
              "DK",
              "PL",
              "AT",
              "PT",
              "EL",
              "CZ",
              "RO",
              "HU",
              "BG",
              "SK",
              "HR",
              "LT",
              "SI",
              "LV",
              "EE",
              "CY",
              "LU",
              "MT",
              "XI",
              "GB"
            ],
            "type": "string",
            "description": "Select 'AUTO' (default) when your VAT numbers already include a 2-letter country prefix (such as DE260543043 or IE6388047V), or select a specific EU/UK ISO country code (e.g., 'DE', 'FR', 'NL', 'GB') to automatically prepend when validating raw domestic numbers without prefixes.",
            "default": "AUTO"
          },
          "requesterVatNumber": {
            "title": "5. Requester VAT Number (Optional — For Official EU VIES Audit Consultation Proof Numbers)",
            "type": "string",
            "description": "Optional: Your own company's EU VAT number (e.g., 'IE6388047V') submitted to the European Commission VIES system so it generates an official timestamped Consultation Proof Number (requestIdentifier) required for 0% VAT Intra-EU Reverse Charge tax audits. Leave empty if you do not need a requester-linked VIES consultation identifier."
          },
          "includeRegistryDetails": {
            "title": "6. 🏛️ Deep Corporate Registry, GLEIF LEI & Unmasked DE/ES KYB Enrichment (+$2.00 / 1,000 records)",
            "type": "boolean",
            "description": "Note: VIES validation, official consultationNumber, 4-column parsed ERP addresses, and German/Spanish name unmasking are ALREADY included! Enable 'includeRegistryDetails' when you also need full GLEIF ISO-17442 LEI records, commercial court registration numbers (HRB/SIREN/KVK/KBO/CRN), legal form, incorporation date, and parent entity links.",
            "default": false
          },
          "onlyValid": {
            "title": "7. ✅ Only Output Active & Valid VAT Numbers (Filter Out Invalid / Deregistered)",
            "type": "boolean",
            "description": "When enabled, filters out syntax-invalid or deregistered VAT numbers and only outputs verified active records ('valid: true') approved for Intra-EU Reverse Charge invoicing.",
            "default": false
          },
          "deduplicateEntities": {
            "title": "8. 📈 Deduplicate Identical VAT Numbers & Multi-Branch ERP Rows (Zero Double-Charging)",
            "type": "boolean",
            "description": "When enabled (default true), normalizes dirty ERP strings (e.g., 'DE 260 543 043', 'de-260.543.043', 'DE260543043') in 0ms and merges duplicate rows into 1 single verification record while counting 'invoiceOrBranchScaleCount' so you never pay twice for the same supplier or customer.",
            "default": true
          },
          "maxResults": {
            "title": "9. Maximum Records to Output",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of verified VAT or corporate entity records to output in this run (1 to 10,000 records per batch).",
            "default": 100
          },
          "onlyChangedStatus": {
            "title": "10. 📡 Scheduled Delta Compliance Radar: Only Output Newly Revoked or Changed VAT Statuses",
            "type": "boolean",
            "description": "When enabled on scheduled weekly or monthly compliance runs, stores a baseline snapshot of all partner VAT statuses in a persistent Key-Value Store and only outputs and bills for newly added partners or partners whose VAT status changed (e.g., VALID -> INVALID; $0.00 cost when 0 statuses change).",
            "default": false
          },
          "generateAuditCertificates": {
            "title": "11. 📜 Generate & Archive Permanent SHA-256 Tax Audit Proof Certificates (+$1.00 / 1,000 certs)",
            "type": "boolean",
            "description": "When enabled, generates and archives a permanent tamper-evident JSON and printable HTML Tax Audit Proof Certificate (with UTC timestamp, official VIES consultationNumber, 4-column address, and SHA-256 cryptographic signature) into your Apify Key-Value Store ('permanentAuditCertificateUrl').",
            "default": false
          },
          "downloadAssets": {
            "title": "12. 💾 Archive Printable HTML/JSON Audit Certificates Alias (downloadAssets)",
            "type": "boolean",
            "description": "Optional alias for 'generateAuditCertificates': when enabled, saves permanent printable HTML and JSON VIES Tax Audit Proof Certificates with SHA-256 signatures into your Apify Key-Value Store for 10-year tax audit archiving.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}