Rate Limits & Caching

DataForSEO has two constraints you should understand: concurrent requests and credit balance. Neither maps to the classic "N requests per minute" rate limit you see on most APIs — they're closer to fair-use guardrails.

SEODesktop layers local caching on top of the API so you rarely hit these limits in normal use.


DataForSEO's limits

  • Concurrent tasks per account: up to 2,000. Batches in SEODesktop auto-pipeline well under this.
  • Payload size: up to 2,000 items per task-post request.
  • Result history: standard endpoints keep results on the DataForSEO side for 7 days. live endpoints return results immediately.
  • Hard rate limit: none published, but excessive burst traffic (thousands of live calls in a few seconds) may be throttled at the network level. SEODesktop's batch scheduler spaces requests automatically.

How SEODesktop caches

Every response from DataForSEO is stored in a local SQLite cache, keyed by the full request parameters. Running the same query twice within the cache TTL returns the cached response without hitting the API.

Default TTLs:

Endpoint classCache TTL
Live SERP15 minutes
Standard SERP24 hours
Keyword volume24 hours
Keyword ideas6 hours
Backlinks6 hours
On-page audits1 hour
AI analyses1 hour

TTLs can be adjusted in Settings → Cache. Lower values = more API spend but fresher data; higher values = cheaper but staler.


Seeing cache hits

When a result comes from cache, the result header shows a small Cached badge with the timestamp of the original fetch. Click the badge to force a refresh and hit the API again.


Clearing the cache

  • Settings → Cache → Clear all drops everything.
  • Per-endpoint clearing is available on the same screen.

Clearing the cache doesn't invalidate your exports or saved result files — those are separate.