Advogato XML-RPC Interface

Advogato now has an XML-RPC interface available at the URL To test it, try calling one of the test functions below. If you are using Python, for example, try the following:

>>> import xmlrpclib
>>> server = xmlrpclib.Server("")
>>> server.test.sumprod(5, 7)

It should return [12, 35].


string cookie = authenticate(string user, string pass)
Returns a cookie which is used as the first argument to all methods requiring authentication.

Blog manipulation

int length = diary.len(string user)
Return the number of entries in a blog.
string html = diary.get(string user, int index)
Return a blog entry. The index is zero-based, so if diary.len() returns 2 then valid indices are 0 and 1.
date created, date updated = diary.getDates(string user, int index)
Return the creation and last updated dates of a blog entry. If the entry has not been updated then the updated date will be the same as the creation date.
diary.set(string cookie, int index, string html)
Set a blog entry. Use -1 as the index to post a new entry, although the value returned by diary.len() is also acceptable.

Obtaining Certs

int exists = user.exists(string user)
Returns zero if user does not exist, or one if user does exist.
string level = cert.get(string user)
Returns the certification level of the requested user.

Test functions

string s, int i = test.guess()
Guess a number
int result = test.square(int x)
Square a number
int sum, int product = test.sumprod(int x, int y)
Return the sum and product of a pair of numbers
int len = test.strlen(string s)
Return the length of a string
string s = test.capitalize(string s)
Capitalize a string

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!