RankWin

Keyword Data APIs: Choose Evidence You Can Use and Audit

Keyword Data APIs: Choose Evidence You Can Use and Audit

Choose a keyword data API by its evidence, preserve market and source details, handle missing values, and turn research into a useful content plan.

RankWin Team

TL;DR

  • Choose a keyword API by the question it answers: demand, observed rankings, live results or your own search performance.
  • Store the country, language, collection time and source alongside every number. A missing value is not zero.
  • Treat competitor keywords as research candidates. Group related intent into useful pages before deciding what to publish.
  • Test pagination, duplicate records, stale results and partial failures before trusting a dashboard or automating a content plan.

Start with the decision, then choose the endpoint

A keyword data API supplies observations that help you make an editorial decision. The first decision is usually narrower than “find every keyword.” You might need to discover how people describe a problem, compare demand in two markets, examine the pages appearing for a query, or understand which searches already reach your website. These are different jobs, and a single volume field cannot answer all of them.

Write the intended output before choosing a provider. For example: “Find useful questions about scheduling newsletters for a small software company, group questions with the same answer, and identify gaps in our existing documentation.” That brief gives you a way to reject irrelevant high-volume terms. A dictionary definition of “schedule,” another company's login page and a developer's email-scheduling problem should not enter the same article queue.

The API is an input to that review. It does not determine whether your product solves the problem, whether a topic needs an interactive tool, or whether an existing page already answers it.

Four kinds of keyword evidence

EvidenceUseful questionLimit to keep visible
Search-demand estimatesIs a topic worth investigating in this market?Estimated searches are not visits your page will receive
Competitor ranking observationsWhich queries and URLs deserve a closer look?A provider's dataset is not a complete search history
Results for a chosen searchWhat kind of answer appears for this query?Location, timing and result features affect the observation
Your site's search performanceWhich pages and queries are gaining visibility?Reporting limits and omitted queries affect the available rows

DataForSEO Labs provides keyword and competitor research endpoints, including ranked keywords and page comparisons. Use the endpoint that matches the evidence you need rather than assuming all of its datasets describe the same thing. Check the documentation for the exact fields and supported markets.

For your own site, Search Console's performance report answers a different question: how your pages performed in Google Search. Keep that observed performance separate from a third-party estimate of a competitor's traffic.

Design a record that survives a second provider

A spreadsheet with only keyword, volume and difficulty is easy to read but hard to audit. When the numbers change, you cannot tell whether demand moved, the market changed or a different metric was imported.

Use an internal record with explicit provenance. The following is an illustrative data shape, not a response copied from any vendor:

{
  "keyword": "schedule newsletter email",
  "market": "United States",
  "language": "English",
  "observedAt": "2026-09-13T12:00:00Z",
  "provider": "example-provider",
  "dataset": "keyword-demand",
  "monthlySearches": null,
  "organicDifficulty": null,
  "advertisingCompetition": 0.42,
  "sourceUrl": null,
  "reviewStatus": "unreviewed"
}

The distinction between advertising competition and organic difficulty matters. DataForSEO's ranked-keyword documentation describes its competition field as based on Google Ads data. Renaming such a field “SEO difficulty” would change its meaning. Preserve the provider's definition and maintain a separate organic-difficulty field only when the source actually supplies one.

Use null for unavailable observations. A real measured zero, an unsupported market and a failed request need different states. Otherwise, a sorting rule may promote an unknown keyword as an unusually easy opportunity.

Plan pagination and limits before the first import

Record the requested scope and the scope you actually received. If you ask for a thousand rows from a larger result set, label the file a thousand-row sample. Do not label it “all keywords” because the request succeeded.

For endpoints that support pagination, checkpoint the next position after saving each response. Keep the raw response in a restricted research archive and a normalized file for analysis. Deduplicate exact observations without erasing differences in country, language, date or ranking URL. The same phrase can legitimately appear in several markets or point to different pages.

Use a bounded retrieval budget. Before expanding a domain-wide sample, inspect whether the first results contain useful topics. A competitor may rank for a large collection of free utilities that your product does not offer. Fetching more of those rows can consume the budget without improving your content plan.

Turn a keyword list into a page plan

Review the intent of each cluster and give it a disposition:

  1. Covered: an existing page contains a substantive answer, with a relevant section you can identify.
  2. Expand: the right page exists, but a useful question needs a new example, explanation or step.
  3. Create: the task is distinct and deserves its own page.
  4. Different resource: the search asks for a calculator, template download, product interface or integration.
  5. Do not target: the phrase is irrelevant, purely navigational or outside what you can credibly explain.

For example, “newsletter schedule,” “when to send a product newsletter” and “newsletter publishing calendar” may share a planning guide. “Schedule an email with a Node.js API” requires implementation details and belongs elsewhere. Similar words do not prove the same intent.

Our keyword research tool comparison helps separate research tasks, while a content hub gives related articles a navigable structure.

Test the import with awkward cases

Create a small fixture containing a duplicate phrase, a missing volume, two countries, an empty result page, an expired timestamp and a failed page after a successful page. Check that your system resumes without dropping or duplicating completed work.

Then test the interface: can a reviewer see the market, source and uncertainty without opening raw JSON? Can they distinguish “no data” from “no demand”? Does a total count represent the visible filtered set? These details determine whether an API integration supports a real decision or merely produces a large table.

Keep publication separate from collection. A successful API response should create research candidates, not automatically publish hundreds of articles. Approve the page's purpose, evidence, examples and relationship to existing content first.

Questions teams ask before choosing a keyword API

Can an API show every keyword a competitor ranks for?

It can show the observations available in its dataset and requested scope. Coverage, result limits and collection timing still apply. State those limits in the export.

Should I choose the keyword with the largest search volume?

Use volume to prioritize investigation alongside product relevance and intent. A smaller, specific task can be more useful to your audience than a large unrelated query.

Can Search Console replace competitor research?

It reports on your property, not a competitor's complete keyword set. Google also documents anonymized queries and row limitations, so even your own visible query table is not an exhaustive list of every search.

How do I know the integration is working?

Trace a sample record from its original response to its displayed value and editorial decision. Verify pagination and failure recovery as well as the happy path. Accurate handling of uncertainty is part of a working integration.