The FreshBooks API allows 3rd party developers to expand and build on the FreshBooks platform.

The FreshBooks API is an interface for accessing your FreshBooks account data using HTTP and XML. The API makes it easy to create web and desktop applications that integrate with your account.

Some potential application ideas:

Service URL

The FreshBooks API has a single point of entry, derived from your account URL:

https://sample.freshbooks.com/api/2.1/xml-in

Please note the use of https:// in the URL above. All FreshBooks API communication is encrypted over HTTPS. Any non-secure requests are automatically rejected, so we recommend establishing a test connection with the secure API entry point before sending sensitive data.

Request Limits

By default, all accounts have a request limit of 5000 API requests per day. Additionally, a maximum of 100 results will be returned for list methods, regardless of the value sent with the per_page parameter.

Representation Formats

All FreshBooks API requests are composed of light-weight XML delivered as an HTTP POST request to the endpoint URL.

  • All XML should be UTF-8 encoded.
  • Date and time values are of the form YYYY-MM-DD HH:MM:SS.
  • Booleans are either 1 (true) or 0 (false).
  • Fields denoting percentages are passed as whole values, not decimals (e.g. 5 for five percent).

Sample request

  

All responses are wrapped in a top-level response element. The status attribute will let you know whether the request succeeded or failed.

Successful response

...

Unsuccessful response


In the case of a failure response, the response body will contain one or more error messages.

Search