AI Keyword Volume Checker - LLM Search Demand
Pricing
from $4.25 / 1,000 ai volume rows
AI Keyword Volume Checker - LLM Search Demand
Look up AI and LLM search volume for a keyword list. One dataset row per keyword with AI volume and monthly series. No Google metrics. Input list only.
Pricing
from $4.25 / 1,000 ai volume rows
Rating
0.0
(0)
Developer
Winning Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
A research Actor that looks up AI and LLM search volume for your keyword list at scale. Enter keywords, location, and language. The Actor turns that input into structured results automatically.
It returns structured JSON with keyword, ai_search_volume, ai_monthly_searches, location, and language.
Designed for SEO teams, agencies, and developers who need AI keyword demand without a Google research suite, the Actor returns only AI volume fields in every row. Structured JSON. One row per keyword. No Google metrics in the output.
AI-Volume-only Batch
Google metrics? Not here.
Pass a keyword array with location and language. Each result row carries only
ai_search_volumeandai_monthly_searches, plus echo fields and_metadata. No Google volume, no intent flags, no expand modes. Pure AI demand data in the first run.
Use Cases
- Check AI search volume for a keyword list without Google metrics
- Export monthly AI volume series as a YYYY-MM object for your own tools
- Batch LLM keyword demand lookups for content and SEO planning
- Feed data pipelines with one JSON row per keyword
- Run small keyword lists on a linear per-row price model
Index
- Release Notes
- Features
- Use Cases
- Pricing
- Input
- Input Example
- API and MCP usage
- Output Structure
- Output Example
Release Notes
v0.0 - Initial public release
- AI-volume-only output: One dataset row per keyword with
ai_search_volumeandai_monthly_searchesonly - Batch lookup: Up to 1,000 keywords per run with location and language validation
- Linear per-row pricing: Pay per keyword row written, including null-volume rows
Features
๐ AI volume only: Output columns are keyword, AI volume, monthly series, location echo, and language echo. No Google fields.
๐ One row per keyword: Input order is preserved. Duplicates stay as separate rows.
๐
Monthly series object: ai_monthly_searches uses YYYY-MM keys mapped to numeric values, not a nested array.
๐ Location and language validation: Values are checked against the AI Keyword Data location list before the volume call.
๐ข Optional maxResults cap: Keep the first N keywords of your cleaned list before the API call.
โก Null-volume rows stay visible: Keywords without upstream volume return null fields and still count as charged rows.
๐ Metadata on every row: _metadata.resultCharged shows billing status. Error fields appear on diagnostic rows.
๐ Up to 1,000 keywords: Runs above 1,000 cleaned keywords fail before any API call. No silent chunking.
Pricing
Regular pricing
| Cost item | Rate |
|---|---|
| AI volume row (1 keyword) | $0.00425 |
| Per 1,000 AI volume rows | $4.25 / 1,000 keywords |
| Actor start | $0.00005 (infrequent) |
| Apify platform compute (RAM/time) | Billed by Apify platform pricing |
Cost per keyword: ~$0.00425 - Default run with 100 keywords costs about $0.42505 including actor start.
You pay only for keyword rows written with resultCharged true. There are no optional paid extras in v1.
Free plan limit
Runs from Apify free plan accounts are limited to 100 keywords per run. The run finishes normally at that point and keeps every result already written.
Cost Examples
Based on the regular prices above.
Scenario A: Small run (1 keyword)
- Actor start: $0.00005
- 1 keyword: $0.00425
- Total: ~$0.0043
Scenario B: Medium run (100 keywords)
- Actor start: $0.00005
- 100 keywords: $0.425
- Total: ~$0.42505
Scenario C: Full run (1,000 keywords)
- Actor start: $0.00005
- 1,000 keywords: $4.25
- Total: ~$4.25005
Input
The Actor accepts the following input parameters (see the Input tab in the Apify Console for the full, interactive schema):
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | array of string | yes | none | Keywords to look up. One array entry equals one keyword. Empty entries after trim are dropped. No comma or newline split inside an entry. |
location | string | yes | none | Market location name from the AI Keyword Data location list (example: United States). Not a location code. |
language | string | yes | none | Language code for the estimate (example: en). Must be valid for the chosen location. |
maxResults | integer | no | none | Optional cap. Keeps the first N keywords of the cleaned list before the API call. On Apify Free plan the Actor also caps at 100 keywords per run after this field (paid plans: up to 1000). |
Input Example (Keywords)
{"keywords": ["ai keyword research", "llm search volume"],"location": "United States","language": "en"}
API and MCP usage
Runs write one dataset row per keyword. Fetch rows from the default dataset after the run succeeds (or use the synchronous endpoint below).
REST (sync, returns dataset items): replace YOUR_USERNAME, YOUR_API_TOKEN, and use the same JSON body as in Input Example.
curl "https://api.apify.com/v2/acts/YOUR_USERNAME~ai-keyword-volume-exporter/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"keywords":["ai keyword research"],"location":"United States","language":"en"}'
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const input = {keywords: ['ai keyword research'],location: 'United States',language: 'en',};const run = await client.actor('YOUR_USERNAME~ai-keyword-volume-exporter').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Apify MCP server (AI agents): configure your MCP client with URL https://mcp.apify.com?tools=YOUR_USERNAME~ai-keyword-volume-exporter (you can combine multiple tools per Apify MCP docs). Pass the API token via your client (for example an Authorization: Bearer ... header), not inside the Actor input JSON.
Output Structure
The Actor returns structured data for each keyword. The table below lists the main fields. Optional dataset views in the Apify Console may show a subset.
| Field | Type | Description | Example Value |
|---|---|---|---|
keyword | string | Input keyword after list cleaning | "seo" |
ai_search_volume | number | null | Estimated AI search volume, or null when upstream has no value | 77880 |
ai_monthly_searches | object | null | Monthly volumes keyed by YYYY-MM, or null when upstream has no series | {"2026-08": 77880, "2025-09": 72000} |
location | string | Echo of the input location | "United States" |
language | string | Echo of the input language after trim and lowercase | "en" |
_metadata.resultCharged | boolean | Whether this row was charged | true |
_metadata.error | string | null | Present on failure or empty diagnostic rows | (varies) |
_metadata.errorContext | string | null | Extra error context when error is set | (varies) |
Output Example
{"keyword": "seo","ai_search_volume": 77880,"ai_monthly_searches": {"2026-08": 77880,"2025-09": 72000},"location": "United States","language": "en","_metadata": {"resultCharged": true,"error": null,"errorContext": null}}