TrustVerify logoTrustVerify
Decorative footer background
TrustVerify logoTrustVerify

Identity and business verification for UK marketplaces. ID document and selfie checks, UK company and director checks, and a recorded decision on every check.

020 4542 7323

Solutions

  • All solutions
  • Identity (IDV/KYC)
  • Business (KYB)
  • Bot detection
  • AML & PEP screening
  • Seller verification (KYS)
  • UK registry checks
  • Ongoing monitoring
  • Review queue & trust score
  • Fraud checks
  • IP geolocation
  • Email validation
  • Escrow (secure transactions)

Industries

  • Marketplaces

Developers

  • Platform
  • Integrations
  • Developer docs
  • API reference
  • Webhooks
  • Changelog
  • API status
  • Help centre

Blog

  • All articles
  • Glossary
  • Compare
  • Sumsub alternatives
  • Onfido alternatives
  • Veriff alternatives

Company

  • About TrustVerify
  • Careers
  • Contact sales
  • Privacy policy
  • Cookie policy
  • Terms of service

© 2026 Magnificentech Solutions Ltd (Company No. 16321180), trading as TrustVerify. Registered in England & Wales. All rights reserved. · trustverify.co.uk

TrustVerify, Willow Farm, Choppington, Northumberland NE62 5EU · 020 4542 7323

Get started

  • Overview
  • Quickstart
  • Authentication
  • Sandbox and test data

Guides

  • KYC seller onboarding
  • UK business verification (KYB)
  • Sanctions and PEP screening
  • Fraud score: device, IP and bots
  • Trust score
  • Email and phone checks
  • Selfie checks
  • Hosted and mobile capture
  • Reports and evidence bundles
  • Running saved workflows
  • Retrieving check results

Integrations

  • Stripe Connect marketplaces
  • Sharetribe marketplaces
  • Shopify
  • WooCommerce

Webhooks

  • Webhooks

Reference

  • API reference
  • Errors
  • Rate limits and quotas
  • Versioning
  • Changelog
  • OpenAPI and Postman
  • SDKs (coming soon)

Trust

  • Security, GDPR and UK data

More

  • API status
  • API keys
Docs menu

Get started

  • Overview
  • Quickstart
  • Authentication
  • Sandbox and test data

Guides

  • KYC seller onboarding
  • UK business verification (KYB)
  • Sanctions and PEP screening
  • Fraud score: device, IP and bots
  • Trust score
  • Email and phone checks
  • Selfie checks
  • Hosted and mobile capture
  • Reports and evidence bundles
  • Running saved workflows
  • Retrieving check results

Integrations

  • Stripe Connect marketplaces
  • Sharetribe marketplaces
  • Shopify
  • WooCommerce

Webhooks

  • Webhooks

Reference

  • API reference
  • Errors
  • Rate limits and quotas
  • Versioning
  • Changelog
  • OpenAPI and Postman
  • SDKs (coming soon)

Trust

  • Security, GDPR and UK data

More

  • API status
  • API keys
  1. Docs
  2. /API reference
  3. /Score an order or sign-up for fraud risk from device, IP, bot and order signals

Score an order or sign-up for fraud risk from device, IP, bot and order signals

POST /api/v1/fraud/score

POST https://api.trustverify.co.uk/api/v1/fraud/score

At least one of email, ip or deviceFP is required. Combines IP reputation (VPN/Tor), device velocity (how many of your customers share a device fingerprint, live keys only), bot signals from the shopper's browser, billing/shipping mismatch, order history, payment method and order value into a 0–100 score. Test keys run the same logic with no device velocity read or write.

Request body#

Request body fields
FieldTypeDescription
emailstring
ipstring
deviceFPstringDevice fingerprint from your client
customerIdstring
orderValuenumber
orderCountinteger
paymentMethodstring
billingAddressobject
billingAddress.countrystring
billingAddress.postcodestring
shippingAddressobject
shippingAddress.countrystring
shippingAddress.postcodestring
userAgentstringThe shopper's browser User-Agent, forwarded by you
botSignalsobjectClient probe results from the shopper's browser
metadataobject

Example request#

curl -sS -X POST 'https://api.trustverify.co.uk/api/v1/fraud/score' \
  -H "Authorization: Bearer $TRUSTVERIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "buyer@example.com",
  "ip": "203.0.113.10",
  "deviceFP": "fp_3c9a1e7b2d4f"
}'

Responses#

200 Fraud score

200 response fields
FieldTypeDescription
checkIdrequiredstring
scorerequiredinteger0–100, higher is safer
fraud_scorerequiredintegerAlias of score
scoreSourcerequiredstring: "signals" | "heuristic""heuristic" when no IP reputation result was available; a heuristic score never returns action "approve"
riskTierrequiredstring: "low" | "medium" | "high" | "critical"
actionrequiredstring: "approve" | "review" | "block"
signalsrequiredobject
signals.iprequiredobject
signals.ip.providedrequiredboolean
signals.ip.availableboolean
signals.ip.sourcestring
signals.ip.riskScorenumber
signals.ip.isVPNboolean
signals.ip.isTorboolean
signals.ip.countrystring
signals.emailrequiredobject
signals.email.providedrequiredboolean
signals.devicerequiredobjectDevice velocity (distinct customers seen on this fingerprint) is measured for live keys only
signals.device.providedrequiredboolean
signals.device.rejectedboolean
signals.device.distinctCustomersinteger
signals.device.sharedAcrossCustomersboolean
signals.device.flagsarray of string
signals.botrequiredobject
signals.bot.providedrequiredboolean
signals.bot.rejectedboolean
signals.bot.scorenumber
signals.bot.verdictstring
signals.bot.flagsarray of string
signals.addressMismatchrequiredboolean
orderValuerequirednumber,null
customerIdrequiredstring,null
orderCountrequirednumber,null
paymentMethodrequiredstring,null
completedAtrequiredstring
metadatarequiredobject

400 validation_failed — none of email, ip or deviceFP supplied

400 response fields
FieldTypeDescription
errorrequiredstring: "validation_failed"
messagerequiredstring
requestIdstring

401 Invalid API key

403 insufficient_permissions — the key lacks the scope for this endpoint, or the plan does not include the feature

429 rate_limit_exceeded (per-minute, see X-RateLimit- and Retry-After) or DAILY_CAP_EXCEEDED

Last updated 30 October 2026. Something unclear or wrong? Tell us.