# EU VAT number validation API Check an EU VAT number against the European Commission's VIES service with one GET request: valid or not, with the registered name and address where the member state shares them. ## When an agent wants this - Validate a B2B customer's VAT number at checkout before invoicing without VAT - Re-check supplier VAT numbers in an accounting or ERP job - Fill in a company's registered name and address from its VAT number ## VAT number validation, EU VIES VAT number validation, EU VIES. $0.01 per successful call; failed calls are never charged. Check an EU VAT number against the European Commission's VIES service: valid or not, with the registered name and address where the member state shares them. Any spacing (SE556703748501, DE 123 456 789; EL or GR for Greece, XI for Northern Ireland). Or verify a business by name: found or not in the French, Swedish, Norwegian and Finnish registers. Use to check a B2B customer before invoicing without VAT, or to confirm a supplier. Inputs: vat: VAT number with its 2-letter EU country prefix (give vat or name); name: Company name to verify instead of a VAT number: found or not in the FR, SE, NO and FI company registers; country: With name: search only this register (FR, SE, NO or FI, or the country's name). Free first (3 successful calls per caller, no key): curl "https://agent-data-tools.revmesh2074.workers.dev/vat/validate?vat=SE556703748501&trial=1" With a card key from https://agent-data-tools.revmesh2074.workers.dev/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/vat/validate?vat=SE556703748501" curl "https://agent-data-tools.revmesh2074.workers.dev/vat/validate?vat=SE556703748501&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://agent-data-tools.revmesh2074.workers.dev/mcp) this tool is vat_validate. Example result: { "vat": "SE556703748501", "country": "SE", "number": "556703748501", "valid": true, "name": "Spotify AB", "address": "REGERINGSGATAN 19, 111 53 STOCKHOLM", "checkedAt": "2026-11-06T14:36:47.903Z", "source": "EU VIES (European Commission)" } Tool page: https://agent-data-tools.revmesh2074.workers.dev/tools/vat-validate ## Swedish company lookup, Bolagsverket register Swedish company lookup, Bolagsverket register. $0.01 per successful call; failed calls are never charged. Swedish company by organisationsnummer (556703-7485 or SE556703748501) or name, from Bolagsverket and SCB: names, legal form, registration date, status, deregistration, bankruptcy, liquidation or reconstruction, VAT/F-tax/employer activity, SNI codes, business description, address. Weekly open data. Use to verify a Swedish customer or supplier before invoicing. Register facts only, not a credit report. Inputs: orgnr: Swedish organisationsnummer (10 digits, with or without the hyphen) or Swedish VAT number (give orgnr or name); name: Company name to search for, instead of orgnr: up to 10 registered companies whose name holds every word; checkVat: true to also check the VAT number live in the EU VIES service (adds about a second); city: With name: only companies whose postal address is in this city (postort), such as Göteborg; limit: Matches for a name search (1-10, default 5). Free first (3 successful calls per caller, no key): curl "https://agent-data-tools.revmesh2074.workers.dev/se/company?orgnr=556703-7485&trial=1" With a card key from https://agent-data-tools.revmesh2074.workers.dev/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/se/company?orgnr=556703-7485" curl "https://agent-data-tools.revmesh2074.workers.dev/se/company?orgnr=556703-7485&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://agent-data-tools.revmesh2074.workers.dev/mcp) this tool is se_company. Example result: { "orgnr": "556703-7485", "vatNumber": "SE556703748501", "name": "Spotify AB", "otherNames": [], "legalForm": { "code": "AB", "name": "Aktiebolag (limited company)" }, "status": "registered", "registered": "2006-05-10", "deregistered": null, "proceedings": [], "taxActive": true, "industries": [ { "sni": "60.100" } ], "businessDescription": "Bolaget har till föremål för sin verksamhet att bedriva Internetrelaterade tjänster inom digitala medier som musik, spel och TV, samt att, direkt eller indirekt, äga och förvalta fast och lös egendom, äga aktier och andelar i dotterbolag och andra bolag samt tillhandahålla administrativa tjänster för dessa bolag och därmed förenlig verksamhet.", "address": { "street": "Regeringsgatan 19", "postcode": "11153", "city": "STOCKHOLM", "country": "SE" }, "vat": null, "dataAsOf": "2026-11-09", "source": "Bolagsverket and SCB open data (värdefulla datamängder), weekly bulk files", "note": "Register facts only. This is not a credit report, credit score or rating." } Tool page: https://agent-data-tools.revmesh2074.workers.dev/tools/se-company ## Questions **Which countries does it cover?** Every EU member state and Northern Ireland (prefix XI) through VIES. Greece is EL; a number sent with GR is checked as EL. **What if VIES or a member state is busy?** The check is retried for busy signals. If no clear answer comes, the call fails and is not charged; it never answers not valid by default. **Does every country return the name and address?** No. Each member state decides; Germany and Spain return valid or not valid only. Docs for agents: https://agent-data-tools.revmesh2074.workers.dev/llms.txt · OpenAPI: https://agent-data-tools.revmesh2074.workers.dev/openapi.json · All guides: https://agent-data-tools.revmesh2074.workers.dev/guides