Receiptful

Receiptful

Receiptful

Receiptful

Receipt printing API

Cloud receipt printing
that never drops a job

Free for your first 20 receipts every month. No credit card required.

curl https://api.receiptful.io/v1/printers/42/jobs \
-H "Authorization: Bearer rf_3f9c…" \
-H "Content-Type: text/html" \
--data '<h1>Order #1284</h1>'
httpx.post(
"https://api.receiptful.io/v1/printers/42/jobs",
headers={"Authorization": "Bearer rf_3f9c…",
"Content-Type": "text/html"},
content="<h1>Order #1284</h1>")
await fetch("…/v1/printers/42/jobs", {
method: "POST",
headers: { Authorization: "Bearer rf_3f9c…",
"Content-Type": "text/html" },
body: "<h1>Order #1284</h1>" });
$c = curl_init("…/v1/printers/42/jobs");
curl_setopt_array($c, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer rf_3f9c…",
"Content-Type: text/html"],
CURLOPT_POSTFIELDS => "<h1>Order #1284</h1>"]);
curl_exec($c);

→ 201 Created

· printed in 1.4s

RECEIPTFUL

ORDER #1284

2× Flat White

$9.00

1× Croissant

$4.50

TOTAL

$13.50

printed in 1.4s

Use cases

One API, whatever the paper

An order ticket, a receipt, a pick list and a badge are the same request with different HTML.

EAT-TAXI

#4471

19:42 · ASAP

1× Pizza Margherita

2× Tiramisu

PAID ONLINE

24.50

Food delivery

Turn the checkout webhook you already have into a ticket on the restaurant's counter, in under two seconds. Every kitchen pairs its own printer — no tablet to babysit, no hardware to ship.

See how

LE BON CAFE

Cafe creme

1.50

Croissant

1.20

TOTAL

2.70

Card ****4417

Point of sale

Print from wherever the sale actually happens: your backend, a phone, or a WhatsApp thread. Works on the 58mm and 80mm printers the shop already owns — no terminal, no lease.

See how

PICK LIST

ORD-2291

A3-04 Sneakers

× 1

B1-12 Socks

× 3

C7-02 Laces

× 2

3 SKUS

6 UNITS

E-commerce

Send the pick list to the warehouse the moment an order is paid, bin locations and all. It travels with the parcel instead of living in a browser tab somebody has to keep refreshing.

See how

PROOF OF DELIVERY

TRK 8842 991 03

Delivered

14:06

Recipient

M. Diallo

Logistics and labels

Print proof of delivery at the door, from the driver's phone over Bluetooth. Out of range, the job waits for the printer to come back, then expires rather than printing a stale drop.

See how

Also printing with Receiptful:

Kitchen tickets · Events and ticketing

Integration

Four calls to paper

No drivers, no print server, no SDK. Watch a job go out and come back as paper, then read the whole integration.

Real hardware, nothing sped up. 1:28, no sound.

1

Get an API key

POST /v1/users

2

Register a printer

POST /v1/printers

3

Pair the Android app

one-time, ~1 min

The only step that touches hardware.

4

Print

POST /v1/printers/{id}/jobs

Read the full quickstart

Reliability

Built so it actually prints.

99.98%

delivery success

<1.5s

median print time

48.2K

receipts printed

99.99%

uptime

Works with every receipt printer

Connect any thermal printer over Bluetooth, USB or Ethernet/IP — whatever the vendor or model. We handle the connection quirks, paper-width variations, per-model encoding and device-specific behaviour so you don't have to.

Bluetooth

USB

58mm · 80mm

Every job says where it got to

Follow a job from created to completed as it prints. Subscribe to status changes and you always know where it stands.

created

printing

completed

failed

Live printer status

See that a printer is online and ready before you send a job. We check in regularly, so you always know what's reachable.

printer_42 · online

No print team required

No hardware engineers, no driver maintenance, no on-site IT. Your backend and frontend get the same real-time status — everything your code needs to act on, and everything your users need to see.

POST /jobs

🧾 printed

Customer copy

From the teams printing every day

Our merchants sell on WhatsApp. They don't have a POS terminal and they don't want one. Receiptful means a receipt prints at the counter from a chat, and we never had to touch a printer driver.

WAFRIQ

WhatsApp POS · Cameroon

An order reaches the restaurant as printed paper within seconds of checkout. That used to be the part of the flow we worried about. Now it's the part we don't think about.

EAT-TAXI

Food delivery · Germany

We added receipt printing to the platform in an afternoon. Four API calls, and it worked on the printers our merchants already had.

COMPARO

E-commerce · Francophone Africa

We were quoted weeks to build a print stack for a client. We shipped it with Receiptful in two days and bill nobody for maintaining it.

DEVSUIT GMBH

Built EAT-TAXI · Germany

Pay per receipt

Pricing that reads like a receipt

Start free. Only pay for the printers you run and the receipts you print.

FREE

Per printer / mo

$0

Receipts included

20

Overage / receipt

n/a

Support

email

Deployment

cloud

Encryption

TLS 1.3

TOTAL

$0

ENTERPRISE

Per printer / mo

volume

Receipts included

custom

Overage / receipt

volume

Support

Slack · SLA

Deployment

cloud / self-host

Encryption

end-to-end

TOTAL

Talk to us

No lock-in

Almost nothing in the path is ours.

We deliver the job and run the fleet. The bytes, the markup and the hardware stay yours, so leaving costs you a hostname, not a rewrite.

The wire format

standard ESC/POS

The input

plain HTML

The printers

ones you already own

The template language

there isn't one

See the raw ESC/POS endpoint

your bytes, unchanged

curl https://api.receiptful.io/v1/printers/42/jobs \
-H "Content-Type: application/vnd.escpos" \
--data-binary @receipt.escpos

printed exactly as sent

Before you ask

Frequently asked questions

Latest writing

All posts
I made my Next.js app print a real receipt

Sep 1, 2026