API documentation
Base URL: https://api.ineedtosendafax.com
Price: $1.49 per fax · US & Canada · up to 25 pages · min credit purchase $5.00. OpenAPI spec
Authentication
Send your key in the Authorization: Bearer header (or X-API-Key). Keys start with ifx_live_.
Send a fax
POST /v1/faxes (multipart/form-data) to required recipient fax number (US/Canada) file required PDF, Word (DOC/DOCX), PostScript, or TIFF (max 32 MB, 25 pages) callback_url optional URL we POST to on completion cover optional "1" to add a cover page (default: none) cover_text optional message on the cover page recipient_name, sender_name optional
curl -X POST https://api.ineedtosendafax.com/v1/faxes \
-H "Authorization: Bearer ifx_live_..." \
-F to=15551234567 -F file=@invoice.pdf
# 202
{"id":"","status":"queued","to":"15551234567","price_cents":149,"pages":1}
Idempotency
Send an Idempotency-Key header to safely retry. Repeats return the original job instead of sending again.
Status
GET /v1/faxes/{id}
GET /v1/faxes?limit=50
GET /v1/me # balance, limits, usage
GET /v1/pricing
Statuses: queued → sending → sent | failed. Failed faxes are retried up to 5 times; if still undelivered, the credit is returned automatically.
Callbacks
If you set callback_url, we POST the final status there. Verify the X-Fax-Signature header with your webhook signing secret:
signature: t=TIMESTAMP,v1=HEX expected: HMAC_SHA256(secret, TIMESTAMP + "." + raw_body)
Errors
{"error":{"code":"insufficient_credits","message":"..."}}
401 invalid/missing key · 402 insufficient credits · 400 validation · 413 too large · 429 rate limited.