Introduction to the Reporting API

The Reporting API is based on standard web technologies, web services and XML. Use the Reporting API to extract from TimeLog into intranets, extranets, business reporting tools, applications etc.

The idea behind the Reporting API is to give access to as much of the TimeLog Project data models as possible in a easy to use XML format. The origin of the API goes way back in the history of TimeLog, so we will extend on it on a per-request basis for new fields and data types. Please get in touch, if you think we lack some information in the various methods.


Be aware that no security policies on user access will be applied to any of the methods in the Reporting API. The Reporting API is for flat data extractions. Take care to apply your own policies if you are exposing the data in a data warehouse or other business intelligence tools.

Getting data

For the complete list of data point available, please refer to the list of methods.

Also take note that we have a quick guide for using PowerBI with TimeLog.

If you need to interact with a dataware house or similar, please have a look at the synchronizing data page.

Usage limits

We continuously monitor API usage and usage patterns to avoid single customers causing heavy load and degraded performance for other customers.

Currently, we do not have hard limits.

We encourage our customers and their partners to use our API responsibly. We will reach out to the employee tagged as "TimeLog Responsible" within the system before taking actions that limits the use of the API.

Working with currencies

Please take note that the currency setup follows the rules below unless it's stated explicitly:

Properties for amounts ending with SystemCurrency System currency
Properties for amounts ending with Currency Project currency (e.g. cost, amount, sales price)
Invoice currency (e.g. amount)
Properties for amounts without explicit definition System currency

Status codes

The reporting will (starting from end May 2021) return specific HTTP status codes related to the result. The result body will remain unchanged and will in many cases provide additional information. Possible status responses:

  • 200 OK - request successful
  • 401 Unauthorized - the Site ID, API ID and API password combination is invalid
  • 500 Internal Server Error - covers both issues with input parameters, but possibly also internal errors

Take note, that a 200 OK may contain empty result indicated by the attribute "resultEmpty".

<?xml version="1.0" encoding="utf-8"?>
    <tlp:Tasks resultEmpty="true" xmlns:tlp="">