Base URL
Endpoints
There is no
data wrapper: the list is a bare array, and one test is a bare object.
The pages List faxes and Get a fax have each parameter and field in detail, and a playground to try them.
Rate limit
60 requests each minute for one IPv4 address, or for one IPv6 /64 block. The two endpoints share one count. Each answer from an endpoint counts, also a 404, 410 or 422.
When you get 429, wait the number of seconds in
Retry-After. To wait for a new test, see Test in CI.
Errors
Each error is JSON, also when your client sends noAccept header.
A 422 body names the parameter:
sinceis a date alone (2026-10-01) or a time with no offset (2026-10-01T14:25:00). AddZ.sincehas a+offset that was not encoded. Send+02:00as%2B02:00, or use UTC withZ.limitis not a number from 1 to 100.fromis longer than 255 characters, or is sent as an array (from[]=...).
urllib module is refused with 403, and the body is not JSON. Set your own User-Agent header. The Python examples on these pages do this.
Caching
Each answer hasCache-Control: no-store, private, errors too. Do not cache an answer: a new test can appear at any time.
What the API does not have
- No webhooks or notifications. Ask the API again until your test appears.
- No paging and no offset. One call gives 100 tests at most.
- No way to send a fax, to remove a test, or to set a private test. To remove a test, see Remove a fax.
