XML-RPC Web Service

There is an XML-RPC web service located at the following URL:

https://www.upcdatabase.com/xmlrpc

This service is being deprecated. No new credits may be purchased. The service will remain functional for an undetermined period of time before being shut off entirely.

In the mean time, if you continue to use the service while it's still up, please make yourself aware of the Web Site and RPC Terms of Service (available here and here, respectively).

Each XML-RPC method takes a single parameter -- an XML-RPC struct. That struct contains further named parameters specific to the method. Each method returns a single struct, with named values providing any necessary status messages, and the answer to the query, if available. The one named parameter that almost all methods require is "rpc_key". Pass that on every call, and you can't go wrong. If you're having trouble getting things working, though, the "test" method does not require the rpc_key parameter, and returns a hashmap of a random assortment of data. This has been useful to me many times when testing, and will probably be so for you if you're having trouble.

Once you can call "test" then you should move on to "help". This method will return (a struct containing) help text listing every available method, what they do, and what parameters are required.

This Perl script takes the method name on the command-line first, followed by key-value pairs. The script already handles passing your RPC key (assuming you substitute your own in the script). Extra parameters depend on the method being called.

Here are all of the coding examples I have so far. I'll add more as I get them. So far, it's my code, or code I adjusted for the new API from previous user submissions. I could use additional examples in Java, Python, C#, VB, or anything else you think others might benefit from.

More detail on the XML-RPC standard is available at The XML-RPC Home Page.

Old RPC API Examples

These examples are for the old API (at https://www.upcdatabase.com/rpc). They won't work with the current API, but may be useful for those unfamiliar with XML-RPC, until we have a more complete set of examples for the new API. Most of this code was submitted by users of the site, and I can't provide support for it.