§Countersure

§ THE COUNTERSURE API

Verify a supplier in one HTTP call.

REST. JSON. Stamped audit IDs. Designed for ERPs, KYB stacks, marketplaces, and bookkeeping engines.

§ AUTH

Authorization: Bearer cs_live_a1b2c3d4...
Content-Type: application/json

Test keys (cs_test_*) hit a sandbox returning deterministic responses.

§ SINGLE CHECK

REQUEST

POST /v1/vat/check
{
  "vat_number": "GB123456789",
  "requester_vat": "GB987654321"
}

RESPONSE

{
  "verification_id": "CS-20260416-7K3M9X1Q",
  "status": "verified",
  "vat_number": "GB123456789",
  "name": "Acme Trading Ltd",
  "address": "1 High St, London",
  "checked_at": "2026-04-16T14:21:09Z",
  "source": "HMRC",
  "pdf_url": "https://countersure.com/p/CS-..."
}

§ BULK SUBMIT

POST /v1/vat/bulk
{ "vat_numbers": ["GB123456789", "GB987654321", ...] }

→ returns { "job_id": "...", "status_url": "..." }
   poll until "complete", then download CSV + zip of PDFs

§ WEBHOOKS

Subscribe to status drift on any verified VAT number. Countersure re-checks on a schedule and fires:

POST <your_endpoint>
{
  "event": "vat.status_changed",
  "vat_number": "GB123456789",
  "previous_status": "verified",
  "current_status": "deregistered",
  "verification_id": "CS-20260420-A4K1MX9P",
  "checked_at": "2026-04-20T03:00:00Z"
}

§ RATE LIMITS & SLAs

  • Pro1,000 checks / month · 5 req/sec · email support
  • Team5,000 checks / month · 20 req/sec · Slack support
  • API50,000 checks / month · 100 req/sec · 99.9% uptime SLA

Talk to us about volume.

REQUEST API ACCESS →