Brought to you by

Tools of the API trade

Posted 5 years ago in Platform by Ronan Quirke
Posted by Ronan Quirke

We have talked previously about the operating systems that Xero users are running, and what we are seeing in the mobile space, so I thought it might be interesting to take a look at what sort of languages developers are using to communicate with the Xero API.

We now have over 1,600 active applications communicating with Xero from our Add-on partners right through to custom integrations built by amateur coders. The downside of a self service, open API, is that we do not often get to see what developers have built, unless they wish to become an official Xero Add-on or Developer partner.

What to chart?
Getting insights into the languages developers are using is actually quite tricky. We don’t ask developers this question when they setup their API app as it is not relevant to us – you can connect pretty much anything to the Xero API.

In the web world, one might be able to derive something useful from the user agent string in our server logs, but many wrapper libraries allow developers to set a custom user agent string (we encourage this, as it allows us to identify API apps when we need to help diagnose issues).

We don’t have access to the source code like GitHub or tag forum questions like StackOverflow, so we can’t come up with some as cool as the Programming Language Popularity Chart, but we do have a list of code samples & libraries in the Xero Developer Centre, so I took a look what people are accessing there.

This time last year
Looking at what sample code pages developers were accessing in early 2012, it is neck on neck with the usual suspects of C# and PHP, each with 35% of the page views.

What developers are using today
Looking at data for 2013, we are seeing a little bit of change.

PHP is now the dominant choice with 36.5% of code sample views, followed by C# on 31.6%, which might be losing a little ground to Java and Python (13.7% & 8.6% respectively). I am a little surprised that Ruby has remained static on 8.5%.

Node.js is a new entrant to the list and we will need a little more data before we get a good sense of whether there has been much mainstream adoption. It does highlight the point that this data is only representative of the code samples we have available.

We sometimes get treated with suspicion by those that do not use the Microsoft stack, thinking that our API or support of developers is biased towards users of the .NET framework since it is what we use internally. Far from it – putting an ex PHP developer like me in charge of the developer partner program is proof Xero welcomes everyone to the API fountain.

Code samples & great documentation are the two things we hear time and again from developers when we ask them what they need when integrating. We have some more work to do on the code sample front, and we hope we can energise some of the ecosystem to contribute. We are already seeing some of that happen. Scala anyone?

The data is based on page views of the Xero Developer center, for the period of March-April in 2012 & 2013.


Dan Sowter
May 2, 2013 at 7.52 pm

It’s an interesting topic, Ronan. Is there something we could do from the partner community to help you collect more useful data about who we are, and what we’re doing with your API?

TriggerApp’s all Ruby, by the way, and uses the excellent gem, as recommended.

Ronan Quirke Xero
May 2, 2013 at 8.11 pm

@Dan great idea. We could add in some optional fields to the application setup screens so we get a better sense of what are users are doing.

Maybe a ‘show and tell’ section of the community forum too? I’m convinced somebody somewhere has the API hooked up to the Ford car API or something equally awesome.

Steve Fewster
May 2, 2013 at 11.00 pm

Hi Ronan,
A simple survey linked to the APP’s token/api key might be a starting point.

Leave a reply

Your email address will not be published. Required fields are marked *