Healthcare-Trained AI Models

99% Accurate Fax API — AI Trained on Healthcare Data

Built for modern health tech and high-volume workflows — Medsender delivers healthcare-trained accuracy, unmatched reliability, and a developer-first Fax API for inbound and outbound documents.

HIPAA Compliant Signed BAA SOC 2 Type II 99.99% Uptime
Secure Medical Data Infrastructure
Cora Physical Therapy Frontier Dermatology Frontier Dermatology Frontier Dermatology Anne Arundel Idaho Hand Center National Spine and Pain Williamette

For Healthcare Tech Companies

Built with an API-first approach, our platform lets you integrate in days, not months. Send and receive instantly with modern REST endpoints and typed SDKs—no wrestling with legacy telecom protocols.

  • Embed faxing directly into your application
  • Trigger workflows from incoming data
  • White-label the experience for users
  • Scale without infrastructure headaches
Get API Key

For High-Volume Operations

Eliminate busy signals and cut operational costs. Our infrastructure handles millions of pages with 99.99% uptime and zero maintenance.

  • Replace legacy hardware fax servers
  • Digitize paper backlogs instantly
  • Centralize multi-location communications
  • Reduce manual data entry overhead
Get API Key

Built for critical healthcare infrastructure

Integrate enterprise-grade faxing, forms, and HIPAA compliant email into your application within minutes.

Guaranteed HIPAA Compliance

Fully compliant infrastructure with signed BAA. End-to-end encryption ensures patient data is never compromised.

AI-Powered Automation

Automatically categorize, label, and route incoming documents. Extract patient data with built-in AI and custom-trained models.

99.99% Uptime Reliability

Auto-scaling infrastructure designed for high availability. Redundant systems ensure zero maintenance and 99.99% uptime.

Modern Developer Experience

Sandbox access, typed SDKs, real-time webhooks, and direct developer support. Integrate in minutes.

Real-time Reports

Track delivery status, page counts, and success rates in real-time. Gain insights into your communication workflows.

Enterprise Security

SOC 2 Type II certified. Role-based access control, audit logs, and advanced security features for enterprise needs.

IN: referral_scan_042.pdf OUT: structured_data.json
{
"classification": "referral",
"summary": "Urgent diabetes evaluation request",
"patient": {
"name": "Sarah Jenkins",
"dob": "1984-03-12",
"gender": "Female",
"phone": "+1 (555) 019-2834"
},
"insurance": {
"id": "XJ892392",
"payer": "BlueCross"
},
"clinical": {
"icd10": ["E11.9", "I10"],
"provider": "Dr. Emily Chen"
}
}
AI Processing
MEDSENDER AI

Turn unstructured faxes into structured data.

Stop building your own OCR pipelines. Medsender's AI is trained specifically on medical documents to extract patient demographics, insurance, diagnoses, and more with human-level accuracy.

  • 99% Extraction Accuracy Trained on millions of healthcare records, not generic documents.
  • Application-Ready Data Receive clean, structured JSON that maps directly to your application's database schema.
API-First Architecture

Integrate in minutes,
scale to millions.

Stop wrestling with legacy telecom protocols. Our REST API makes sending and receiving faxes as easy as sending an email. No fax servers, SIP lines, or telecom lines needed.

1
Get your API Key Sign up for the sandbox environment.
2
Integrate via direct API calls or our SDKs Available for Node, TypeScript, Python, Ruby, PHP, Java, and C#.
3
Send a test fax Test and verify delivery instantly.
View full API Reference
const API_BASE='https://api.medsender.com/api/v2';
const API_KEY='sk_test_...';

// Provision number
await fetch(`${API_BASE}/fax_numbers`,{
  method:'POST',headers:{Authorization:`Bearer ${API_KEY}`,'Content-Type':'application/json'},
  body:JSON.stringify({fax_number:{area_code:'415'}})
});

