Skip to content
GDPR-native · EU data residency

Proof of address, verified in seconds.

One API call. Utility bills, bank statements and government letters in any language or script. Names, addresses and issue dates extracted and matched, with an audit-ready pass/fail verdict.

Get started
<3s Latency
$0.35/check Business plan
$29/mo Starter plan
202 Accepted
Thameside Energy 1 – 31 March 2026
Total due £82.40
Sarah M. Kensington
Acct 8821 0094
123 Main Street, London
ItemReadingAmount
Electricity4,281 kWh£48.20
Gas1,102 kWh£28.60
Standing charge31 days£5.60
thameside-mar2026.pdf · 184 KB
EXTRACTED 5 / 5 fields
Name Sarah M. Kensington
80%
Address 123 Main St, London
90%
Postcode SW1A 1AA
100%
Doc type Utility bill
Pass
Issued 3 Apr 2026
Pass
Verification result Approved
Name Address Postcode Date Doc type

The teams with the hardest
compliance problem

KYC onboarding for fintech

Automate proof-of-address checks at account opening. One API call verifies the document, extracts data, and returns a pass/fail verdict your compliance team can trust.

  • Restrict to bank statements or utility bills
  • Per-field match thresholds you control
  • Full audit trail on every verification
Learn more →
cURL
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: poa_live_7f28...cC4" \
  -F "[email protected]" \
  -F "name=John Doe" \
  -F "address=123 Main Street, London" \
  -F "postcode=SW1A 1AA"

iGaming and betting operators

Proof-of-address checks that keep licensed operators compliant across jurisdictions. UK, Malta, EU, Ontario and beyond. Document freshness windows are enforced per-jurisdiction so stale bills never slip through.

  • Enforce document-age windows (e.g. last 90 days)
  • Per-field match thresholds for name and address
  • EU-hosted, GDPR-compliant audit trail
Learn more →
cURL
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: poa_live_7f28...cC4" \
  -F "[email protected]" \
  -F "name=Jane Smith" \
  -F "address=10 High Street, London" \
  -F "postcode=EC1A 1BB"

Exchanges and wallets

Verify proof of address for users worldwide. Documents in any language or script are processed with automatic transliteration to Latin characters for seamless matching.

  • Any language or script supported
  • Automatic transliteration to Latin
  • Webhooks with HMAC-SHA256 signatures
Learn more →
cURL
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: poa_live_7f28...cC4" \
  -F "[email protected]" \
  -F "name=Yuki Tanaka" \
  -F "address=Tokyo, Shibuya-ku" \
  -F "postcode=150-0001"

Property and lettings

Verify tenant addresses during referencing. Accept government letters, utility bills, and bank statements with a PDF verification report for every request.

  • Accept government letters, utility bills, bank statements
  • PDF verification report for every request
  • Dashboard upload for non-technical teams
Learn more →
cURL
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: poa_live_7f28...cC4" \
  -F "[email protected]" \
  -F "name=Emma Wilson" \
  -F "address=42 Oak Lane, Manchester" \
  -F "postcode=M1 2AB"

Built for the messy reality of documents

Real-world proof of address is a PDF scanned on a phone, in a language no one on your team reads. We handle all of it.

Latin 中文 العربية Кириллица हिन्दी 日本語 한국어 Ελληνικά עברית ไทย

Any language, any script

Non-Latin text is automatically transliterated so your records stay in one alphabet.

<3s

Under three seconds

Typical end-to-end latency. Poll synchronously or receive a webhook.

PDF
JPG
PNG
WEBP

Formats people actually send

PDFs, photos, screenshots and scans accepted as-is.

14:30:00.142 Request submitted API
14:30:00.891 Document extracted System
14:30:01.478 Name + address matched System
14:30:02.106 Verdict returned System
14:30:02.334 PDF report generated System

Audit-ready by default

Every action logged with actor, timestamp and status change. Download a PDF report per verification.

Three calls. Under an hour.

1

Create an API key

Sign up and grab a key from the dashboard. Pass it on every request in the X-API-Key header.

API key poa_live_7f28…cC4
Base URL https://app.trusqo.com
2

Submit a document

POST the file alongside the name and address you expect. Get back a requestId immediately.

curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: $TRUSQO_KEY" \
  -F "name=John Doe" \
  -F "address=123 Main St, London SW1A 1AA" \
  -F "[email protected]"
3

Get the verdict

Poll GET /api/verify/{id} or receive a webhook. status is approved, declined, or needs_review.

{
  "status": "approved",
  "extractedName":    "John A. Doe",
  "nameMatchScore":    0.92,
  "extractedAddress": "123 Main St, London SW1A 1AA",
  "addressMatchScore": 0.95,
  "extractedDocType": "utility-bill"
}

Simple, transparent pricing

Start small and scale as you grow. All plans include the full API, dashboard, and webhooks

Not sure which plan? Book a demo →

Starter
For small teams
$29 /mo
$0.55 per check
  • 50 checks included
  • $0.55 per extra check
  • Full API access
  • Dashboard & webhooks
Get started
Business
For high volume
$169 /mo
$0.35 per check
  • 500 checks included
  • $0.35 per extra check
  • Full API access
  • Dashboard & webhooks
Get started

From signup to first verification in under an hour.

Start at $29/mo with 50 checks included. No contracts, no minimums, cancel any time.

cURL
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: poa_live_..." \
  -F "[email protected]" \
  -F "name=John Doe" \
  -F "address=123 Main St"