Mendeley and APIs

Now Ian Mulvany talking about Mendeley and how they use APIs – both publishing and consuming.

Try to expose all the metadata being added by users via an API – a “social catalogue”. This enables ‘discovery’, but not ‘delivery’ – this is where Mendeley can make use of external APIs – such as the WorldCat API.

Mendeley invest in APIs because

  • It helps them extend their product, but integrating data/functionality from other places
  • It enables others to extend their product – they don’t have time to build everything that users are asking for. E.g. Android client built by users, as company didn’t have the resource

Mendeley uses WorldCat registry to find/suggest appropriate OpenURL resolver depending on users location – as most users won’t know what an OpenURL resolver is, or what the detail are.

Mendeley uses OAuth – which means they can integrate with institutional repositories and a users own publications in Mendeley – going to be live soon (working with JISC, Symplectic and University of Cambridge on this – Learnt a lot about consuming their own APIs in this project – and uncovered bugs…

“We should have built the API first, and the product second” – the fact they didn’t now creating work. Now they are creating a new application for libraries, and building API first. Ian firmly believes this is a better approach.

Ian’s top 10 tips for API provision:

  • first API, then app
  • use your own APIs (and he believes Mendeley should do this more)
  • make an (API) interface you would use yourself
  • provide lots of example docs – coders like to do stuff quickly – if they can get something working from an example quickly, they’ll then invest
  • version your API – backwards compatible
  • put rate limits in place
  • work with a 3rd party to provide keys
  • have clear licensing
  • engage with your community
  • promote, promote, promote, promote, promote

In terms of consuming:

  • know what you want to do
  • define the value – this may be service delivery, or could be development of skills for developers etc.
  • measure the value – otherwise difficult to prioritise future developments
  • understand the SLA
  • if it’s important – have a backup plan – dependence on 3rd party is a risk which you should manage
  • don’t wait on API for page loads – found that Mendeley homepage was waiting for a response from an API was down, and so the page didn’t load…
  • get on the mailing list/dev group
  • look for good example code
  • don’t be afraid to pay – if it’s important, it’s worth paying for
  • use Mendeley’s APIs 😉



Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.