Quick start
Create your first lookup
The simplest integration keeps the anonymous cookie returned by the create request, then sends it when polling or downloading the job.
curl -c website2vat.cookies -X POST https://website2vat.com/api/jobs \
-F "text=stripe.com
canva.com" \
-F "name=Customer websites"
The response is a job object. Save its id, then poll GET /api/jobs/{id} using the same cookie.
Reference
Endpoints
POST
/api/jobs
Create a VAT lookup
Send pasted domains, an uploaded list, or both as multipart form data. Returns a job ID and starts the free preview.
curl -c website2vat.cookies -X POST https://website2vat.com/api/jobs \
-F "text=stripe.com
canva.com" \
-F "name=Customer websites"
POST
/api/jobs/{id}
Check results
Poll with the same cookie or bearer token. Stop when the status is complete, preview_ready, preview_locked, or error.
curl -b website2vat.cookies https://website2vat.com/api/jobs/JOB_ID
POST
/api/jobs/{id}/checkout
Create hosted checkout
Returns a Stripe-hosted payment URL. Stripe Checkout is available.
curl -b website2vat.cookies -X POST https://website2vat.com/api/jobs/JOB_ID/checkout
POST
/api/jobs/{id}/x402
Pay with x402
Request an x402 challenge and retry with a signed payment. The current asset is USDC on Base on eip155:8453.
curl -i -b website2vat.cookies -X POST https://website2vat.com/api/jobs/JOB_ID/x402
GET
/api/jobs/{id}/download
Download the CSV
Downloads all results once canDownload is true. Returns 402 while payment is still required.
curl -b website2vat.cookies -o results.csv https://website2vat.com/api/jobs/JOB_ID/download
Authentication
Keep one identity per lookup
Jobs are private to the client that created them. Scripts can use a cookie jar. Server integrations can register anonymous OAuth client credentials and send the resulting 24-hour bearer token on every request.
curl -X POST https://website2vat.com/oauth/register \
-H "Content-Type: application/json" -d "{}"
curl -X POST https://website2vat.com/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET"
See the authentication notes for the complete token flow.
Good to know
Limits and formats
- Up to 10,000 unique domains per lookup.
- TXT, CSV, TSV, XLSX, and Apple Numbers uploads up to 2 MB.
- Jobs and uploaded lists are deleted after 14 days.
- Responses are JSON; completed exports are CSV.