Export Event Costs to Excel or a BI Tool

/v1/financials/event_costs returns one record per cost line: booth, booth services, travel, shipments, sponsorships, registrations, giveaways, activities and miscellaneous expenses, each with its event, cost type, amount, cost-center split and payment details. Save it as a CSV file and open it in Excel, load it into Power BI or import it into Google Sheets.

Choose the events

filter_by_event_start_date_category=2026 returns the costs of events that start in 2026. Use upcoming or past instead of a year, the event date filters for a custom range, or filter_by_event_id for one event. Amounts are in your workspace's currency.

Excel: PowerShell

This saves the 2026 cost lines as event-costs-2026.csv, one row per cost line:
$headers = @{ 'api_key' = 'YOUR_API_KEY' }
$response = Invoke-RestMethod -Uri 'https://api.exhibitday.com/v1/financials/event_costs?filter_by_event_start_date_category=2026' -Headers $headers
$response.list_data | Select-Object @{ n = 'event_id'; e = { $_.event.id } }, @{ n = 'event_name'; e = { $_.event.name } }, @{ n = 'event_start_date'; e = { $_.event.start_date } }, cost_type, cost_subtype, details, amount, @{ n = 'payment_status'; e = { $_.payment_status.name } }, payment_due_date | Export-Csv -Path 'event-costs-2026.csv' -NoTypeInformation -Encoding UTF8
"Saved $($response.records_found) cost lines"

Any system: Python

import csv
import requests

response = requests.get(
    "https://api.exhibitday.com/v1/financials/event_costs",
    headers={"api_key": "YOUR_API_KEY"},
    params={"filter_by_event_start_date_category": "2026"},
)
costs = response.json()["list_data"]
with open("event-costs-2026.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.writer(f)
    writer.writerow(["event_id", "event_name", "event_start_date", "cost_type", "cost_subtype", "details", "amount", "payment_status", "payment_due_date"])
    for c in costs:
        writer.writerow([c["event"]["id"], c["event"]["name"], c["event"]["start_date"], c["cost_type"], c["cost_subtype"],
                         c["details"], c["amount"], (c["payment_status"] or {}).get("name", ""), c["payment_due_date"]])
print("Saved", len(costs), "cost lines")

Power BI

In Power BI Desktop choose Get Data > Web > Advanced. Enter the URL above (with the filter you want) and add an HTTP request header named api_key with your key. Then expand list_data and the event column.

Large workspaces

With thousands of cost lines, read them in pages with $limit and $offset (see Sync Events and Tasks to Another System). Annual expenses that are not tied to an event (planned and actual amounts per budget year) come from /v1/financials/misc_annual_expense_costs?budget_year=2026.