Skip to content

Recent Searches & Cache

Fresh

SEO Utils remembers every DataForSEO search you run across Keyword Explorer, Traffic Analytics, Backlink Analytics, Content Gap, and Backlink Gap. You can re-open past searches in one click, see how fresh the data is, and refresh it when you need the latest numbers - all without paying extra API credits for data you've already pulled.

TIP

Every search is stored locally in your SQLite database, so your history survives app restarts, machine reboots, and navigation away to other tools. No data leaves your machine unless you've also configured S3 Cache for DataForSEO Data.

Recent Searches List

Under every DataForSEO tool's search bar, you'll see a "Recent searches" card listing your past searches for that tool.

Figure: Recent searches list below the Backlink Analytics search bar

Each row shows:

  • Target: the domain, URL, or keyword you searched
  • Context badges: for Content Gap and Backlink Gap, the number of competitors; for Keyword Explorer, the search engine (Google or Bing)
  • Last accessed: when you last opened this search

Click any row to re-open it instantly - no API call is made if the data is still cached.

Managing History

ActionHow to do it
Open a past searchClick the row
Delete one entryHover over the row and click the X that appears on the right
Clear all entries for this toolClick the ⋯ menu in the card header → Clear all
Show more entriesClick "Show N more" at the bottom (up to 25 rows)

INFO

Only your 100 most recent searches per tool are kept. Older entries are automatically pruned. Deleting a history row does not delete the underlying cached data - re-typing the same search will still hit the cache.

Freshness Widget

While viewing any DataForSEO result page, a small widget anchors to the bottom-right corner showing when the data was last fetched and a Refresh button.

Figure: Freshness widget showing "Data updated 14 hours ago" and a Refresh button

Color Coding

The widget changes color to signal how stale the data is:

AgeColorMeaning
Under 1 dayGreenFresh - recently fetched
1-14 daysDefault (muted)Normal working range
14-30 daysAmberStale - consider refreshing
30+ daysRed (with "Stale · " prefix)Very stale - data is likely outdated

Collapsing the Widget

Click the chevron (›) to collapse the widget into a small clock icon. Click the icon to expand it again. Your preference is remembered across sessions and tools.

Figure: Collapsed widget shown as a small clock icon in the bottom-right corner

Refresh Button

Clicking Refresh forces a fresh fetch from the DataForSEO API, bypassing all caches (local memory, local database, and your S3 shared tier if configured).

How Refresh Works Across Tabs

Backlink Analytics and Traffic Analytics have multiple tabs for the same target (Overview, Backlinks, Referring Domains, Organic Keywords, etc.). When you click Refresh on any tab:

All tabs' cached data is invalidated

The cache is wiped for every tab of that target - Overview, Backlinks, Referring Domains, Anchor Texts, Competitors, Organic Keywords, etc. If you have the S3 shared cache configured, matching S3 objects are also removed so your teammates see fresh data on their next visit.

Only the current tab re-fetches immediately

To save API credits, only the tab you're currently viewing actively re-fetches.

Other tabs re-fetch lazily on visit

When you switch to another tab (e.g., from Overview to Backlinks), that tab will hit the API because its cache is empty. This avoids spending credits on tabs you don't actually open.

WARNING

Refreshing a paginated result resets pagination to page 1 and refetches only page 1. Other pages are re-fetched individually when you navigate to them.

Settings

Go to Settings > Services and scroll to the DataForSEO Local Cache section.

Figure: DataForSEO Local Cache settings card with stats and Clear button

The card shows:

  • Cached responses - how many API responses are stored locally
  • Search history entries - how many distinct past searches are in your history list
  • Storage used - approximate disk footprint

Auto-invalidate Cache After X Days

Set how long cached DataForSEO responses are kept in your local database before they are removed and refetched from the API on the next request. The default is 14 days.

ValueBehavior
Any positive number (e.g. 7, 14, 30)Cached responses older than this many days are removed automatically. Cleanup runs hourly while the app is open and once at startup.
0Auto-cleanup is disabled. Cached responses are kept indefinitely until you click Clear Cache & History below.

INFO

Only the cached responses are removed - your "Recent searches" list is preserved. Clicking a history entry whose cache has expired triggers a fresh API request and rebuilds the cache automatically.

WARNING

This setting only affects your local database. The shared S3 cache (if configured) is governed by its own 7-day rolling cleanup and is unaffected.

Clear Cache & History

The Clear Cache & History button removes every cached response and every search history entry from your local database at once. Use it if you want a completely clean slate - the next time you use any DataForSEO tool, data will be fetched fresh from the API.

DANGER

This action cannot be undone. Any future searches that would have hit the cache will consume API credits instead.

Relationship with S3 Cache

If you've set up S3 Cache for DataForSEO Data, it works alongside the local cache as a third tier:

TierStorageWho sees it
MemoryRAM (24h)You only, this session
Local DBYour SQLite file (14-day TTL by default, configurable)You only, persists across restarts
S3 (optional)Your configured S3 bucket (7-day TTL)You + teammates with the same credentials

When a tool needs data, SEO Utils checks the tiers in order and falls through to the DataForSEO API only if all tiers miss.

INFO

Clear Cache & History in this card only affects your local tiers. To clear the shared S3 cache, use Purge Cache in the S3 Cache Settings card instead.

Tips

  • Let the widget guide your refresh habits. If it's green, your data is fresh; if it's amber or red, consider refreshing before drawing conclusions.
  • Collapse the widget if you prefer more screen space - the clock icon still shows the age via tooltip on hover.
  • Use history instead of re-typing a domain. Clicking a history row reloads instantly and won't burn API credits on cached pages.
  • Tune the auto-invalidate setting to match how often you need fresh data. Lower it (e.g., 3-7 days) if you track fast-moving competitors, or raise it (e.g., 30 days) if you mostly review historical reports and want to minimize API usage.
  • For team workflows, pair this with S3 Cache for DataForSEO Data so your teammates also benefit from your API calls.

SEO Utils Documentation