Send a Fax (Fax for Agents) avatar

Send a Fax (Fax for Agents)

Pricing

Pay per usage

Go to Apify Store
Send a Fax (Fax for Agents)

Send a Fax (Fax for Agents)

Send a PDF or text document as a fax from any Apify run, schedule or integration. Prepare, preview, quote, then send with an approval step. Delivery status lands in the run dataset. Powered by Fax for Agents, the fax API for AI agents.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Fax for Agents

Fax for Agents

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Security

Limited permissions

Share

Fax for Agents

Send a fax (Fax for Agents)

An Apify Actor that sends one fax through Fax for Agents and waits for the carrier's outcome. A PDF or image URL, text or Markdown to a number.

Website · Quickstart · API reference · SDKs · MCP · Dashboard · Pricing · Changelog · GitLab

Fax for Agents is a fax API, a hosted MCP server and SDKs built so AI agents can send and receive faxes. It is made by JSB Holdings LLC and built by Synapse.

The Actor runs on Node 20 with the Apify SDK and nothing else. It prepares the document and quotes it to the number. It queues the fax under an idempotency key tied to the Apify run. Then it polls until the carrier reports delivered, partial, failed or unknown, and writes one record to the dataset and to the OUTPUT key.

Input

FieldRequiredDefaultDoes
apiKeynoThe Fax for Agents API key, stored as a secret input. Empty means check mode: the run probes the API, sends nothing and writes one mode: check record
toyesDestination in E.164, for example +12025550123
fileUrlone of threeURL of a PDF, PNG, JPG or TIFF, up to 25 MB
textone of threePlain text, rendered to a letter PDF
markdownone of threeMarkdown, rendered to PDF
coverSubject, coverMessage, coverToName, coverFromNamenoFields of an optional cover sheet. Any of them adds a billable cover page
approvalIdnoAn approved request bound to this send, when the account needs a human approval for live sends
clientReferencenothe run idYour own reference on the fax, up to 200 characters
waitForDeliverynotruefalse returns once the fax is queued
timeoutSecondsno600How long to wait for a terminal state before the run fails
failOnnofailed,unknownTerminal states that fail the run. Empty never fails it
baseUrlnohttps://api.faxforagents.comOnly for a test double
{
"apiKey": "ffa_test_...",
"to": "+15550000001",
"text": "Hello from an Apify Actor.",
"coverSubject": "Deploy notice"
}

A test key (ffa_test_...) reaches the sandbox only. No carrier, no cost. The destination number picks the outcome: +15550000001 is delivered, +15550000003 is partial and +15550000005 is unknown. A live key (ffa_live_...) reaches the carrier and spends the prepaid wallet. Keys are created at app.faxforagents.com.

Output

One dataset record, also stored as OUTPUT in the default key-value store.

{
"fax_id": "fax_...",
"quote_id": "qte_...",
"document_id": "doc_...",
"to": "+15550000001",
"state": "delivered",
"failure_code": null,
"pages": 1,
"pages_sent": 1,
"amount_micro": 39000,
"provider_ref": "...",
"evidence": { "remote_station_id": "...", "pages": 1 },
"idempotency_key": "apify:<run id>:+15550000001"
}

amount_micro is the quoted price in USD micro-units: 39000 is $0.039. evidence is what the carrier reported on a delivered or partial fax. It is not legal proof the recipient accepted it. A partial or unknown outcome never retransmits on its own.

An API refusal fails the run with the remedy and the stable error_code in the status message, for example error_code=insufficient_balance. When the quote says a human approval is required and no approvalId was given, the run fails before anything is sent.

Prices

The price card is effective from 2026-10-28. $0.039 per page sent, $0.019 per page received. $2 per number per month, $19 per month for the Agent workspace. Sandbox pages cost 0. Apify charges its own compute for the run.

Working on this repository

npm ci
npm test # the send flow against a fake API, no network
npm run test:local # a run through the Apify SDK against the fake API, dataset and OUTPUT checked
npx apify-cli run # the same through the Apify CLI, input from storage/key_value_stores/default/INPUT.json
docker build -t faxforagents-send-a-fax .
sh scripts/truthcheck.sh

Publishing to the Apify Store goes through Apify Console: push the Actor (apify push), build it, then Publishing, "Publish on Store".

Licence

MIT. See LICENSE. Security reports go to hello@faxforagents.com.