Remote printing API

Make any printer part of your API.

Send a label, receipt, or document from your code, and it prints on a specific printer in a specific building. No print dialog, no firewall changes, no printer-specific code.

0inbound ports
1API for every printer
LIVE JOB Station online
SHIP TOBOULDER, CO
2-DAY
ACME FULFILLMENT
1900 PEARL STREET
BOULDER CO 80302
RP 03 8491 6250
job_abc1231 of 1
POST/v1/print-jobs1.8s
Works with the formats your printers already use
ZPLEPLESC/POSPDFTEXT

The problem

Cloud software ends at the browser. Your operation ends at a printer.

Every team that ships physical goods hits the same wall: the software knows exactly what should print, and has no reliable way to make it happen on a specific machine in a specific building.

The browser is not a print server

Print dialogs need a person. A warehouse at 6am does not have someone standing there clicking Print, and a kiosk browser cannot pick between eleven printers.

The network is closed for a reason

Nobody is going to expose a label printer to the internet or run a VPN to every store so your backend can reach port 9100.

Drivers mangle labels

Rasterizing a 4×6 label through a generic driver produces soft barcodes and surprise margins. Thermal printers want their own language, untouched.

"Did it print?" has no answer

Printing with no record means support tickets that end in "try printing it again." A job needs an ID and a status you can look up.

How it works

A straight line from your code to the printer.

Install RocketPrint Station on a computer next to the printers you already have. It connects out to us. Your code makes one request, and we send it to the right machine.

01

Install RocketPrint Station

Install RocketPrint Station on a computer that can already print — a supported Mac or Windows computer. Approve its connection in your browser. It connects out to us, so nothing has to connect in to you.

Sign in → printers register
02

Send one request

Send ZPL, EPL, ESC/POS, a PDF, or plain text from any backend. Name one of your printers and we deliver the job to the computer it is attached to.

POST /v1/print-jobs
03

Know what happened

Track each job from pending to printing to completed, with timestamps and a real failure reason when something goes wrong.

status: completed

Built for production

Printing should be the boring part of your product.

Six things that decide whether a print API survives contact with a real warehouse — and what each one actually does.

01 / NATIVE

Your labels print exactly as you wrote them.

Send ZPL, EPL, or ESC/POS and we pass it to the printer untouched — nothing is redrawn, rescaled, or converted into a blurry barcode. We have checked the exact bytes arriving at the printer. What you send is what prints.

Offline is handled

A disconnected computer is not a failed order. Jobs for an offline printer wait, then print in order the moment the Station app reconnects.

How queueing works

Honest status

Every job has an ID, timestamps, and a real status. When one fails, the job tells you why — no guessing, and no asking someone to try again.

Read the state model

Safe retries

Retry as often as you like. A repeated request returns the original job instead of printing a second label, even if the Station app restarted in between.

See the contract

See every printer you have

Every computer, printer, job, and usage total across all your locations in one place — so support can look instead of guess.

Tour the console

Nothing connects into your network

RocketPrint Station opens the connection to us and proves who it is. No open ports, no VPN, and no printer exposed to the internet.

Read the security model

Printers and formats

If the operating system can see it, we can usually print to it.

Thermal label printers get their own language, untouched. Everything else prints the normal way through that computer. The full list says exactly what we have tested and what we have not.

Printer languages

For thermal label and receipt printers, send the printer's own language and it arrives untouched.

  • ZPL — Zebra label printers
  • EPL — older Zebra and Eltron models
  • ESC/POS — receipt and kitchen printers

Documents

RocketPrint hands the file to that computer's normal printing, using the driver it already has.

  • PDF — packing slips, invoices, work orders
  • Plain text — pick lists, simple tickets
  • Copies — set per job in options

See the full compatibility list →

The console

Every station, printer, and job in one place.

Printing fails in physical ways — a computer sleeps, a printer goes offline, someone renames it. This is where your team sees that happen instead of hearing about it from a customer.

rocketprint.io/app — printers
DashboardPrintersPrint jobsAPI keysUsage
PrinterStatusStationLast seen
Zebra ZD421 — Pack bench 1onlinebldr-wh-01
Zebra GK420d — Pack bench 2onlinebldr-wh-01
HP LaserJet M110 — Officeonlinebldr-wh-01
Epson TM-T20 — Front counterofflinestore-04
Common usesShipping labelsPacking slipsPick listsReceiptsOrder ticketsBadges

For platforms

One account for you. A workspace for every customer.

RocketPrint is built to sit inside another product. Each customer you serve gets a workspace of their own — their printers, their API keys, their jobs — while you run all of it as one account.

  • Isolated by default

    A workspace's API keys reach its own printers and nothing else. Customers never see each other, and you see everything.

  • One usage total

    Jobs from every workspace count toward one shared allowance on one invoice. A new customer is a workspace, not another subscription.

  • Your brand on the Station app

    Ship the Station app under your name and logo, signed and auto-updating. Your customers install your software, not ours.

PLATFORM ACCOUNT 3 workspaces active
Acme Fulfillment6 printers · rp_live_…a4
48,102 jobs
Harbor Coffee Roasters2 printers · rp_live_…7f
9,940 jobs
Peak Outfitters4 printers · rp_live_…c3
3,162 jobs
USAGE ROLLS UP61,204 jobs this monthone invoice
Pricing

Plans start at $60 a month. Every tier is the full product — bigger ones just include more customers and more jobs. Failed jobs are never billed.

See pricing

Questions

What people ask before they trust us with a printer.

Do we have to open a port or run a VPN?

No. RocketPrint Station opens the connection to us and keeps it open. Nothing on your network is reachable from the internet, and you do not need to add a firewall rule.

What does 'completed' actually mean?

It means your computer's print system accepted the job and the print command succeeded. It does not mean a sensor confirmed paper came out. Paper jams and empty label rolls are invisible to every print API, including ours.

What happens if the station is offline when we send a job?

The job waits. When the Station app reconnects, everything queued for it prints automatically, in the order you sent it. Your request does not fail because someone unplugged a machine.

Will our ZPL come out exactly as we wrote it?

Yes. We pass your ZPL to the printer untouched — nothing is redrawn or rescaled. We have checked the exact bytes arriving at the printer.

Can we retry a request safely?

Yes. Send an Idempotency-Key header, and a repeated request returns the original job instead of printing a second label. The Station app keeps its own record too, so a job it already printed is never printed again — even after a restart.

Which operating systems can run the Station app?

Check the download page for verified Mac and Windows installers. Windows RAW labels use the spooler directly; PDFs and text use Station’s built-in renderer. Linux distribution is not available for self-service installation yet.

About five minutes

Make something real come out of a printer.

The quickstart is one install and two curl commands. Create an account and pick Launch, Orbit, or Constellation — no sales call.