HELP CENTER
LOGIN
CREATE ACCOUNT
LOGIN WITH YOUR BUXFER ACCOUNT
EMAIL OR USERNAME
PASSWORD
HAVEN'T REGISTERED YET?CREATE A FREE ACCOUNT
EMAIL
PASSWORD
By clicking 'Create Account', you are indicating that you have read and agree to the Terms of Service and Privacy Policy
ALREADY REGISTERED?LOGIN TO YOUR ACCOUNT
ERROR
 
SYSTEM ERROR
Sorry, our system has encountered an unexpected error. We apologize for the inconvenience caused. Please provide us more information on how you encountered this error.
Your email address [ if you want us to reply ]
Comments
CONTACT US
Use the space below to report a problem, suggest an idea, or provide feedback
Your email address [ if you want us to reply ]
Comments
API
The API provides a flexible interface to personalize and customize your financial information. Read the documentation below and get started with sample code in Ruby, Python, PHP or Perl.
API documentation
API calls follow the format:
https://www.buxfer.com/api/[command]?token=login_token[&params]
Valid values for command:
loginget a unique 'token' which must included on all future requests
add_transactionadd a transaction
upload_statementupload a bank or credit card statement
transactionslist of transactions, 25 at a time
reportsget financial reports
accountslist of accounts with balances
loanslist of your loans
tagslist of your transaction tags
budgetslist of your budgets
reminderslist of your bill reminders
groupslist of your groups
contactslist of your contacts

All commands, except the login command, must specify a token parameter returned by the login command in the event of a successful login.

The transactions and reports commands also accept several parameters allowing you to search powerfully and precisely. Details about these parameters are in the corresponding sections.

The response element contains a status element which reports the status of the API call. If the call succeeded, it's content is OK, otherwise it is ERROR: [error_description].

login

Before accessing any of the API commands, you must obtain a unique, ephemeral token by logging in to the API service. You can use your email address or your buxfer username as the userid parameter.

On successful login, the command returns a token which must be included in all future API requests.

Login using email address and password
https://www.buxfer.com/api/login?userid=john@doe.com&password=dohdoh
See sample output

 

add_transaction

Unlike all the other commands, this command only looks at POST parameters and discards GET parameters.

Two parameters are accepted:

  • format: the only valid value currently is "sms".
  • text: the text of the transaction to be parsed.

Transaction text is specified in exactly the same format as Buxfer SMS messages. For details, read our mobile manual. If we cannot successfully parse the message, Buxfer will create a "stub" transaction which you can review whenever you log-in to the site next.

Paid 5.45 at starbucks; tagged as coffee
POST PARAMS: format=sms&text=starbucks 5.45 tags:coffee
Got a pending paycheck for $4000 into bank account
POST PARAMS: format=sms&text=paycheck +4000 acct:Checking status:pending
See sample output

 

upload_statement

This command only looks at POST parameters and discards GET parameters.

Parameters:

  • accountId
  • statement: the text of the statement to be uploaded
  • dateFormat: (optional) date format used in the statement (one of "MM/DD/YYYY" or "DD/MM/YYYY")

See sample output

 

transactions

You can restrict the set of transactions returned by specifying parameters. The permitted parameters are:

  • accountId OR accountName
  • tagId OR tagName
  • startDate AND endDate OR month: date can be specified as "10 feb 2008", or "2008-02-10". month can be specified as "feb08", "feb 08", or "feb 2008".
  • budgetId OR budgetName
  • contactId OR contactName
  • groupId OR groupName
or any combination of the above parameters.

Each call to this method returns at most 25 transactions matching the specified criteria. If there are more that 25 results, you can specify increasing values of the page parameter to page through the results.

Your most recent 25 transactions
https://www.buxfer.com/api/transactions
Previous 25 transactions
https://www.buxfer.com/api/transactions?page=2
Transactions for account 'Amex'
https://www.buxfer.com/api/transactions?accountName=Amex
Transactions for account id f32ade4
https://www.buxfer.com/api/transactions?accountId=f32ade4
Transactions for tag 'Grocery' for January 2008
https://www.buxfer.com/api/transactions?tagName=Grocery&month=jan08
See sample output

 

reports

The parameters applicable to the transactions command are also applicable to this command.

Report data for account 'Amex' for January 2008
https://www.buxfer.com/api/reports?accountName=Amex&month=jan08
See sample output

 

accounts
List of all your accounts
https://www.buxfer.com/api/accounts
List of all your accounts (JSON)
https://www.buxfer.com/api/accounts
See sample output

 

loans
List of all your loans with friends
https://www.buxfer.com/api/loans
See sample output

 

tags
List of all your tags
https://www.buxfer.com/api/tags
See sample output

 

budgets
List of all your budgets
https://www.buxfer.com/api/budgets
See sample output

 

reminders
List of all your bill reminders
https://www.buxfer.com/api/reminders
See sample output

 

groups
List of all your groups
https://www.buxfer.com/api/groups
See sample output

 

contacts
List of all your contacts
https://www.buxfer.com/api/contacts
See sample output

 

You can get started with some sample code in some of the popular languages listed below.

Each sample program

  • logs in and retrieves the login token,
  • downloads the list of your budgets,
  • and prints the name, spending limit and available balance for the budget for the current period.

Samples

Financial information is sensitive and so special care must be taken to make sure it is not inadvertently leaked in any way due to the use of Buxfer's API.
Buxfer's responsibility
We take the following steps to make sure your data stays secure and private:
  • Requiring login tokens for API requests: In order to foil Cross site request forgery attacks (which all HTTP-Basic-auth based APIs are vulnerable to), we require all API requests to be accompanied with unique, ephemeral tokens which are impossible to forge.
  • Never store any sensitive data: We do not store your banking credentials, real-life names, phone numbers, addresses or anything that will even remotely identify you. The only thing we store is "description, date and amount" for your transactions.
  • 128-bit SSL: We use industry standard security channels so your data never gets exposed over the wire.
API client's responsibility
API clients must manage Buxfer passwords carefully, and must NOT store them in plain-text or in easily retrievable ways. Although Buxfer's API is RESTful and no state is maintained on the server, it is always recommended not to inadvertently expose any transaction information to external parties.