fax-api-header Created with Sketch.

Fax API for integration partners

mFax’s developer-friendly API makes integrating fax functionality into your business software simple and seamless. Our robust network infrastructure delivers unparalleled fax reliability your users will love.

mFax’s programmable API integrates into your software quickly and easily

You’ve built software your customers love. If integrating fax functionality will take your application to the next level, you owe it to your customers to choose the best and most reliable fax integration solution.

Ryan P. Biotechnology Admin

Reliability was the number one reason we went to mFax. The ability to see unsuccessful transmissions and fax errors on the part of our clients is essential to our business model and has greatly increased our results

Justing W. IT Specialist

One of the most linear and seamless SaaS products ever!

Noe M. Lead Technician

Very reliable, easy to communicate with Tech support, and most importantly how easy to use! I rarely have to walk any of our clients through on how to use it. I think that is the biggest Pro anyone can say

mFax powers industry-leading software platforms

mFax works in the background to power cloud fax for some of the largest communication software providers

Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image
Industry leader image

Simple API-only pricing

Easy pricing designed to make your integration simple and cost-effective

API-only Plans


Price per page


Price per page


Price per page


Price per page

Pages per month


50,001 - 250,000

250,001 - 499,999


Porting fees are $15 per DID.

Per page prices are based on a 60-second transmission time.

Secure & reliable fax-only network infrastructure

When fax is an integral part of your business, you can’t afford non-compliance with industry regulations, high failure rates, slow transmission times, and poor output quality.

100% fax-optimized network infrastructure

Industry leading fax success rates

Dedicated relationships with multiple carriers

Maximum-reliability routing

Smart routing algorithms


TLS 1.2 encryption for all faxes in transit

AES 256 multi-layered encryption for faxes in storage

User access controls and auto-timeouts

Secured using Google’s multi-layer progressive security cloud infrastructure

Quick & easy Integration

Our extensive API documentation makes integration easy and painless with most integrations requiring only a few hours to complete. Plus, our 5-star customer success team is available to help with technical support when you need it.

Developer-friendly REST API

mFax’s developer-friendly API is built on RESTful architecture and easily integrates into existing applications, systems, and workflows for a seamless fax experience.

Secure, encrypted, & сompliant

mFax employs a number of security and encryption measures to ensure the safest faxing environment and compliance with common regulatory frameworks including HIPAA, GLBA, and SOX.

Priority delivery network

Reliable fax is what we do best. Our fax-optimized tier-1 carrier network and smart routing algorithms are designed to deliver a premier faxing experience with minimal downtime and industry-leading compilation rates.


mFax is designed to scale with your business needs. Whether that’s 10 pages or 1 million pages, you can count on mFax to deliver.

Technical Support

Our world-class customer success team is trained to provide you with answers to all your questions and guide you through the integration process with ease.

Fax API code samples

Check out our extensive API documentation for more

curl -X POST
'https://api.documo.com/v1/fax/send' \
-H 'Authorization: Basic YOUR_API_KEY' \
-H 'content-type: multipart/form-data' \
-F 'recipientFax=12345678900' \
-F 'coverPage=true' \
-F 'recipientName=John Snow' \
-F 'subject=Winter is coming' \
-F 'notes=This fax is gonna let you know about the coming winter' \
-F '=@/home/user/Documents/Winter.pdf'
require 'net/http'
require 'uri'

uri = URI.parse("https://api.documo.com/v1/fax/send")
request = Net::HTTP::Post.new(uri)
request.content_type = "multipart/form-data"
request["Authorization"] = "Basic YOUR_API_KEY"
  "recipientFax" => "12345678900",
  "coverPage" => "true",
  "recipientName" => "John Snow",
  "subject" => "Winter is coming",
  "notes" => "This fax is gonna let you know about the coming winter",
  "" => "@/home/user/Documents/Winter.pdf",

