Hi Code4Libbers,

A few months ago, I posted a question to see if anyone had experience creating a SUSHI client in PHP. Well, as it turns out, I have not been able to find any simple SUSHI client in any language. I found two incomplete solutions listed on the NISO SUSHI developers page, but they were very big and complex and gave me no clue where to start or how to implement them. So, I decided to build my own. You can read more about the learning and creation process at my blog at

The result is a small Python class called It will read a list of SUSHI report parameters from a CSV file or MySQL table, make SOAP calls to the remote SUSHI services, parse the responses, and write them to either a CSV file or a MySQL table. It can be run from a "real" server or from your desktop computer fairly easily. Most importantly of all, it's all just over 500 lines of code in a single file, so you can use it as a guide of sorts if you are wanting to roll your own.

Sushi Py has been tested so far with JR1, DB1, DB2, and DB3 reports. Additional reports need to be hard-coded in but can be done pretty easily once I have access to some vendor that uses the other reports. So far, it's working with EBSCO, Ovid, and ACS. The other vendors I have tried so far seem to have problems with their SUSHI implementations (not responding to generic SOAP request for instance).

Anyway, I thought I'd share it here since I figured there must be other people looking to harvest COUNTER reports that don't want to fork over several thousand dollars per year for an ERM (especially when ERMs have been reviewed pretty unfavorably by the library community). You can download the project at . Instructions can be found on the blog mentioned above. If anyone wants to use it or to collaborate in making it better, feel free. Suggestions are very welcome since I am a programming n00b, as my blog suggests.

Josh Welker
Electronic/Media Services Librarian
College Liaison
University Libraries
Southwest Baptist University