Batch Operations
Every query view in SEODesktop supports a batch mode. Instead of running one keyword, one domain, or one URL at a time, you paste a list and the app queues all of them with automatic rate limiting and progress tracking.
How it works
- On any query view, switch the input mode from Single to Batch.
- Paste your list — one item per line — or click Import CSV to load from a file.
- Pick your country, language and other options (applied to every item in the batch).
- Click Run batch.
The batch runner:
- Splits the list into optimally-sized DataForSEO requests (up to 1,000 items per task where supported).
- Pipelines up to 10 in-flight requests concurrently.
- Shows per-item status — queued / running / done / failed.
- Resumes automatically if the app is closed and reopened mid-batch (as long as you don't clear the cache).
When the batch completes, every row is available in the results table. Export the whole batch as a single file.
Free vs Pro caps
| Free | Pro | |
|---|---|---|
| Items per batch | 10 | Unlimited |
| Results per item | 50 | Unlimited |
| Concurrent batches | 1 | Up to 3 |
Example: on Free, a "research 10 keywords deeply" batch is fine. On Pro, you can paste a 5,000-keyword list and walk away — it'll finish while you're getting coffee.
See Free vs Pro.
Tips
- Cost preview before you run. The batch dialog shows an estimated DataForSEO cost before you hit Run — based on the per-call price of the selected endpoint × the number of items. Back out if it's higher than expected.
- Deduplicate your list. The runner detects exact duplicates and skips them. Case-insensitive, whitespace-trimmed.
- Use the result cache. If you ran the same query a few hours ago, those items are pulled from the local cache instead of re-fetching — saving you money.
- Export incrementally. You don't have to wait for a batch to finish. The export button will grab whatever is done so far.
Handling failures
Individual failures (timeouts, rate limits, invalid input) show up in a Failed tab with the error reason. Click Retry failed to re-queue just those items without re-running the successful ones.