// Send fax
const fd=new FormData();
fd.append('file', new Blob([await Deno.readFile('./sample.pdf')]), 'sample.pdf');
fd.append('from_number','+14155550100');
fd.append('to_number','+13125550123');
const res=await fetch(`${API_BASE}/sent_faxes`,{method:'POST',headers:{Authorization:`Bearer ${API_KEY}`},body:fd});
console.log(await res.json());
const API_BASE = 'https://api.medsender.com/api/v2';
const API_KEY: string = 'sk_test_...';

// Provision number
await fetch(`${API_BASE}/fax_numbers`,{
  method:'POST',headers:{Authorization:`Bearer ${API_KEY}`,'Content-Type':'application/json'},
  body:JSON.stringify({fax_number:{area_code:'415'}})
});

// Send fax
const fd = new FormData();
fd.append('file', new Blob([await (await fetch('./sample.pdf')).arrayBuffer()]), 'sample.pdf');
fd.append('from_number','+14155550100');
fd.append('to_number','+13125550123');
const res = await fetch(`${API_BASE}/sent_faxes`,{method:'POST',headers:{Authorization:`Bearer ${API_KEY}`},body:fd});
console.log(await res.json());
import requests, json
API_BASE='https://api.medsender.com/api/v2'
API_KEY='sk_test_...'

# Provision number
r=requests.post(f"{API_BASE}/fax_numbers", headers={'Authorization':f'Bearer {API_KEY}','Content-Type':'application/json'}, data=json.dumps({'fax_number':{'area_code':'415'}}))
print(r.json())

# Send fax
files={'file':open('./sample.pdf','rb')}
data={'from_number':'+14155550100','to_number':'+13125550123'}
r=requests.post(f"{API_BASE}/sent_faxes", headers={'Authorization':f'Bearer {API_KEY}'}, files=files, data=data)
print(r.json())
require 'net/http'
require 'uri'
# Provision number
uri = URI.parse('https://api.medsender.com/api/v2/fax_numbers')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer sk_test_...'
req['Content-Type'] = 'application/json'
req.body = '{"fax_number":{"area_code":"415"}}'
Net::HTTP.start(uri.hostname, uri.port, use_ssl: true){|http| http.request(req)}

# Send fax
uri2 = URI.parse('https://api.medsender.com/api/v2/sent_faxes')
req2 = Net::HTTP::Post.new(uri2)
req2['Authorization'] = 'Bearer sk_test_...'
form = [['file', File.open('sample.pdf')], ['from_number','+14155550100'], ['to_number','+13125550123']]
req2.set_form(form, 'multipart/form-data')
res = Net::HTTP.start(uri2.hostname, uri2.port, use_ssl: true){|http| http.request(req2)}
puts res.body
$ch = curl_init();
curl_setopt_array($ch, [
  CURLOPT_URL => 'https://api.medsender.com/api/v2/fax_numbers',
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer sk_test_...', 'Content-Type: application/json'],
  CURLOPT_POSTFIELDS => json_encode(['fax_number' => ['area_code' => '415']]),
  CURLOPT_RETURNTRANSFER => true
]);
curl_exec($ch);

