Lending Club API Thoughts

One feature I wish Lending Club had was an API for accounts. As of writing this, it does not exist nor is it publicized on a road map to my knowledge.  An API would open a world of possibilities to investors and developers. It’ll have to be created at some point I believe, it’s just a matter of when and how. At this point all I can do theorize about what I would do with an API, so I did…

I’d like to cover a few use cases first:

Automatic Investing

A potential issue for LC investors is the need to login, search for notes, select and buy to keep their ROI going strong. Now, I realize some people like to read every note purpose, ask questions, and vet borrowers in depth. To me, these are the people that make P2P lending really remarkable, but this use case would not apply to them.

Using an API you could query your account cash balance daily (or weekly, or whenever) to determine when there is enough money to buy notes.  Once you have more than $25 in cash you could issue a buy order on notes that meet your specified criteria. For instance, you want to buy A, B and C notes where the employment is over 2 years (a projected ROI of 6.55% by the way) you could have an application search for these loans when they come on the market and buy automatically.

You could implement a method in your code preventing duplicate purchases of notes by first querying LC for your note data, and then verifying it’s not already in your note portfolio.  Another option would be to have a API parameter to prevent purchase of duplicate notes. This will help ensure maximum diversification.

Managed Accounts

LC already does this with the prime account but has some restrictions, like a 10K upfront deposit of cash to invest (I think part of this is so they can obtain more predictable returns – can’t fault them there).  Using the API it would be possible for 3rd parties to manage thousands of accounts everyday automatically.  The managed account provider could charge a small fee, say 0.3% quarterly to automatically manage the account. The investor could request a projected rate of return and the automated process would attempt to obtain that using historical performance and other factors.  The 3rd party could also allow the investor to even specify an amount of cash to keep available in case they are using the account in retirement.

Automatic Account Liquidation

The API could be used to liquidate a portfolio automatically, re-listing expired notes. Maybe you could even have some intelligence to start progressively discounting loans that are difficult to sell. Just make sure you turn off your automatic buying API calls!!!

Other Thoughts

Maybe it’s better to hold off on an API for now as P2P still very young. The last we thing we need is bunch of automated bots ruining the investment process. Not to mention the type of people that come out of the wood work when the word “bot” is mentioned. Have you ever traded FOREX?

API Concept

So here are just some brain storming ideas I came up with for an API that would allow users to do some of the use cases mentioned above. Since I only use Linux, my world consists of RESTful APIs mostly.  Sorry WCF/WSDL lovers.  These are just high level concepts,  error messages are not documented fully.

The date in the URI is the API version, so when changes come to the LC API people can stick with an older version if the costs associated with upgrading are too great or they are happy with how it works.

Functions Requiring authentication

Get a list of your all notes

GET https://www.lendingclub.com/api/2011-08-30/Account/Notes

Success : { ‘notes’ : [{ … }] ,  ‘count’ : 403,  ‘result’ : ‘ok’ }
Failure : { ‘result’ : ‘failed’ }

Get your cash balance

GET https://www.lendingclub.com/api/2011-08-30/Account/CashBalance

Success : { ‘balance’ : 342.23 ,  ‘result’ : ‘ok’ }
Failure : { ‘result’ : ‘failed’ }

Buy a Note

GET https://www.lendingclub.com/api/2011-08-30/Account/BuyNote/1234/Amount/25.00

Success : { ‘loan_id’ : 1234 , ‘note_id’ : 2345,  ‘amount’ : 25.00,  ‘result’ : ‘ok’ }
Failure : { ‘result’ : ‘failed’ }

Sell a Note

GET https://www.lendingclub.com/api/2011-08-30/Account/SellNote/1234/Amount/23.32

– OR –

GET https://www.lendingclub.com/api/2011-08-30/Account/SellNote/1234/Discount/-0.23

Success : { ‘order_id’ :3456 , ‘note_id’ : 1234,   ‘price’ : 23.32, result’ : ‘ok’ }
Failure : { ‘result’ : ‘failed’ }

Unauthenticated Resources

Loan Browsing

List all loans

GET https://www.lendingclub.com/api/2011-08-30/Loans/?limit=10&offest=0

Success : { ‘notes’ : [{ … }] ,  ‘count’ : 10, ‘offset’ : 0, ‘total’ : 29000,  ‘result’ : ‘ok’ }
Failure : { ‘result’ : ‘failed’ }

Get all A,B,G loans

GET https://www.lendingclub.com/api/2011-08-30/Loans/?Grade=A,B,G

Get all loans with an interest greater than 10%

GET https://www.lendingclub.com/api/2011-08-30/Loans/?InterestRate>=10


13 thoughts on “Lending Club API Thoughts

    1. If you want to team up and write something let me know. Lending Club has no API… at all. Prosper has pretty decent API support although its all done though WSDL (RESTful would be preferable) . I started to write an applicaion that basically mirrored data on the main NSR site but quickly came to the realization it’s pretty pointless. Prosper now has a mobile edition of their site that works really well on tablets, and pretty well on smaller form factors.

  1. Hey Michael – love the site! I’ve been investing on LC and Prosper since 2010 and I have been wishing there was an API for automatic investing on LC. The AQI on Prosper seems to work fairly well, but there isn’t anything similar on LC and the Prime accounts don’t give you as much control to tweak things real time.

    1. It’s an unfortunate situation indeed. I feel Prosper is doing a phenomenal job with innovation and it will pay off. Between their tax reporting, platform, and mobile access it’s a delight to use. I wish LC would at least get something setup so I don’t have to log in every day to cehck for notes.

      1. Good call. And this is why I need a copy editor. 😉 Thanks. I also fixed a couple bugs today that was making the tool not work with the latest python requests module.

Leave a Reply