Skip to content

One dashboard. One API. Every address verified.

From upload to verdict in seconds

Configure your rules, submit a document, get a result

01

Set your verification rules

Pick which document types to accept, how recent they need to be, and how strict the matching should be. Set it once in the dashboard or override per request via the API.

Verification rules settings
02

Submit the document and expected details

Upload a utility bill, bank statement, government letter, or any supported document as PDF, JPG, or PNG. Include the name and address to verify against. One API call or one form in the dashboard.

Submit document form
03

AI extracts the document data

trusqo reads the document and pulls out the name, address, postcode, document type, and date of issue. Works in any language or script — non-Latin text is automatically transliterated.

Extracted document data
04

Cross-check and match

Each extracted field is compared against what you provided. Fuzzy matching handles abbreviations, formatting differences, and transliteration. Document type and date are validated against your rules.

Verification results
05

Get a clear result

Receive an approved or declined verdict with match scores, reasoning notes, and all extracted data. Get results via API or webhook. Download a PDF audit report for compliance.

Clear verification result

One endpoint, full result

Submit a document with the expected data. Get back match scores, extracted fields, and a pass/fail verdict.

Request
curl -X POST https://app.trusqo.com/api/verify \
  -H "X-API-Key: your_api_key" \
  -F "name=Jane Smith" \
  -F "address=42 Oak Lane, London" \
  -F "postcode=SW1A 1AA" \
  -F "[email protected]" \
  -F "acceptedDocTypes=[\"utility-bill\",\"bank-statement\"]" \
  -F "acceptedDateFrom=2025-09-01" \
  -F "nameMatchThreshold=0.8" \
  -F "addressMatchThreshold=0.7"
Response
{
  "id": "a1b2c3d4-...",
  "status": "approved",
  "extractedName": "Jane Smith",
  "nameMatchScore": 0.97,
  "nameMatchResult": "pass",
  "extractedAddress": "42 Oak Lane, London",
  "addressMatchScore": 0.94,
  "addressMatchResult": "pass",
  "postcodeMatchScore": 1.0,
  "postcodeMatchResult": "pass",
  "extractedDocType": "utility-bill",
  "docTypeResult": "pass",
  "extractedDateOfIssue": "2025-11-14",
  "dateResult": "pass"
}

Works with your AI assistant

Verify documents directly from Claude, Cursor, or any MCP-compatible client. No code required.

