Day workflow history

I want to retrieve all the output data from every node in my n8n workflow in bulk.

When I check my plan, I see that I have access to “day workflow history.” How can I do this? Could you please help me?

Hey @Xhmza, while you wait for a response, here are some things that might help:

Suggested resources

Automatically matched to your question.

Docs:

Forum:

@Wouter_Nigrini, @toobulkeh - you’ve helped with similar issues before, can you take a look?

Automatically suggested by n8n’s community bot. It’s a pilot - please share feedback here.

Hi @Xhmza

You can actually build an n8n workflow to export the data of another workflow.

  1. Generate an API Key: Go to Settings > Public API and create an API key.
  2. List Executions: Use the GET /executions endpoint to retrieve a list of all execution IDs for your specific workflow.
    • Endpoint: https://<your-instance>/api/v1/executions
    • Query Params: workflowId=YOUR_WORKFLOW_ID
  3. Fetch Execution Details: Loop through the returned IDs and call the detail endpoint for each.
    • Endpoint: https://<your-instance>/api/v1/executions/{id}
  4. Extract Node Data: The response contains a data object. Inside data.resultData.runData, you will find a JSON object where keys are the node names and values contain the data (output) for every node in that specific execution.

Example API Request (curl):

curl -X GET "https://<your-instance>/api/v1/executions/123" \
     -H "X-N8N-API-KEY: YOUR_API_KEY"

@Xhmza

You can try this workflow

Setup Steps

  1. Import: In n8n, go to Workflows → Import from File/URL, paste this JSON.

  2. Create the credential: Add a Header Auth credential named n8n API Key with header name X-N8N-API-KEY and your API key as the value; attach it to the HTTP Request node (replace REPLACE_WITH_CREDENTIAL_ID) .

  3. Edit Config node: Set n8nHost to your instance URL and targetWorkflowId to the workflow you want execution data for. Leave targetWorkflowId blank to pull executions from all workflows .

  4. Run manually: The HTTP Request node’s built-in pagination will keep calling ?cursor=<nextCursor> automatically until n8n returns an empty page, which is the officially supported cursor-based pagination pattern .

Hi @Xhmza
Workflow history and execution data are two separate features. Workflow history stores previous versions of the workflow itself, its nodes and their parameters, so the 24 hours on your plan holds no node output at all. Node output lives in the executions, which prune on their own schedule.
When you pull them in bulk, pass ignoreDataSizeLimit=true next to includeData=true, otherwise any execution above the display size limit comes back without its data and you lose those runs silently:

GET /api/v1/executions?workflowId=<your-workflow-id>&includeData=true&ignoreDataSizeLimit=true