---
name: looot-keyword-volume
description: Check keyword volume and CPC. Use when the user says things like "how many people search for crm for startups", "get volume and cost per click for these keywords" or "which of these keywords is worth writing about". Runs through looot, billed per call.
---

# Check keyword volume and CPC

Keyword volume and CPC API for an agent: it sends a list of keywords, a country and a language to a catalog endpoint and reads monthly search volume, cost per click and paid competition back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

This skill needs the looot skill set up first: https://looot.ai/skill.md

## Ask for these inputs

The job takes a list of keywords, a country and a language. Example: project management software, crm for startups.

- The keywords, one or a batch
- The country and language, because volume differs by market

## Run it

1. Find the endpoint: `looot discover --mode auto --query "keyword volume and cpc"`. The endpoints listed below are the known matches.
2. Read the price and the input schema before spending: `looot inspect <endpoint-id>`. Tell the user the price, then run.
3. Run it: `looot run dataforseo-keywords-data-google-ads-search-volume-live-ai --input '{"keywords":["project management software","crm for startups"],"location_name":"United States","language_code":"en"}' --idempotency-key <new-key> --wait`. Reuse the same key only to retry the same request.
4. Read the run's `status` and `error`, not the HTTP status. A run can return `failed` with a normal response.
5. If a run fails with a provider error or times out, try the next endpoint from the list below, cheapest first. If it fails on your input (a 4xx style error), fix the input. Do not retry it on other providers.

## Endpoints

Each endpoint reads the same job from a different provider. They differ in inputs, fields and price. Run `looot inspect` on the ones that take the input you hold, start with the cheapest, and move to the next on a provider error.

- `dataforseo-keywords-data-google-ads-search-volume-live-ai`: returns Google Ads search volume for a list of keywords in a chosen location and language
- `dataforseo-dataforseo-labs-google-keyword-overview-live-ai`: returns cost per click, paid competition, search volume, search intent and monthly searches, for up to 700 keywords
- `dataforseo-dataforseo-labs-google-bulk-keyword-difficulty-live`: scores the difficulty of ranking in the top 10 for up to 1,000 keywords in one request
- `dataforseo-bing-search-volume`: returns search volume for the same keywords on Bing

## What comes back

- Monthly search volume
- Cost per click
- Paid competition
- Search intent
- Keyword difficulty

## Answer rule

Show a table of keyword, monthly volume, CPC and difficulty, sorted by volume. State the country the numbers belong to.

## Before you start

- Pick the location and language first. Volume for the United States and for the United Kingdom differ, and a keyword list without a location returns a number you cannot use.
- Batch the keywords. The overview endpoint takes up to 700 keywords in one call and the difficulty endpoint up to 1,000, so one call beats a loop of single lookups.
- Volume from the ads side is a range of intent, not a traffic forecast. Use it to rank keywords against each other, not to promise visits.

## Cost rules

- Searching and inspecting are free. Running is billed per call at the price `looot inspect` shows.
- Say the price before the first run, and the total after a batch.
- Never loop a failing call. Stop after two failures and report what failed.

## When not to use this skill

Use `looot-domain-keywords` instead when you want the keywords one site already ranks for, not volume for a list you wrote.

Page for people: https://looot.ai/agent-skills/keyword-volume
