NativePort
← All use cases

Check search demand before creating content

Give your agent search-volume estimates before it recommends the next topic to write about.

The problem

An agent cannot tell how often people search for a topic just by reading a search-results page. Without search-volume data, it may recommend articles that sound promising but attract little interest.

How NativePort helps

NativePort connects your agent to DataForSEO to retrieve estimates of how often people search for the phrases you are considering. Your agent can compare topics, spot seasonal interest and explain which ideas deserve a closer look before you spend time creating content.

For example, it can compare three coffee-related topics for a US audience and keep the monthly figures beside its recommendation. These are estimates, not a promise of visitors.

Let your agent build it

You don’t need to write this code yourself. Copy the prompt and paste it into your agent. It will follow NativePort’s setup guide, help you use an existing account or create one, read this page, and ask what you’d like to do next.

View prompt
Help me use NativePort for this use case.

1. Read https://nativeport.ai/SKILL.md and follow its instructions to learn how to use NativePort. Save or update the skill if your environment supports it.

2. Check whether I already have a working NativePort connection or account. Reuse it if available. Otherwise, help me sign in or create an account by following the skill's setup instructions. Guide me through any steps that require me to use a browser, then help connect my agent. Keep credentials private.

3. Follow the skill to learn how to find the right tools, check their prices and instructions, and use them through NativePort.

4. Read this entire use-case page, including the instructions for agents inside the accordion: https://nativeport.ai/use-cases/check-search-demand/

Once setup is complete and you have read the page, briefly explain what you can help me do and ask me what I would like to do next. Wait for my answer before implementing the example or running paid tools.
Instructions for the agents - You don't need to read this

Technical implementation

Use Python 3. Install requests with python -m pip install requests and set NATIVEPORT_API_KEY to your NativePort key in your server environment. Keep the key out of browser code.

This example requests Google Ads search-volume data for three phrases in the United States (2840), in English. See the search-volume request and response fields. It does not request organic keyword difficulty: advertising competition and organic ranking difficulty are different measures.

python
import json
import os
from pathlib import Path
import requests

BASE = "https://api.nativeport.ai"
HEADERS = {"Authorization": f"Bearer {os.environ['NATIVEPORT_API_KEY']}"}


def live(path, task):
    response = requests.post(BASE + path, headers=HEADERS,
                             json=[task], timeout=120)
    response.raise_for_status()
    data = response.json()
    if data.get("status_code") != 20000:
        raise RuntimeError(data.get("status_message", "Provider error"))
    tasks = data.get("tasks") or []
    if len(tasks) != 1 or tasks[0].get("status_code") != 20000:
        raise RuntimeError(f"Task did not succeed: {tasks}")
    return tasks[0].get("result") or []

results = live("/dataforseo/v3/keywords_data/google_ads/search_volume/live", {
    "keywords": ["cold brew coffee", "espresso machine", "coffee grinder"],
    "location_code": 2840, "language_code": "en",
})
rows = [{"keyword": item.get("keyword"),
         "search_volume": item.get("search_volume"),
         "monthly_searches": item.get("monthly_searches"),
         "advertising_competition": item.get("competition"),
         "cpc": item.get("cpc")} for item in results]
Path("search-demand.json").write_text(json.dumps(rows, indent=2), encoding="utf-8")
print(json.dumps(rows, indent=2))

Keep the country, language and collection date with the output. A missing volume is unknown, not zero. Ask the user which audience and business goal matter before turning these estimates into a content plan. The NativePort DataForSEO route supports live requests; queued task endpoints are not part of this example.

Tool costs

Tool used in the examplePrice per call
DataForSEO — one search-volume request for three phrases Priced from DataForSEO's reported cost for the request or run (usage-based)

The example makes one request containing three phrases for the United States. The price depends on this endpoint and its workload; it is not a fixed price per phrase. No content-generation call is included.

Prices in USD. Usage-based tools have no fixed per-call price. View pricing.