Connect the local agent
Install RocketPrint on any Mac, Linux box, or Raspberry Pi that can already see your printers. It dials out, so your network stays closed.
rocketprint loginRemote printing API
RocketPrint routes labels, receipts, and documents from your backend to printers in warehouses, stores, and factories — with no print dialogs, no inbound firewall rules, and no printer-specific code in your application.
/v1/print-jobs1.8sThe problem
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.
Print dialogs need a person. A warehouse at 6am does not have a person clicking Print, and a kiosk browser cannot choose between eleven queues.
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.
Rasterizing a 4×6 label through a generic driver produces soft barcodes and surprise margins. Thermal printers want their own language, untouched.
Fire-and-forget printing means support tickets that end in "try printing it again." A job needs an identity and a status you can query.
How it works
Install a small agent next to the printers you already have. It connects outward to RocketPrint. Your backend makes one request, and we route it to the right machine.
Install RocketPrint on any Mac, Linux box, or Raspberry Pi that can already see your printers. It dials out, so your network stays closed.
rocketprint loginPOST raw ZPL, EPL, ESC/POS, a PDF, or plain text from any backend. Name a registered printer and we route the job to the station that owns it.
POST /v1/print-jobsTrack each job from pending to printing to completed, with timestamps and a real failure reason when something goes wrong.
status: completedBuilt for production
Six things that decide whether a print API survives contact with a real warehouse — and what each one actually does.
Raw ZPL, EPL, and ESC/POS pass through byte-for-byte to the print queue. No rasterizing, no re-scaling, no blurry barcode conversion. We have verified the exact bytes arriving on a printer's TCP port — what you send is what the printer gets.
A disconnected station is not a failed workflow. Jobs for an offline printer persist as pending and dispatch in order the moment the agent reconnects.
How queueing worksEvery job has an id, timestamps, and a real state. printing means the OS accepted it; completed means the print command succeeded; failures carry the reason.
An idempotency key means a retried request never turns into a second label — enforced on our side and in the agent's own ledger, which survives a restart.
See the contractStations, printers, live presence, job history, and usage across every location in one console — so support can look instead of guess.
Tour the consoleThe agent initiates every connection and authenticates itself. No inbound ports, no VPN, no printer exposed to the internet.
Read the security modelPrinters and formats
Thermal label printers get their native language untouched. Everything else prints through the OS queue. The full matrix says exactly what is verified and what is not.
For thermal label and receipt printers, send the printer's own language and it arrives unmodified.
For documents, RocketPrint hands the file to the print system on the station using the driver that machine already has.
optionsThe console
Printing fails in physical ways — a station sleeps, a printer goes offline, someone renames a queue. The console is where your team sees that happening instead of hearing about it from a customer.
Simple pricing
No seats, no printer limits, and no sales call standing between you and production. Every feature is included from your first job.
Questions
No. The agent opens an outbound connection to RocketPrint and keeps it alive. Nothing on your network is addressed from the internet, and no inbound firewall rule is required.
It means the agent handed the job to the operating system's print system and the print command succeeded. It does not mean a sensor confirmed paper physically left the printer — no print API can honestly claim that, and we would rather tell you the real boundary than imply one we cannot hold.
The job persists as pending. When the agent reconnects, queued jobs dispatch automatically, in the order they were created. Your request does not fail because someone unplugged a machine.
Yes. Raw content is passed through byte-for-byte to the print queue with no rasterizing or re-scaling. We have verified the exact bytes arriving on a printer's TCP port.
Send an Idempotency-Key header. A retry with identical input returns the original job with Idempotency-Replayed: true instead of printing a second label. The agent keeps its own ledger too, so a job already printed is never printed again after a restart.
macOS and Linux today, including Raspberry Pi. A Windows agent runs and reports printers, but raw pass-through printing on Windows is not finished yet and returns an explicit error rather than printing something wrong.
Five minutes, honestly
The quickstart is one agent install and two curl commands. Start free — no card, no call.