Manage SERP Data
This tool allows you to seamlessly transfer SERP data from one device to another

SERP Data Exporter / Importer
You can export your SERP data from one computer and easily import it onto another, making it convenient to work across multiple devices. This helps reduce costs for SERP Clustering, N.A.P Finder, and Organic Rank Tracker.
Additionally, SEO Utils supports importing external SERP data, making it an ideal solution when migrating your SERP data from other tools.
In the screenshot below, I uploaded over 18,000 keywords to the SERP Clustering tool and used SERP data from the past 7 days. The cost came to just $0.0390, saving me $11.2470! SEO Utils only sent 65 keywords to the SERP API for new data, as most of the keywords already had recent SERP data within 7 days.

Delete Old SERP Data
By default, SEO Utils stores all your SERP data in a database indefinitely. However, as your database grows over years of running SERP Clustering, you may notice slower performance.
To address this, you can view your SERP database size and set a data retention period. Any SERP data older than this period will be automatically deleted at startup, helping the app run reportsβlike SERP Clustering and Organic Rank Trackerβmore efficiently.

In the example above, I've set the retention period to 90 days (3 months), so SEO Utils will only keep SERP data from the past 90 days on my computer. You can adjust this to any timeframe you like, such as 365 days for one year, or set it to 0 to store data indefinitely.
DataForSEO SERP Data Getter
Available since v1.38.3
This feature allows you to directly import SERP data from DataForSEO by entering task IDs. This is useful when you have existing DataForSEO tasks and want to save their SERP data to your local database for use in SERP Clustering, Organic Rank Tracker, and other tools.

Where to find your task IDs
Your task IDs are listed in your DataForSEO account under API Dashboard β SERP. Each row is a task you have already paid for, with its ID, keyword and creation date. Copy the IDs you want and paste them into SEO Utils, one per line.
DataForSEO keeps completed results for roughly 30 days. After that the ID can no longer be fetched, so import anything you still need before the window closes.
How to use:
Enter your DataForSEO task IDs (one per line) in the text area
Select the search engine type (Organic, or AI Mode)
Click "Fetch SERP Data"
The tool will automatically:
Fetch the SERP data from DataForSEO using the task IDs
Extract all necessary metadata (keyword, location, language, device type, etc)
Save the data to your local database
This is particularly helpful when:
You've run SERP tasks through DataForSEO's API directly
You want to import historical SERP data from DataForSEO
You're migrating data from another system that uses DataForSEO
Restoring missing days in an Organic Rank Tracker report
By default, this tool saves results into the shared SERP cache only. Turn on "Also backfill Organic Rank Tracker reports" and it can also put those results back into the report and the day they belong to.
This is for the situation where a tracker run was interrupted β the app closed mid-run, the computer restarted, a run failed part-way β and a day is missing from your report even though you already paid DataForSEO for those results. Instead of re-running the keywords and paying a second time, you paste the task IDs and put the results you already own back where they belong.

Tracker backfill works with Organic results only. AI Mode results are still saved to the shared cache as before.
How it works
Wait while the tool checks each task
Results are fetched one at a time, so a long list takes a while. The screen shows how many tasks are done and an estimated time remaining, calculated from how fast your own tasks are actually coming back.
You can leave this page, or close the app entirely. The job continues where it stopped when you come back.

Exact and suggested matches
The tool separates what it can prove from what it can only guess, and never applies a guess on its own.
Exact
The task ID matches a task this app created, so the report and the original day are both known.
Nothing. These are safe to select and are the ones "Select all exact" picks.
Suggested
The keyword, location, language, device and other search settings fit a report, but nothing proves the result came from it or which day it belonged to.
Check the destination date, then confirm you understand it is an estimate.
A suggested match uses DataForSEO's fetch time as the destination date. That is when the result was collected, which is not always the day your tracker was scheduled to run. Set the date yourself if you know better.
The import preview
Each keyword shows a small card so you can judge a match before importing it, rather than importing first and checking afterwards.
#3 (or similar)
Your tracked domain's best position in this result
Not ranked
The result is valid, but your domain isn't in it
Page title and link
The exact page that ranked
Organic results / Other SERP items
How much the fetched result contains
The card shows your domain's best organic position. The full result is imported, including other rankings and supported SERP features.
If you change a report's target domain or its Include subdomains setting after the analysis, the import stops and asks you to analyze the task IDs again. The preview you approved was read under the old settings, so it no longer describes what would be saved.
Tasks with no matching report
Task IDs that don't fit any tracker keyword can still be imported as ordinary SERP data, using DataForSEO's proven fetch date. This is on by default and changes no tracker positions. A task is only skipped entirely when DataForSEO returns no fetch date and no original task can be found, in which case there is no date that can be trusted.
Confirmations you may be asked for
Each checkbox covers a different decision, so you're only asked for the ones that apply.
Suggested dates are estimates
You selected at least one suggested group
Replacing tracker data
A selected destination already holds data for that date, or you changed a suggested date
Replacing shared cache data
An unmatched task already has data for its fetch date
If the analysis or import reports errors
The screen lists up to 100 details under "Review details". Common causes:
A task ID DataForSEO no longer has. Results are kept for roughly 30 days, after which the ID can't be fetched.
A task ID that isn't ready yet. The result hasn't finished on DataForSEO's side; try it again later.
A report changed after the analysis. If the keyword, target domain or search settings changed, run the analysis again so the plan matches the report as it is now.
A report is currently running. A backfill won't compete with a live run for the same report and day. Wait for the run to finish, then analyze the task IDs again.
Results that imported successfully are always kept. Re-running the same task IDs never imports the same result twice β anything already imported is reported as "already imported" and skipped.
Interrupted work is picked up automatically. If the app closes during an analysis or an import, it resumes at the point it reached the next time you open SEO Utils.
Last updated