// Send fax
$post = [
  'file' => new CURLFile('sample.pdf', 'application/pdf', 'sample.pdf'),
  'from_number' => '+14155550100',
  'to_number' => '+13125550123'
];
curl_setopt_array($ch, [
  CURLOPT_URL => 'https://api.medsender.com/api/v2/sent_faxes',
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer sk_test_...'],
  CURLOPT_POSTFIELDS => $post,
  CURLOPT_RETURNTRANSFER => true
]);
$res = curl_exec($ch);
echo $res;
import java.net.http.*;
import java.net.URI;
public class Quickstart {
  public static void main(String[] args) throws Exception {
    var client = HttpClient.newHttpClient();
    // Provision number (JSON)
    var pbody = "{\"fax_number\":{\"area_code\":\"415\"}}";
    var preq = HttpRequest.newBuilder()
      .uri(URI.create("https://api.medsender.com/api/v2/fax_numbers"))
      .header("Authorization","Bearer sk_test_...")
      .header("Content-Type","application/json")
      .POST(HttpRequest.BodyPublishers.ofString(pbody))
      .build();
    client.send(preq, HttpResponse.BodyHandlers.ofString());
    // Send fax (simplified placeholder)
    var req = HttpRequest.newBuilder()
      .uri(URI.create("https://api.medsender.com/api/v2/sent_faxes"))
      .header("Authorization","Bearer sk_test_...")
      .POST(HttpRequest.BodyPublishers.ofString(""))
      .build();
    var res = client.send(req, HttpResponse.BodyHandlers.ofString());
    System.out.println(res.body());
  }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
// Provision number
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization","Bearer sk_test_...");
var json = "{\"fax_number\":{\"area_code\":\"415\"}}";
await client.PostAsync("https://api.medsender.com/api/v2/fax_numbers", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));
// Send fax (simplified placeholder)
var res = await client.PostAsync("https://api.medsender.com/api/v2/sent_faxes", new StringContent(""));
Console.WriteLine(await res.Content.ReadAsStringAsync());

Why Choose Medsender

Generic fax APIs aren't built for healthcare. We provide the specialized infrastructure you need to scale.

Feature Generic Fax APIs Medsender AI Document Intelligence
Data Extraction Accuracy None (Raw Image Only) 99% Context-Aware AI
Document Classification None (Manual Sorting Only) Automatic Classificaton (Labs, Referrals and many more)
Data Output Raw PDF/TIFF images Structured JSON / FHIR-ready
Operational Efficiency Overwhelming manual process Scalable Automation Engine
Integration None (Manual Upload Required) Seamless EMR/EHR integration
Error Rate High risk of human error Automated Error Prevention
Developer Support Ticket-based / Account Manager Developer Supported
"
With Medsender, we transformed an overwhelming manual process into a scalable automation engine. Unlike our previous vendor, Medsender understands the complexities of healthcare documents. We're at 99% accuracy, with only a handful of exceptions that need review. That shift freed our experts, lowered our costs, and made our service faster, as well as our cost structure more competitive. It's exactly what we needed to grow.
VP
VP of Product Healthcare Tech Company

Read full case study
Medical Software Interface
Compliance Status BAA Signed & Active

"Medsender's startup program saved us months of compliance work."

Medsender for Startups

Launch faster with up to 1M free pages.

We know early-stage healthcare startups need to move fast and conserve cash. That's why we offer a generous credit program designed to get you to market without the overhead.

  • Up to 1M fax pages included for free
  • Full HIPAA compliance & BAA from day one
  • Access to AI-powered processing features
  • Dedicated developer support channel
Apply for Startup Program

Flexible pricing that grows with you

Pay only for what you use. No hidden fees or long-term contracts.

Fax API

Reliable, programmable fax infrastructure for sending and receiving.

$.03/page
  • 99.99% Uptime Guarantee
  • Modern Cloud API Infrastructure
  • Unlimited Number Porting
  • HIPAA BAA Included
  • Developer Supported
  • Volume-Based Discounts
Get Started

AI Document Intelligence

Add intelligence to your API workflows. Extract data from documents processed by the API.

$.10/page
  • 99% Context-Aware Accuracy
  • Healthcare-trained AI
  • Seamless EMR/EHR Integration
  • FHIR-ready JSON Output
  • Developer Supported
  • Volume-Based Discounts
Get Started

Frequently Asked Questions

Immediately. Once you sign up, you’ll receive a sandbox API key so you can start testing right away.

Yes. Every Medsender account comes with a signed BAA at no additional cost.

Absolutely. We support full number porting with zero downtime. Our team handles the coordination with carriers.

Our AI is specialized for healthcare. It processes referrals, lab results, prescriptions, insurance cards, and patient intake forms, and more with high accuracy.

Yes. Our pricing scales with your usage. Contact our sales team for volume-based pricing.