Skip to content
Bulk and units

Bulk and commercial units

One call returns up to 100 matches and costs 10 units. Here is the exact pricing and the partial-result contract.

One call, up to 100 matches

A bulk body contains 1 to 100 unique match IDs. A request for 101 is rejected — it is never silently truncated.

{"match_ids": ["fsm:v1:0123…", "fsm:v1:89ab…"]}

What it costs

Bulk is priced by blocks of 10 matches, so a full call of 100 matches costs only 10 units instead of 100.

units = ceil(max(requested_matches, returned_matches) / 10)
Matches requestedUnits charged
1 to 101
505
10010
Cached 3041 unit, 0 rows

With 500 units per hour, bulk gives you up to about 5 000 match rows per hour in theory, depending on how you compose the calls, and up to 10 000 rows per day. These are capacity ceilings, not a throughput promise.

Partial results

Bulk is partial by design: available authorized matches appear in results; missing or unauthorized ones appear in errors with match_not_found. This uniform code prevents competition-access leakage. Never discard errors.

See POST /v1/matches/bulk.