Using laptop camera to scan barcodes and import into Zotero

I realize there are mobile apps for scanning book barcodes, but is there any efficient way for scanning barcodes with a laptop – a Macbook in this case – and then getting the items into a Zotero collection?

A colleague (without a smart phone) needs to create a Zotero collection from a hard copy library and is wondering if there is a faster way to do this than looking each book up in a catalogue.
  • there's no app, no. It may be possible to keep focus on the ISBN look-up window, but that's it.
  • To clarify, since Zotero can add items by identifier, you would need a tool that converted an ISBN barcode into typed input. A USB barcode scanner would probably do that automatically. A program that scanned barcodes via the webcam could also work, but it would depend on the program.

    Can't help you with specifics.
  • edited February 13, 2012
    So would it correct to say that the most efficient way of getting a hard copy library into Zotero would be to use jmschank's barcode scanner app for an Android device, and that this is currently more efficient than using an iPhone or iPad?
  • jmschank's barcode scanner, and the one built into Zandy, have the major drawback of using a pretty low-quality metadata provider; both use OCLC's xISBN lookup service, which is really easy to set up, but it isn't very rich.

    The identifier lookup in Zotero proper provides somewhat better metadata, so I'd use it if possible. If this is a semi-serious affair, you may want to buy a USB bar code scanner. Otherwise, there are some options: for Linux,; for Windows,; must be something out there for Mac too.

    I've long planned to improve the metadata that Zandy provides for ISBNs, but that hasn't happened yet.
  • Thanks for the suggestions. I was hoping – on principle – for a more direct method, but the Delicious Library method referenced above does work well. The DL camera interface provides a target for positioning the barcode and it is surprisingly easy to scan it in.

    It would be swell if someone created an add-on that similarly connected the built-in iSight camera directly to Zotero's identifier lookup.
  • On a MacBook, EvoBarcode (, 15-day free trial) seems to work well capturing barcodes via the on-board camera and returning an ISBN.

    Since EvoBarcode can run an AppleScript, too, it would seem possible to automate the whole process.

    My questions to the forum: Has anyone written such a script? Or, if not: How can Zotero's "Add Item(s) by Identifier" be accessed via AppleScript?

    Should any other viable solutions for getting from a printed barcode to a Zotero entry have turned up in the meantime, I'd be interested, too, of course.
  • Not sure if that's clear from the above, but there is a one-click app for Android:

    and a slightly less integrated, but still pretty smooth, version for iOS:

    I don't think you can access add by identifier via applescript. The local API is in javascript. It's possible to do this with the server API, which is what the Android app does, though you actually need to retrieve the data from Worldcat (or LoC) in the app and then pass it to the API.
  • edited July 6, 2014
    Thank you. Not owning an Android or iOS device, it's the laptop solution I'm after, though.

    So, if anyone is aware of a method (whether AppleScript or other) for Mac OS X of getting the content of the clipboard into the "Add Item(s) by Identifier" popup box, that'd be very helpful indeed.
  • edited July 6, 2014
    A scanner hooked up to the USB port is probably the most convenient solution for a PC. It's not a free option, obviously, but modern scanners output text direct to the keyboard and are programmable without need for installed software, and so work on all systems without hassle (the one I use for marking student quizzes and so forth is a Unitech MS100 wand, which works quite well, and/but runs about $90; laser scanners are much more pricey).
  • Right – but assuming you scanned an ISBN with your USB device, what is it you do to get that information into Zotero?
  • edited July 6, 2014
    As I say above, it's just typed input in the Add Item by Identifier box. If it's in the clipboard, you'll need to paste it.

    For something more automatic, someone would have to code it, but we can't help with that. Zotero doesn't support AppleScript.
  • Someone could create a Zotero plugin that accepted identifiers over a local port, and an AppleScript could be made to send the identifiers at that, but none of that exists now.
  • Thank you for all the responses. So it's copy & paste for the time being ...

    FWIW, I have cobbled together an AppleScript ( that collects scanned ISBNs from EvoBarcode in a text file, so I'm down to one copy & paste step per batch now.

    This script could easily be modified to send identifiers to a Zotero plugin instead.

    I’d be happy about a Zotero plugin that accepted identifiers over a local port, but I certainly can't code it myself.

    Anyone who might want to try that and contemplates integrating the barcode scanner could also have a look at the free Barcode Scanner (library) for Mac at
  • It seems that the Android "Scanner for Zotero" is no longer available. Are there other options for Android?
  • Zandy has essentially the same scan feature installed:

    the scanner for Zotero app is still available as an .apk, so you should be able to install it. I've seen people report problems, but it worked for me after manually inputting the API key.
  • Adam, thanks for your reply. I've installed the Scanner for Zotero app - now I'm hoping you have advice on adding the API key, which is giving me trouble (I've searched for directions and for the developer's contact info without finding any).

    When I select "Get an API key online," and log in, I get a dialogue box: "Found API Keys" with the choices Zotero Connector for Chrome or Zed lite. I've tried both, and I've tried creating a new API key. With all of them a box appears that reads "Checking library and group access," and hangs with a spinning circle.

    Any suggestions would be much appreciated.
  • Assuming the software hasn't been updated in a while, most likely it never specified an API version when talking to the Zotero API. The default version of the Zotero API changed recently (after over half a year of warning), so some code that relied on an older version being the default would've stopped working.
  • Thanks, Dan.
  • edited March 21, 2015
    yeah, sorry, forgot about that. It'd be trivially easy for the dev to fix that (since the old APIs are still available, they just need to be specified) and I might fork his github and do that if I get a chance, but won't be super quick.

    Just tested this functionality in Zandy and it still works fine.
  • Android "Scanner for Zotero" is not working anymore (just can't upload records).

    Zandy is a good alternative? Thanks for opinion.
  • well, Zandy is a more-or-less fully featured Android app. As such, I don't think it's particularly good because it's also not very actively maintained, but the scanner feature works.
  • Scanner is the function which I care most. What about Zed?
  • no barcode scanner.
  • I plan to create a zotero collection by scanning book barcodes and importing them into Zotero ; I would like to know from where the metadata are imported ? one source ? several sources ? which ones ?
Sign In or Register to comment.