#337·open-seo

Keep paid research runs server-side so past results can be reopened for free

Author: transportreferCreated Sep 16, 2026Updated Sep 16, 2026

TL;DR

Research runs cost money, but what they returned is gone after the 24 hour cache expires, and for some features the run history only exists in the browser. Keep every paid run and its returned data with the project, so a past run can be opened or compared again without paying DataForSEO twice.

What is happening?

A run's provider response is cached for 24 hours. After that, opening the run again calls DataForSEO and charges again, and it can return different numbers. For Brand Lookup the "Recent searches" list is stored in the browser, so it is empty in another browser or on a fresh profile (see #266). There is no project-level list of what was run, what it cost, and what came back.

What should happen?

Every paid run started from the project UI or the MCP should be saved server-side with its inputs, provider, cost and returned data, and appear in a project history list. Opening an old run shows exactly what the provider returned at the time, with no new provider call. Runs can then be compared over time. A run that fails partway should keep the steps that completed.

Extra context

#266 describes this for Brand Lookup, and #265 is a proof of concept for persisting those runs. #268 covers the related cost-visibility gap. Reopening a saved run should never trigger a provider refresh. We have a working version of this on a self-hosted deployment and can record a short demo if that helps.