Batch endpoints for high-volume use
4 min read Updated October 22, 2026
What can be batched
| Endpoint | Limit per request |
|---|---|
| `POST /v1/compliance/restricted-party-screening` | 50 parties |
| `POST /v1/parts/screen` | 100 parts (at most 50 distinct manufacturers) |
| `POST /v1/tariffs/calculate/bulk` | 100 items |
| `POST /v1/risk/batch` | 2 to 100 entities, asynchronous |
/v1/hs/classify and /v1/compliance/export-license take one item per request.
Latency
Batch calls take longer in proportion to their size. Parties are screened one after another, at roughly 0.2 seconds each, so a request with 50 parties took about 11 seconds in testing. Set a client timeout of at least 60 seconds, and keep batches smaller when you need a quick answer.
Screening example
bash
curl -X POST https://api.compliancegrid.ai/v1/compliance/restricted-party-screening \
-H "x-api-key: $CG_API_KEY" -H "Content-Type: application/json" \
-d '{"parties": [
{"name": "Acme Corp", "country": "US"},
{"name": "Global Trading Ltd", "country": "DE"}
]}'More than 50 parties returns a 400 VALIDATION_ERROR; results come back per party, in order.
Rate limits
A batch is one request against your rate limit, which makes batching the cheapest way to stay within it.
Partial results
A risk batch job can finish as PARTIAL when some entities fail; fetch GET /v1/risk/batch/{jobId}/results and check each item.
Was this article helpful?