Skip to content

Automated proof of address, for compliance teams.

Utility bills, bank statements, government letters. Trusqo reads them in any language, checks the name and address against your customer record, and returns an audit-ready verdict in seconds.

Get started
180+ Countries
50+ Languages
<3s Per check
Thameside Energy
Your energy bill
Total due £82.40
Sarah M. Kensington
Acct 8821 0094
123 Main Street, London
Verification result
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
Approved
ID: a1b2c3d4…567890

Manual review doesn't scale

Every new customer means another document to open, another address to read, another name to compare. Your team is stuck doing the same thing hundreds of times a day and mistakes happen when people get tired.

Regulations require you to verify proof of address. They don't require you to do it by hand.

Slow onboarding

Customers wait hours or days for manual review to complete

Inconsistent decisions

Different reviewers apply different standards to the same documents

Expensive to scale

More customers means more headcount, more training, more overhead

One API call. Verified in seconds.

1

Upload

Your customer submits a utility bill, bank statement, or government letter. Send it to trusqo via API or the dashboard.

curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: $TRUSQO_KEY" \
  -F "name=Sarah M. Kensington" \
  -F "address=123 Main St, London" \
  -F "[email protected]"
2

Extract

trusqo reads the document and extracts the name, address, issue date, and document type. Any language, any script.

Name Sarah M. Kensington
Address 123 Main St, London
Type utility-bill
3

Verify

Extracted data is matched against what you provided. You get an approved or declined verdict with per-field match scores.

{
  "status": "approved",
  "nameMatchScore": 0.80,
  "addressMatchScore": 0.90,
  "postcodeMatchScore": 1.00,
  "extractedDocType": "utility-bill"
}

Built for compliance teams

<3s

Seconds, not hours

Documents verified in under 3 seconds. No queues, no backlog. Your customers stay in the flow.

Reviewer A Approve
Reviewer B Decline
Reviewer C Review
90% Approved

Consistent every time

The same rules, applied the same way, to every document. No variation between reviewers, no judgment calls.

Latin 中文 العربية Кириллица हिन्दी 日本語 ไทย Ελληνικά עברית 한국어 ქართული తెలుగు

Any country, any language

Documents in Cyrillic, Arabic, Chinese, or any other script are processed natively. Non-Latin names and addresses are automatically transliterated to Latin characters, so your stored records stay consistent and searchable regardless of the original language.

14:30:00 Request submitted API
14:30:01 Document extracted System
14:30:01 Name + address matched System
14:30:02 Verdict returned System
14:30:02 PDF report generated System

Audit-ready by default

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

POST /api/verify
Content-Type: multipart

→ 202 Accepted
→ { "requestId": "a1b2…" }

Simple integration

A single REST endpoint. Send the document, get a structured result.

Utility bills
Bank statements
Gov. letters
Issue date 90 days

Configurable rules

Choose document types, set date thresholds, define matching criteria.

Document intelligence built in

Trusqo doesn't just read the text. Every document is analysed for signs of tampering, checked against its metadata, and classified by type before a verdict is returned.

Fraud signal detection File creation dates, modification history, and document structure checked for signs of tampering.
Document classification Automatically classified as utility bill, bank statement, government letter, or other type.
Revision history Multiple PDF revisions or mismatched timestamps are flagged as suspicious.
No signs of tampering detected
Format PDF
File size 102.8 KB
Pages 3
PDF version 1.6
Created 2026-04-16T12:33:17
Modified 2026-04-16T12:33:17
Embedded text Yes
Digitally signed No
Revisions 1
Fingerprint 0234ca239f1733f293505de7e40b1f29

Common questions

What documents can trusqo verify?

Trusqo supports utility bills, bank statements, government letters, medical and pharmacy bills, post office letters, life insurance documents, and identity documents. You can restrict which types to accept per request using the acceptedDocTypes parameter.

How long does verification take?

Typical end-to-end latency is under 3 seconds. You can poll the result synchronously or receive a webhook when verification is complete.

What languages and scripts are supported?

Trusqo processes documents in 50+ languages including Latin, Cyrillic, Arabic, Chinese, Hindi, Japanese, Korean, Greek, Hebrew, Thai, and more. Non-Latin text is automatically transliterated to Latin characters for matching.

Is Trusqo GDPR compliant?

Yes. Trusqo is EU-hosted with full EU data residency, in line with EU AML regulation requirements. All document data is processed and stored within the European Union. Documents are automatically deleted after the retention period you configure.

Can I use trusqo without writing code?

Yes. Every plan includes access to the web dashboard where your team can upload documents, review verifications, and download PDF reports without any code.

What happens when a document is rejected?

You receive detailed match scores for each field (name, address, postcode, document type, issue date) along with the extracted values. This lets you see exactly what didn't match and decide whether to request a different document or escalate to manual review.

From signup to first verification in under an hour.

No contracts, no minimums, cancel any time. Every plan includes the full API, dashboard, and webhooks.

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"