Sanctions Compliance

Designing Real-Time Screening at Scale: Latency, Throughput, and Webhooks

An engineering guide to designing real-time sanctions screening at scale, covering latency budgets, throughput requirements, batch versus real-time tradeoffs, webhook architecture for continuous monitoring, and what separates a production-grade screening API from a basic lookup tool.

Basit Nayani
,
July 27, 2026

Most discussions of sanctions screening focus on what to buy and why. This one focuses on how a screening system actually has to be built to function at production scale, for engineering teams designing the architecture that sits behind a screening feature, whether they are building it in-house or integrating a vendor API into a high-throughput product.

The considerations here are deliberately architectural: latency budgets, throughput under load, the batch-versus-real-time tradeoff, and webhook design for continuous monitoring. The goal is to separate the engineering decisions that determine whether a screening system holds up in production from the buying criteria that dominate most vendor comparisons.

Latency Budgets

Why Milliseconds Matter

Real-time sanctions screening returns results in milliseconds, which requires fundamentally different infrastructure than traditional batch compliance tools. Real-time screening engines should hold sanctions lists in memory or in extremely low-latency data stores. The engine must apply fuzzy matching logic while accounting for name transliterations, aliases, spelling variations, and partial matches, doing all of this without giving up speed.

The latency budget for a screening call is not an abstract performance target. It is constrained by where in the user or transaction flow the call sits. Latency is a critical factor in real-time systems, and the API must consistently return results within milliseconds to avoid disrupting user experience. Providers should be transparent about both average response times and worst-case performance under high load conditions.

Published benchmarks from production screening APIs illustrate the range engineering teams should expect and design around. One API reports p50 latency of 45ms, p95 of 202ms, and p99 of 276ms. Another reports an average response time of 350ms, sufficient to support real-time use cases such as live onboarding and event-driven transaction screening. A reasonable expectation for single-entity screens is sub-500ms, with sub-2-seconds for batch requests of around 100 entities. More important than raw speed is consistency: an API averaging 200ms that spikes to 5 seconds during list update windows will cause timeouts in the calling system.

Designing for Tail Latency, Not Just Averages

The architectural lesson from these benchmarks is that p99 latency, not average latency, determines whether a screening call will cause visible friction or timeouts in a live user flow. A screening API that averages 100ms but occasionally spikes to several seconds during list ingestion windows will produce intermittent, hard-to-debug failures in any synchronous integration.

Engineering teams should request p50, p95, and p99 figures specifically when evaluating a provider, not just an average, and should design their own integration with appropriate timeout and retry logic rather than assuming the call will always return quickly.

Throughput at Scale

Batch Limits and Concurrent Processing

Throughput, not just per-call latency, becomes the binding constraint once volume increases. For batch screening of existing customer databases, throughput in screens per second matters more than individual response latency. An API capping batch requests at a low number of entities per call turns a 30-second job into a 30-minute one when scaled across thousands of records.

Production-grade batch endpoints typically support up to 1,000 entities per call, though this varies by provider, and engineering teams running large historical re-screens or periodic full-database refreshes should explicitly test the batch ceiling against their actual data volume rather than assuming any vendor's batch endpoint will scale linearly with their needs.

Horizontal Scalability and Stability Under Load

Strong and newer real-time screening platforms are built on highly available and horizontally scalable architectures. It is important to understand how the system performs at scale, as screening performance must remain stable even during peak usage periods, for example during a product's own traffic spikes, a major sanctions list update affecting a large proportion of a customer base, or a batch re-screen running concurrently with live real-time traffic.

A production screening API should support concurrent processing of high-volume batches alongside webhook-based notifications for screening result payloads, suited to periodic screening of entire business partner databases without degrading the real-time path.

This dual capability, sustained high-throughput batch processing running alongside low-latency real-time calls without one degrading the other, is a meaningful architectural differentiator between a production-grade screening system and a basic lookup tool that was designed for one use case at a time.

{{snippets-guide}}

Batch vs. Real-Time: Why Both Are Needed

The Complementary Architecture

Real-time and batch sanction screening are both needed for a strong compliance program. These two processes are complementary capabilities that address different risk vectors and operate in different parts of the compliance program. In a hybrid architecture, real-time screening does the heavy lifting in onboarding and payment processing through API-driven screening calls that block sanctioned parties, while batch screening runs in the background on a daily schedule. Real-time screening handles the point of entry; batch screening handles the ongoing monitoring part of the program.

The Failure Mode of Choosing Only One

If a real-time screening system experiences downtime, transactions and onboarding events may need to stop entirely. An even worse scenario is onboarding events or transactions continuing without being checked while the real-time system is down. If a batch screening run fails or is delayed, the entire customer database stays unchecked for that period.

This is a specific design requirement, not a general caution: the architecture needs an explicit failure mode decision for what happens when the real-time screening call does not return within the expected latency budget. Failing closed (blocking the transaction until screening succeeds) protects compliance posture at the cost of availability.

