Exporting Data via AppleScript

Simply copy the following script(s) into a new "Script Editor" document and press run.
After pasting them, consider saving the scripts to disk for future re-use. You could even save them to iCloud Drive (or e.g. Dropbox or Google Drive) to have them available on all your Macs.
Feel free to customize them for your use cases; if you need details on how a particular method works, please refer to our AppleScript reference.

Note: We do not take responsibility for any data loss incurred by running these scripts.
Make sure to back up your data (e.g. by copying the directories mentioned here to a different location) before running these scripts.

Table of Contents

Getting a Summary of Today's Activities

-- Copyright (c) 2025 Timing Software GmbH. All rights reserved.
-- This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us.
tell application "TimingHelper"
	if not advanced scripting support available then
		error "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade."
	end if
end tell
tell application "TimingHelper"
	set usageData to get time summary between (current date) and (current date)
	get properties of usageData  -- have a look at the results of this statement to see what you can do with it
	delete usageData  -- this is required to avoid accumulating old summaries (and thus leaking memory)
end tell

Generating a Report and exporting it

-- Copyright (c) 2025 Timing Software GmbH. All rights reserved.
-- This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us.
tell application "TimingHelper"
	if not advanced scripting support available then
		error "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade."
	end if
end tell
set datevar to current date
set hours of datevar to 7
set minutes of datevar to 0
set seconds of datevar to 0

tell application "TimingHelper"
	set reportSettings to make report settings
	set exportSettings to make export settings
	
	get properties of reportSettings
	
	tell reportSettings
		set first grouping mode to by month
		set second grouping mode to by project
		
		set time entries included to true
		set time entry title included to true
		set also group by time entry title to true
		set time entry timespan included to true
		set time entry notes included to true
		
		set app usage included to true
		set application info included to true
		set timespan info included to true
		
		set also group by application to true
	end tell
	
	tell exportSettings
		set file format to HTML
		
		set duration format to seconds
		
		set short entries included to true
	end tell
	
	save report with report settings reportSettings export settings exportSettings between datevar and datevar to "/Users/daniel/Desktop/export.html" for projects (projects whose name is "ProjextXYZ")
	
	-- these commands are required to avoid accumulating old settings (and thus leaking memory)
	delete reportSettings
	delete exportSettings
end tell

Saving a Summary of Today's Activities as JSON to the Desktop using JavaScript for Automation (JXA)

Simply copy one of the following script into a new "Script Editor" document, select "JavaScript" as the script's language, and press run (see this article for more detailed instructions).
After pasting them, consider saving the scripts to disk for future re-use. You could even save them to iCloud Drive (or e.g. Dropbox or Google Drive) to have them available on all your Macs.
Feel free to customize the scripts for your use cases; if you need details on how a particular method works, please refer to our AppleScript reference.

Note: We do not take responsibility for any data loss incurred by running these scripts.
Make sure to back up your data (e.g. by copying the directories mentioned here to a different location) before running these scripts.

// Copyright (c) 2025 Timing Software GmbH. All rights reserved.
// This script is licensed only to extend the functionality of Timing. Redistribution and any other uses are not allowed without prior permission from us.
var helper = Application("TimingHelper");
if (!helper.advancedScriptingSupportAvailable()) { throw "This script requires a Timing Connect subscription. Please contact support via https://timingapp.com/contact to upgrade."; }
var app = Application.currentApplication();
app.includeStandardAdditions = true;
var endDate = new Date();
var startDate = new Date(endDate);
var timeSummary = helper.getTimeSummary({ between: startDate, and: endDate }).properties.get();
var str = $(JSON.stringify(timeSummary));
str.writeToFileAtomicallyEncodingError($("~/Desktop/timeSummary.json").stringByStandardizingPath, true, $.NSUTF8StringEncoding, $());

Take our free 5-day course to get started with Timing.