How to get today's IBKR trades in realtime with a Trade Confirmation query

4 min read · Updated 8 September 2026

You traded this morning, you synced, and nothing showed up. This is the single most common surprise with IBKR data, and it is not a bug — it is how the activity statement works. Here is why, and the second query that fixes it.

Why today's trades are missing

An Activity Flex Query reports up to the previous business day. IBKR finalises a trading day's activity after the market closes — reconciling fills, commissions, and corporate actions — and only then does that day appear in the activity statement. Until that happens, today is simply not in the report, and refreshing more often will not change it.

That is the right behaviour for a statement whose job is to be authoritative. It is the wrong behaviour for a journal you want to write in the same afternoon you traded.

The Trade Confirmation Flex Query

IBKR offers a second query type that reports trades as they execute rather than after the day is finalised. It carries less than the activity statement — it is about fills, not full account state — but it carries them immediately.

  1. 1

    Go to Performance & Reports → Flex Queries

    The same place you created your Activity query.

  2. 2

    Create a Trade Confirmation Flex Query

    Set the Delivery Format to XML, as with any query you intend to retrieve over Flex Web Service.

  3. 3

    Copy its Query ID

    This is a different ID from your Activity query. You will need both.

  4. 4

    Paste it into the Trade Confirmation field

    In PaprBoard, that is Upload Data → Flex Web Query → Trade Confirmation Query ID, alongside your token and Activity Query ID.

Why you want both queries, not one

The two queries do different jobs and neither replaces the other. The Activity query remains the source of truth for your history, positions, and P&L. The Trade Confirmation query adds only the part the activity statement cannot yet know about: what you did today.

The obvious worry is double counting — today's fill arrives from the confirmation query, and then tomorrow the same fill arrives again inside the activity statement. PaprBoard reconciles the two automatically, so a trade that appears in both is recorded once.

Put your statements to work

PaprBoard turns the export you just made into performance, positions, and a trade journal.