req_options = {
  use_ssl: uri.scheme == "https",

response = http.request(request)
puts response.read../common/templates/_layout
import requests

url = 'https://api.documo.com/v1/fax/send'

headers = {
    'Authorization': 'Basic YOUR_API_KEY',
    'Content-Type': 'multipart/form-data',

data = [
  ('recipientFax', '12345678900'),
  ('coverPage', 'true'),
  ('recipientName', 'John Snow'),
  ('subject', 'Winter is coming'),
  ('notes', 'This fax is gonna let you know about the coming winter'),

files = [
    ('', open('/home/user/Documents/Winter.pdf', 'rb')),

requests.post(url, headers=headers, data=data, files=files)
$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
  'recipientFax' => '12345678900',
  'recipientName' => 'John Snow',
  'subject' => 'Winter is coming',
  'notes' => 'This fax is gonna let you know about the coming winter'
), array(
    'name' => '',
    'type' => null,
    'file' => '/home/vlad/Downloads/Winter.pdf',
    'data' => null


  'Authorization' => 'Basic YOUR_API_KEY'

$response = $client->getResponse();

echo $response->getBody();

const fs = require('fs');
const request = require('request');
let fileName = '/home/user/Documents/Winter.pdf'

    method: 'POST',
    url: 'https://api.documo.com/v1/fax/send',
    headers: {
        Authorization: 'Basic YOUR_API_KEY',
        'content-type': 'multipart/form-data'
    formData: {
        recipientFax: '12345678900',
        coverPage: true,
        recipientName: 'John Snow',
        subject: 'Winter is coming',
        notes: 'This fax is gonna let you know about the coming winter',
        files: {
            value: fs.createReadStream(fileName),
            options: {
                filename: fileName
                contentType: 'application/pdf'
}, function(error, response, body) {

Helpful API resources

Have more questions? Check out our resources below or call us at (888) 966-4922 to discuss your needs right away.

Case study

See how Lumeca health uses mFax’s API to programmatically fax sensitive data from their telehealth platform.

Our API docs

View API docs

Get in touch

Get in touch with our API integration experts

More amazing Fax API features

Check mark
Inbound/outbound fax API

Programmatically send and receive your faxes

Check mark
Multiple file formats

Supports x file formats including PDF, TIFF, DOCX, DOC, XLXS, XLS, RTF, HTML, and more

Check mark
Smart routing

Faxes are queued and sent according to our proprietary algorithm to ensure maximum deliverability

Never busy

The mFax Smart Routing Algorithm intelligently queues faxes and waits for busy lines to clear before retrying

Concatenate multiple files

Automatically concatenate multiple files of different formats in a single API request

Delivery notifications

Receive convenient email notifications upon receipt


Send and receive faxes using your favorite email applications

Check mark

Integrated reporting features allow you to see, organize, and export detailed reports and create detailed and accurate audit trails

Check mark
Flexible cover pages

Use our built-in templates or design your own

Check mark
Notifications & webhooks

Get client-side and server-side notifications, including webhooks, for new and updated fax messages

Frequently asked questions

  • How do I build a Fax API in Javascript?

    Our API documents include instructions and samples for programming in Python, PHP, Ruby, cURL, and Javascript. Use these instructions and samples to guide you in integrating the mFax API with your business's software.

  • What can connect to a fax API?

    With our in-depth API instructions available in several programming languages, you can integrate mFax into almost any software, whether proprietary to your company or not.

  • How do I make a fax API work with outlook?

    Because mFax is a web-based program, you don't have to do a lot to make it work with any email program that you use, including Outlook. For general emailing, you can send a fax as an email by using the fax number and adding "@send.mfax.io" in the "To:" field. Attach the fax document to the email and send. However, you can also use program-specific fax settings.

  • Do I need a fax API?

    If your company requires a scalable solution for computer-based faxing, mFax’s robust API could help. With this, you can automate processes or make a tailored option for the way your business faxes. The great part about mFax is that you can integrate its API into your inhouse software or customize it on a developer level, using a variety of common programming languages .

  • Do I need a fax machine to use the API?

    No. Physical fax machines are not required to send or receive faxes through the mFax API. However, we have a variety of solutions available to help you integrate your physical fax machines and MFPs so that you can continue to use those devices to fax using mFax’s secure network.

  • Is your fax API HIPAA compliant?

    Whatever program or method used for faxing sensitive documents and medical records, you must adhere to HIPAA regulations. mFax includes a host of important privacy and security features that makes our service fully compliant with all relevant regulations outlined in HIPAA.