fax-api-header Created with Sketch.


mFax offers a robust API that allow you to fully manage, integrate, and automate your fax solution. Our RESTful web service is developer-friendly and can be deployed in minutes vs weeks or months. Fax-enable your application today.

Fax API code samples

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) {

What is a fax API?

A fax API is an application programming interface (API) that lets you send and receive faxes programmatically. You can send faxes directly from your document management system, ERP, or EMR without needing to print out and scan a traditional fax. In fact, with our print to fax option, faxing is as simple as printing.

How do I set up a fax API?

If you have either Business or Infinity tiers of mFax, you automatically get API integration enabled. This integration generates API keys that you need for setting up print to fax on your software or any other use of API.

You can customize each API key based on the user's authorization level and time. For project-based authorization of mFax API, you can even choose an expiration date for the API key. This ability to determine who can use the API keys further adds to the security of mFax's cloud fax system.

For instructions on how to do more specific tasks, check out our API reference guide that also provides examples in four different programming languages.

mFax's fax API


Integrate secure, reliable faxing into virtually any application. Our Fax API allows you to easily build fax functionality into your EMR, document management, VoIP, or other platform.


Take the headache out of fax and automate your fax processes. The Documo API is built so you can programmatically use our fully hosted cloud fax solution. Feature rich and built to scale.

White label

Deploy a fax solution with your brand. Whether you are a reseller (check out our White Label Program) or are launching an internal solution, our Fax API gives you the feature set of a premise solution, but with the flexibility and scalability of our advanced cloud architecture.


  • How do I build a Fax API in JavaScript?

    Building a fax API with mFax requires a plan that includes API. We also offer developer tools to make using our API simpler in any programming language. Our API documents include instructions and samples for programming in Python, PHP, Ruby, cURL, and Javascript. Use these instructions and samples for working with mFax API and integrating it with your business's software.

  • What can connect to a Fax API?

    Our mFax API can connect to almost any software. For instance, with our in-depth API instructions in several programming languages, you can integrate this into almost any software, whether proprietary to your company or not.

    However, you don't have to be a developer to take advantage of adding the ability to fax from almost any program. For simplicity, you can use mFax's API for print to fax driver with any program that allows printing.

  • 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.

    For instance, Microsoft Outlook has a fax option that you can choose as long as you are an approved mFax user. To use mFax with Outlook, go to the program's File menu and select "New." From there, click on "Fax." Fill in the information for sending the fax and attach the file you want to send. Fill out your cover sheet under "Options," and send the fax.

  • Do I need a Fax API?

    You don't have to use an API for sending and receiving faxes through mFax. With its web-based program and cloud storage, you can access your files from anywhere, regardless of the software installed on the computer.

    If you work at a company that requires a scalable solution for computer-based faxing, mFax 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 programming languages .
  • Is your Fax API HIPAA compliant?

    When it comes to faxing documents, regardless of the program or method used, you must adhere to HIPAA regulations for privacy if your business requires you to do so. With mFax, the program creates easily traceable audit trails, only allows authorized users into the system, and automatically logs out of the system after inactivity periods. These features make it compliant with the strict security regulations for sending patient information and keeping it safe. Is your fax API compliant with HIPAA in these ways? If you have mFax, it is.