DocsKeyword data sources

Keyword data sources

The three stacking tiers for keyword data - what each costs, what it unlocks, and how to switch later.

On this page

DispatchSEO never has just one keyword data source. It has three, and they stack: everyone starts on the free floor, and you add a key only when you want a sharper signal than the free tier gives you.

The honest framing

Free mode finds keywords you can win. Paid mode also knows which ones are worth winning. Neither is wrong - it depends whether you'd rather spend time or money finding out.

The three tiers

| Tier | Costs | You get | | --- | --- | --- | | Search Console only (default) | $0 | Rankings from GSC, keyword ideas from Google Autocomplete plus your own impression data | | + SerpApi key | $0 (250 searches/month) | Live SERP checks: real positions weekly, page-1 recon before writing | | + DataForSEO | pay per call, prepaid | Search volume, keyword difficulty, domain rating |

Search Console only

This is where every project starts, and it's a real, working mode - not a crippled trial. Your agent mines keywords two ways: Google Autocomplete (free, no key, works everywhere) and your own Search Console impressions (queries Google already shows your pages for, which is the single best signal that a keyword is reachable).

What you don't get here is a number. No search volume, no difficulty score - your agent judges a keyword by what it can see in the actual results, not by a database estimate. That's a real limitation for prioritizing between fifty candidates, but it's not a limitation for finding good ones.

Nothing to set up. This is simply what happens with no keys connected. See Google Search Console for how the GSC connection itself works.

+ a free SerpApi key

One optional upgrade while staying at $0: a SerpApi key gives your agent a live look at the actual Google results page before it writes anything. If page 1 is thin forum posts and old listicles, the keyword is winnable. If it's five major brands and a review site, skip it. That's a judgment call no autocomplete list can make for you.

The free tier is 250 searches a month, no credit card. It also unlocks real weekly rank tracking through a live SERP check, instead of relying on Search Console's impression-weighted average position (which is real data, but lagged and not a true rank).

Add the key any time in Settings, or during the wizard's keyword-data step - see Step 3 of the setup wizard.

+ DataForSEO

The paid tier, and the only one with real numbers: monthly search volume, keyword difficulty (KD), CPC, and domain rating for your own site. This is what lets your agent rank fifty keyword candidates by how much traffic they're actually worth and how hard they'll actually be to win, instead of reasoning from the SERP alone.

A typical site tracking around 30 keywords spends about $2-5/month. New DataForSEO accounts start with free trial credit, no card required.

Each project bills itself

Free-tier DIY means exactly that: every project brings its own DataForSEO account, and every call bills that project's own balance - credsForProject() in src/lib/dataforseo.ts is the one place this is resolved. Only the default project (the instance's first site) falls back to the DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD environment variables, if they're set. Every other project needs its own connected account or its own env fallback doesn't apply. A project with no DataForSEO connected gets null creds and every paid feature (rank checks, keyword ideas, domain rating) skips gracefully - never an error, never a broken cron. You'll see this reflected honestly on the dashboard: paid numbers simply aren't there until a key is connected.

Getting the API password (the part that trips people up)

DataForSEO's login is your account email, but the password is not your dashboard login password - it's a separate API password DataForSEO generates for you.

Create an account

Sign up at app.dataforseo.com. New accounts start with free trial credit, no card needed.

Open the API Access page

Go to app.dataforseo.com/api-access and copy the password shown there. This is generated specifically for API calls - it is not the password you use to log into the DataForSEO dashboard, and using the wrong one is the single most common reason a connection fails its first check.

If the password field looks blank

DataForSEO hides it about 24 hours after signup. Click Send by e-mail on the same page and it lands in your inbox.

Paste both into DispatchSEO

Login (your account email) and API password go into the wizard's keyword-data step, or Settings later. Both are checked live against DataForSEO before saving, so a green check means tonight's rank check will actually work.

Because the API password isn't your dashboard login, it can't be used to sign into or take over your DataForSEO account - it only makes API calls against your own prepaid balance, and you can regenerate it any time to cut DispatchSEO off.

Watching what it costs

Once DataForSEO is connected, the get_dataforseo_usage MCP tool (and the matching dashboard view) answers three questions:

  • Who's billed - your own connected account, the platform's bundled plan (cloud only), or nobody (nothing connected).
  • This month's spend, when billed to the platform - month-to-date against the plan's monthly budget.
  • Today's check_serp count, against its daily cap (see below).

On a self-hosted project running its own DataForSEO account, usage isn't metered here at all - it's your account, your balance, check it directly at app.dataforseo.com.

If a cloud project's projected month-end spend starts closing in on its plan's budget, a pacing governor thins the rank-check cadence automatically (normal, then slowed, then weekly-only) so tracking degrades gracefully instead of stopping mid-month the moment the budget is hit.

The cloud version: bundled, capped, not metered

On the hosted product at dispatchseo.com, DataForSEO isn't something you connect - it's bundled into the subscription (DATAFORSEO_PLATFORM_LOGIN / DATAFORSEO_PLATFORM_PASSWORD server-side, never written into your repo, never returned to a client). You get real search volume and difficulty without ever touching an API password.

The trade-off is a rate cap, not a spend cap: check_serp (the live, interactive "show me page 1 right now" tool) is capped at 30 calls a day per project on the shared plan. That's deliberate - a live SERP lookup is cheap and meant for interactive research, and the real spend guard is the monthly budget above, not this cap. Anything worth tracking on an ongoing basis goes through track_keywords instead, which the daily rank cron checks for you at no extra cost against the cap.

Connecting your own DataForSEO account on a cloud project is also possible, and once connected it's billed and metered exactly like self-host - your own account, your own balance, no platform cap.

Changing your source later

The keyword source is a per-project setting, switchable any time in Settings - it isn't a one-way decision made during onboarding. See Step 3 of the setup wizard for what the wizard itself asks, and the wizard always verifies new credentials against the real service before saving them.

Next