Private preview. Not yet taking instructions.
TBTrace Bureau Start a trace
Bulk upload and API

Instruct at volume. From a spreadsheet or from your own system.

Firm accounts can upload a CSV of subjects in the portal, or instruct and track traces over a simple JSON API with signed webhooks. Same rule as everything else: a fee only when a current registered address is delivered, on one monthly invoice.

Bulk upload (no code)

In the portal, choose Bulk upload, pick a CSV and preview every row before anything is instructed. Columns we understand: name, date of birth, last known address, your reference, other names, approximate age, when there, notes, purpose, service (account, express, priority) and extras (phone, email, employer). Only the name plus a date of birth or an address is required per row. Rows that do not have enough to trace are skipped and shown to you. Up to 250 rows per file. Download the template.

API

Base URL https://tracebureau.co.uk/api/v1. JSON in, JSON out. Authenticate with Authorization: Bearer tb_live_...; keys are issued in the portal under Settings and can be rotated at any time. Limit 120 requests a minute.

Create a trace

POST /api/v1/traces
{
  "subject_name": "Jane Example",
  "subject_dob": "1988-04-12",
  "subject_last_address": "14 Elm Road, Croydon CR0 1AA",
  "subject_other_names": "Jane Sample",
  "subject_known": "Worked as a nurse; partner called Tom",
  "purpose": "debt",
  "purpose_detail": "Unpaid invoice INV-2201, £1,840",
  "matter_ref": "MAT-2026-041",
  "service": "account",
  "addons": ["phone", "employer"],
  "instructed_by": "fee.earner@firm.example"
}

201 Created
{ "ref": "TB-7Q2M9K", "status": "vetting", "matter_ref": "MAT-2026-041", "price_pence": 14500, "due_at": "...", "result": null }

purpose is one of debt, legal, probate, tenancy, commercial, reconnect, other. service is account (£85 at volume, 3 to 5 working days), express (£150, 48 hours) or priority (£195, 24 hours). Validation errors come back as 422 with a details array.

Read a trace

GET /api/v1/traces/TB-7Q2M9K

{ "ref": "TB-7Q2M9K", "status": "delivered", "delivered_at": "...",
  "result": { "address": "27 Harcourt Gardens\nCroydon CR0 4XA", "confidence": "confirmed", "summary": "...", "mobile": "07700 900123", "email": null, "employer": "..." },
  "report_url": "https://tracebureau.co.uk/portal/cases/TB-7Q2M9K/report.pdf" }

Statuses: vetting, in_progress, delivered, no_find, rejected, cancelled. GET /api/v1/traces?status=delivered&since=2026-09-01 lists cases (up to 200). GET /api/v1/account returns your account and price.

Webhooks

Set an https URL in portal Settings. We POST { "event", "at", "account_id", "trace" } for trace.received, trace.delivered, trace.no_find and trace.rejected, with header x-tracebureau-signature: sha256=<hex HMAC-SHA256 of the raw body using your webhook secret>. Respond 2xx within eight seconds; we retry once.

Reports

Every delivered case has a PDF report at the report_url, available to anyone signed in to your portal. Reports carry the reference, your matter reference, the address, the confidence rating and the date.

Open a firm account

Reply within one working day. Portal, bulk upload and API access included.