MCP config
{
  "mcpServers": {
    "trusqo": {
      "command": "npx",
      "args": ["-y", "trusqo-mcp"],
      "env": {
        "TRUSQO_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Available tools
verify_document

Submit a document with name and address. Returns a request ID for async verification.

get_verification_result

Check the status and match scores of a verification request.

download_verification_report

Download the PDF audit report for a completed verification.

Setup guide →

What trusqo verifies

Six checks per document. Every one configurable.

Name matching

Extracts all names from the document and fuzzy-matches against the name you provide. Configurable threshold (0–1) so you decide what counts as a match.

Address matching

Extracts street, city, state, country, and postcode from the document. Compares against your provided address with automatic transliteration for non-Latin scripts.

Postcode matching

Separate postcode verification with its own threshold. Enable or disable independently from the address check.

Document type validation

Detects whether the document is a utility bill, bank statement, government letter, medical bill, pharmacy bill, post office letter, or life insurance document. Only accepts the types you allow.

Date of issue validation

Extracts all dates from the document and identifies the issue date. Set an accepted date range so expired documents are automatically rejected.

Fraud detection

Detects screenshots, edited PDFs, AI-generated documents, and tampered images. Configurable to flag for review or auto-decline suspicious uploads.

Any proof of address document

trusqo processes all common proof of address document types, in any language or script.

Utility bill
Bank statement
Government letter
Medical bill
Pharmacy bill
Post office letter
Life insurance
Other
More document types available on request

Any document, any script

Names and addresses are extracted in the original script and automatically transliterated to Latin for multilingual document verification. Your records stay in one alphabet, the document stays in its own.

EN · UK
Thames Water
Mr John A. Doe
123 Main Street
London SW1A 1AA
UTILITY BILLIssued 15 Jan 2026
→
extracted · transliterated
nameJohn A. Doe
address123 Main St, London SW1A 1AA
match1.00
DE
Stadtwerke Berlin
Frau Anna Müller
Kurfürstendamm 124
10711 Berlin
UTILITY BILLAusstellung 03.02.26
→
extracted · transliterated
nameAnna Müller
addressKurfürstendamm 124, 10711 Berlin
match1.00
FR
EDF
M. Pierre Dubois
14 Rue de Rivoli
75001 Paris
UTILITY BILLÉmis 21 jan. 2026
→
extracted · transliterated
namePierre Dubois
address14 Rue de Rivoli, 75001 Paris
match1.00
ZH
国家电网
李小龙
北京市朝阳区
建国路 88 号 100020
UTILITY BILL签发 2026-01-18
→
extracted · transliterated
nameLǐ Xiǎolóng
addressJianguo Rd 88, Chaoyang, Beijing 100020
match1.00
AR
DEWA
السيد أحمد الفلاسي
شارع الشيخ زايد
دبي ٤٠٠٠
UTILITY BILLصادر ٢٢ ينا ٢٠٢٦
→
extracted · transliterated
nameAhmad Al Falasi
addressSheikh Zayed Rd, Dubai 4000
match0.97
RU
Мосэнерго
Иванов Иван Иванович
ул. Тверская 7
125009 Москва
UTILITY BILLВыдан 09.01.26
→
extracted · transliterated
nameIvan I. Ivanov
addressTverskaya 7, Moscow 125009
match1.00
JP
東京電力
山田 太郎
東京都千代田区
丸の内 1-1-1
UTILITY BILL発行 令和8年1月12日
→
extracted · transliterated
nameYamada Tarō
addressMarunouchi 1-1-1, Chiyoda, Tokyo
match1.00
ES
Iberdrola
Sra. Carmen García
Gran Vía 28
28013 Madrid
UTILITY BILLEmitido 27-01-26
→
extracted · transliterated
nameCarmen García
addressGran Vía 28, 28013 Madrid
match1.00
EN · UK
Thames Water
Mr John A. Doe
123 Main Street
London SW1A 1AA
UTILITY BILLIssued 15 Jan 2026
→
extracted · transliterated
nameJohn A. Doe
address123 Main St, London SW1A 1AA
match1.00
DE
Stadtwerke Berlin
Frau Anna Müller
Kurfürstendamm 124
10711 Berlin
UTILITY BILLAusstellung 03.02.26
→
extracted · transliterated
nameAnna Müller
addressKurfürstendamm 124, 10711 Berlin
match1.00
FR
EDF
M. Pierre Dubois
14 Rue de Rivoli
75001 Paris
UTILITY BILLÉmis 21 jan. 2026
→
extracted · transliterated
namePierre Dubois
address14 Rue de Rivoli, 75001 Paris
match1.00
ZH
国家电网
李小龙
北京市朝阳区
建国路 88 号 100020
UTILITY BILL签发 2026-01-18
→
extracted · transliterated
nameLǐ Xiǎolóng
addressJianguo Rd 88, Chaoyang, Beijing 100020
match1.00
AR
DEWA
السيد أحمد الفلاسي
شارع الشيخ زايد
دبي ٤٠٠٠
UTILITY BILLصادر ٢٢ ينا ٢٠٢٦
→
extracted · transliterated
nameAhmad Al Falasi
addressSheikh Zayed Rd, Dubai 4000
match0.97
RU
Мосэнерго
Иванов Иван Иванович
ул. Тверская 7
125009 Москва
UTILITY BILLВыдан 09.01.26
→
extracted · transliterated
nameIvan I. Ivanov
addressTverskaya 7, Moscow 125009
match1.00
JP
東京電力
山田 太郎
東京都千代田区
丸の内 1-1-1
UTILITY BILL発行 令和8年1月12日
→
extracted · transliterated
nameYamada Tarō
addressMarunouchi 1-1-1, Chiyoda, Tokyo
match1.00
ES
Iberdrola
Sra. Carmen García
Gran Vía 28
28013 Madrid
UTILITY BILLEmitido 27-01-26
→
extracted · transliterated
nameCarmen García
addressGran Vía 28, 28013 Madrid
match1.00
ES
Iberdrola
Sra. Carmen García
Gran Vía 28
28013 Madrid
UTILITY BILLEmitido 27-01-26
→
extracted · transliterated
nameCarmen García
addressGran Vía 28, 28013 Madrid
match1.00
JP
東京電力
山田 太郎
東京都千代田区
丸の内 1-1-1
UTILITY BILL発行 令和8年1月12日
→
extracted · transliterated
nameYamada Tarō
addressMarunouchi 1-1-1, Chiyoda, Tokyo
match1.00
RU
Мосэнерго
Иванов Иван Иванович
ул. Тверская 7
125009 Москва
UTILITY BILLВыдан 09.01.26
→
extracted · transliterated
nameIvan I. Ivanov
addressTverskaya 7, Moscow 125009
match1.00
AR
DEWA
السيد أحمد الفلاسي
شارع الشيخ زايد
دبي ٤٠٠٠
UTILITY BILLصادر ٢٢ ينا ٢٠٢٦
→
extracted · transliterated
nameAhmad Al Falasi
addressSheikh Zayed Rd, Dubai 4000
match0.97
ZH
国家电网
李小龙
北京市朝阳区
建国路 88 号 100020
UTILITY BILL签发 2026-01-18
→
extracted · transliterated
nameLǐ Xiǎolóng
addressJianguo Rd 88, Chaoyang, Beijing 100020
match1.00
FR
EDF
M. Pierre Dubois
14 Rue de Rivoli
75001 Paris
UTILITY BILLÉmis 21 jan. 2026
→
extracted · transliterated
namePierre Dubois
address14 Rue de Rivoli, 75001 Paris
match1.00
DE
Stadtwerke Berlin
Frau Anna Müller
Kurfürstendamm 124
10711 Berlin
UTILITY BILLAusstellung 03.02.26
→
extracted · transliterated
nameAnna Müller
addressKurfürstendamm 124, 10711 Berlin
match1.00
EN · UK
Thames Water
Mr John A. Doe
123 Main Street
London SW1A 1AA
UTILITY BILLIssued 15 Jan 2026
→
extracted · transliterated
nameJohn A. Doe
address123 Main St, London SW1A 1AA
match1.00
ES
Iberdrola
Sra. Carmen García
Gran Vía 28
28013 Madrid
UTILITY BILLEmitido 27-01-26
→
extracted · transliterated
nameCarmen García
addressGran Vía 28, 28013 Madrid
match1.00
JP
東京電力
山田 太郎
東京都千代田区
丸の内 1-1-1
UTILITY BILL発行 令和8年1月12日
→
extracted · transliterated
nameYamada Tarō
addressMarunouchi 1-1-1, Chiyoda, Tokyo
match1.00
RU
Мосэнерго
Иванов Иван Иванович
ул. Тверская 7
125009 Москва
UTILITY BILLВыдан 09.01.26
→
extracted · transliterated
nameIvan I. Ivanov
addressTverskaya 7, Moscow 125009
match1.00
AR
DEWA
السيد أحمد الفلاسي
شارع الشيخ زايد
دبي ٤٠٠٠
UTILITY BILLصادر ٢٢ ينا ٢٠٢٦
→
extracted · transliterated
nameAhmad Al Falasi
addressSheikh Zayed Rd, Dubai 4000
match0.97
ZH
国家电网
李小龙
北京市朝阳区
建国路 88 号 100020
UTILITY BILL签发 2026-01-18
→
extracted · transliterated
nameLǐ Xiǎolóng
addressJianguo Rd 88, Chaoyang, Beijing 100020
match1.00
FR
EDF
M. Pierre Dubois
14 Rue de Rivoli
75001 Paris
UTILITY BILLÉmis 21 jan. 2026
→
extracted · transliterated
namePierre Dubois
address14 Rue de Rivoli, 75001 Paris
match1.00
DE
Stadtwerke Berlin
Frau Anna Müller
Kurfürstendamm 124
10711 Berlin
UTILITY BILLAusstellung 03.02.26
→
extracted · transliterated
nameAnna Müller
addressKurfürstendamm 124, 10711 Berlin
match1.00
EN · UK
Thames Water
Mr John A. Doe
123 Main Street
London SW1A 1AA
UTILITY BILLIssued 15 Jan 2026
→
extracted · transliterated
nameJohn A. Doe
address123 Main St, London SW1A 1AA
match1.00

Built different from enterprise KYC suites

Most identity platforms treat proof of address as a checkbox buried inside a bloated product. We made it the entire product.

One thing, done right

No facial recognition, no identity suite, no feature bloat. Trusqo does proof of address verification and nothing else. That focus means better accuracy and faster results.

Integrate in minutes

One REST endpoint. No SDKs to install, no templates to configure, no onboarding calls. Send a document and get a result. Most teams go live in under an hour.

Any country, any language

Documents in Cyrillic, Arabic, Chinese, or any other script are processed natively. Automatic transliteration handles cross-script matching.

Configurable rules

Choose which document types to accept, set date ranges, and define your own match thresholds for name, address, and postcode independently.

Transparent pricing

Starts at €5/month. Every price is on the website. No "contact sales", no minimum commitments, no annual contracts.

Full audit trail

Every verification is logged with match scores, reasoning, and timestamps. Download PDF reports for compliance. Ready for regulators whenever they ask.

Frequently asked questions

What document types are supported?

Utility bills, bank statements, government letters, medical bills, pharmacy bills, post office letters, and life insurance documents. More types available on request. The system auto-detects the document type and rejects anything that doesn't match your accepted types.

How accurate is the matching?

Matching is AI-powered with configurable thresholds. You set the sensitivity (0–1) for name, address, and postcode independently. The system provides match scores and reasoning notes so you can audit every decision.

How long does verification take?

Most documents are verified in under 10 seconds. The API accepts the request asynchronously and you can poll for the result or receive it via webhook.

Do you support non-Latin scripts?

Yes. Documents in Arabic, Cyrillic, Chinese, Japanese, Korean, Thai, Hebrew, Devanagari, and many other scripts are processed natively. Extracted addresses are automatically transliterated to Latin characters for cross-script matching.

How do I integrate?

One REST endpoint. Send a multipart POST with the document file(s) and the expected data (name, address, postcode). Get back a request ID, then poll or use webhooks for the result. Full API docs are available at docs.trusqo.com.

Is there a downloadable report?

Yes. Every completed verification has a downloadable PDF report with match scores, extracted data, audit trail, and reasoning. Use the API or dashboard to download it.

Start verifying addresses in minutes

Create an account, get an API key, and send your first verification. No sales calls, no setup fees.