Failing open (allowing the transaction to proceed and flagging it for delayed screening) protects availability at the cost of a temporary compliance gap. Most production systems should fail closed for high-risk flows and document any exception explicitly, rather than leaving the behavior undefined and discovering it during an actual outage.

Webhook Architecture for Continuous Monitoring

Why Webhooks Are the Critical Path, Not an Add-On

The real risk isn't the screen at onboarding. An automated screening system with webhook callbacks means the application gets notified within hours of a list update, not whenever someone remembers to re-run a batch.

A well-designed system allows entities to be added to a watchlist and delivers near real-time webhook alerts when their risk status changes due to list updates. The webhook delivery latency, the time between a list publishing a new designation and the webhook firing to notify the application, is itself a metric engineering teams should benchmark across vendors.

Best-in-class vendors deliver within one to four hours of the underlying publication. Some vendors run only daily batch cycles, meaning a morning designation might not reach the application until the next day.

Designing for Webhook Reliability

A webhook architecture needs to handle delivery failures, duplicate deliveries, and out-of-order delivery as standard engineering concerns, not edge cases. The receiving system should implement idempotent processing, so a duplicate webhook delivery for the same underlying event does not trigger duplicate downstream actions such as a duplicate compliance alert or a duplicate account freeze.

It should also maintain a persistent mapping between the webhook's entity identifier and the application's own internal record, so that incoming events can be reliably matched without ambiguity even as the application's data model evolves.

List Update Frequency as a Distinct Metric From API Latency

A common architectural confusion is treating API response latency and underlying list data freshness as the same metric. They are not. It is a common misconception that real-time means the underlying sanctions data updates every second. In practice, list updates occur periodically and are published at specific intervals, separate from how quickly the API itself returns a result for any given query.

Published update cadences vary meaningfully across providers and lists: data from global sanctions lists updated every 60 minutes represents a tighter cadence than consolidated global sanctions lists refreshed every three hours, or SDN list checks updated every six hours. Engineering teams should evaluate this cadence as a distinct requirement from API response time, since a screening call that returns in 50 milliseconds against data that is six hours stale provides a different risk profile than a call that returns in 300 milliseconds against data updated every hour.

What Separates Production-Grade From Basic

Pulling these architectural dimensions together, the checklist that separates a production-grade screening API from a basic lookup tool includes:

  • Documented p50, p95, and p99 latency figures under realistic load, not just an average
  • Sustained throughput at the batch volumes the application actually needs, with batch limits tested against real data, not assumed
  • Demonstrated stability during simultaneous batch and real-time traffic, not just isolated benchmarks of each in turn
  • Webhook delivery within hours of list publication, with documented delivery latency, not an undefined "real-time" claim
  • An explicit, documented failure mode for what happens to screening calls during a provider outage
  • List update cadence disclosed separately from API response time, since the two are independent properties of the system
  • Horizontal scalability that has been demonstrated at production volumes, not just claimed in marketing material

{{snippets-case}}

Conclusion

The architecture decisions covered here, latency budgets, throughput ceilings, the batch-versus-real-time split, and webhook reliability, are what determine whether a screening system holds up once it is carrying production traffic, independent of how good the underlying matching algorithm is.

An engineering team that evaluates a screening provider purely on matching accuracy and list coverage, without testing these architectural properties under realistic load, risks discovering the gaps only when the system is already live and the consequences of a missed designation or a timeout cascade are no longer theoretical.

sanctions.io is a highly reliable and cost-effective solution for real-time screening. AI-powered and with an enterprise-grade API with 99.99% uptime are reasons why customers globally trust us with their compliance efforts and sanctions screening needs.

To learn more about how our sanctions, PEP, and criminal watchlist screening service can support your organisation's compliance program: Book a free Discovery Call.

We also encourage you to take advantage of our free 7-day trial to get started with your sanctions and AML screening (no credit card is required).

New Sanctions Screening Guide
Download our free Sanctions Screening Guide
Download our FREE Sanctions Screening Guide and learn how to set up an effective sanctions screening process in your organization.
Download our FREE Sanctions Screening Guide and learn how to set up an effective sanctions screening process in your organization.
New Case Study
The Comprehensive, Unified Guide to Screening
Discover how technology companies streamline global sanctions compliance with sanctions.io
Our Unified Guide to Screening covers everything you need to know about setting up a comprehensive, unified screening process and workflow for the 3 ain pillars: sanctions, PEP and adverse media screening.
Basit Nayani
With experience in digital marketing, business development, and content strategy across mainland Europe, the UK and Asia, Basit Nayani joined the team as Head of Marketing & Growth in 2025.
Enjoyed this read?

Subscribe to our Newsletter right now and never miss again any new Articles, Guides and more useful content for your AML and Sanctions compilance.

Success! Your email has been successfully registered for our newsletter.
Oops! Something went wrong while submitting the form.