Skip to main content
When you need to screen dozens or thousands of UPI VPAs at once — overnight watchlist refreshes, pre-settlement reconciliation, or bulk beneficiary uploads — making individual API calls for each VPA is impractical. The FraudTrace batch endpoint lets you submit up to 100 VPAs in a single request and receive a structured array of results in one response, dramatically reducing integration complexity and round-trip overhead.

When to use batch lookup

Request format

Send a POST request to /v1/verify/upi/batch with a JSON body containing a upis array:
The batch endpoint accepts a maximum of 100 UPIs per request. If your list exceeds 100 VPAs, split it into chunks of 100 and send separate requests. See the Python example below for a chunking implementation.

Response format

The API returns an array of result objects. Each object follows the same schema as the single VPA lookup — FLAGGED entries include confidence, cluster, and source details; CLEARED entries return minimal fields.
The results array preserves the same order as your input upis array, making it easy to zip results back to your original records.

Complete examples

Rate limits

Rate limits apply per API key across all endpoints. If you exceed your limit, the API returns HTTP 429 Too Many Requests.
For very large VPA lists, process in chunks of 100 and implement exponential backoff when you receive a 429 response — start with a 2-second wait and double on each retry. The Python example above demonstrates this pattern. Contact support@fraudtraceai.com if you need higher throughput limits for your use case.

Processing results

After splitting results into FLAGGED and CLEARED lists, apply the same confidence-based action logic you use for single lookups: For any FLAGGED result with a cluster_id, you can retrieve the full cluster — including all associated VPAs — using the cluster endpoint:
See Interpreting Results for a detailed explanation of every field in the response.