Many HP all-in-ones have a "Scan to computer" function where you can be standing at a network printer and scan all your gubbins straight to your computer without having to load up scanning applications. This is particularly useful if the computer and scanner are in different rooms.

The problem is HP's open source driver doesn't provide this functionality for Linux and that's a real problem for me because it's Linux only here.

I'd like to implement the functionality but I don't know what sort of APIs they're using, how the computers are handshaking with the printer (to show their availability) or anything really about how the scans are sent.

Is there any documentation (official or otherwise) on how "Scan to computer" works?

  • HP wrote a windows service which listens to commands from the printer. How they did it exactl, what those commands are, is unlikely to be released by HP for many reasons.
    – Ramhound
    Aug 14, 2013 at 11:58
  • @Ramhound That sounds about right. I'll install their driver in a VirtualBox install of Windows and see if something like Wireshark can sniff the relevant data out.
    – Oli
    Aug 14, 2013 at 12:18
  • Asking if there is documentation, as part of a "how does this work?" question is extraordinarily different from soliciting "product, service, or learning material recommendations". Close reason is silly.
    – Oli
    Feb 7, 2022 at 23:32
  • Close to a decade being open and this question received only spam answers and two legitimate answers, with three vote between them. I am not including the answer in the last 10 minutes. Asking for documentation was a close reason for the first 6 years of the life of this question. I feel confident if this question was going to be answered it would have already been answered and upvoted more than 3 times in nearly 10 years.
    – Ramhound
    Feb 8, 2022 at 0:41

3 Answers 3


I did manage to log the data but it's quite a dense mesh of HTTP and other protocols. I could mimic it given enough time but I've found a quicker alternative.

Every five minutes a cron job fires off the following on my computer:

hp-scan --adf -o "/path/to/scans/$(date +'%Y-%m-%d.%R').pdf"

I've also built a web interface to trigger this (and normal scanning) manually, that I can prod from my phone.

  • Amazing - love the logic ! and its wife friendly :) Any chance you can make the web interface available?
    – Rob
    Nov 27, 2016 at 9:41

The scanner implements a bunch of RESTful apis. I started with this https://github.com/xpn/HP-3070a-Scan-Downloader/blob/master/hp_scan.py.


Here you'll be able to have some insight on how some HP device implement that feature : https://github.com/manuc66/node-hp-scan-to

  • Link-only answers are low quality. In this other answer the link is broken, the answer is thus useless. This is exactly why link-only answers are discouraged. Your link may be a useful comment though. I have flagged the other answer, so don't be surprised if it is deleted and you cannot see it. Feb 7, 2022 at 14:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.