meridianlabs/keyword-search-volume
meridianlabs--keyword-search-volumeDestructive
This tool calls the Actor "meridianlabs/keyword-search-volume" and retrieves its output results. Actor description: Keyword search volume API from $3 per 1,000: monthly volume, CPC, competition (Keyword Planner figures, no Ads account), difficulty, intent and 12-month history. Up to 1,000 keyword ideas per seed. Optional Google Trends summary per keyword. Failed lookups are free.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Search volume: one row per keyword you enter. Keyword ideas: each keyword you enter is a seed, and you get related keywords people search for. Each row has searchVolume (12-month average, rounded the way Google Ads rounds it, so it won't match the average of monthlySearches), monthlySearches (oldest first), cpc in USD, competition, keywordDifficulty (0-100) and searchIntent. Every idea costs the same as one keyword lookup ($0.003). Example values: "volume" | volume |
| country | No | Where the searches happen, as a two-letter code: US, GB (United Kingdom; "UK" is not accepted), DE, AU, IN and so on. Search volume and Google Trends both use this country. Example values: "US" | US |
| keywords | Yes | **REQUIRED** Search terms, one per line. Volume mode: each keyword is one lookup (paste hundreds at once). Ideas mode: up to 20 seed keywords per run. Duplicates are removed. Google Ads limits: up to 80 characters and 10 words per keyword. Example values: ["air fryer","standing desk","halloween costumes","pickleball paddle","crm software"] | |
| language | No | Language code or name, e.g. en, fr or French. Leave empty for the country's main language. Only matters in multi-language countries (e.g. Canada: en/fr; Switzerland: de/fr/it; United States: en/es). | |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| ideasSource | No | Ideas mode only. Suggestions are best for long-tail phrases around one product or topic; related keywords widen the topic. Example values: "suggestions" | suggestions |
| includeBing | No | Adds Bing (Microsoft Advertising) monthly searches, CPC, competition and 12 months of history next to the Google figures. Costs $0.25 per run for up to 1,000 keywords (one charge per 1,000), on top of the per-keyword price. United States, United Kingdom, Canada, Australia, Germany and France only, in English, French or German. Needs a paid Apify plan. Volume mode only. Available from 28 October 2026; until then the Bing part is skipped and not charged. | |
| failOnErrors | No | Useful for schedules and monitoring: the run is marked failed if any keyword's volume or Trends lookup errors. Failed lookups are still not charged. | |
| includeTrends | No | Adds momentum (rising / falling / stable), change year on year, peak and seasonality with a plain-English summary. Costs an extra $0.003 per keyword; only charged when the Trends lookup answers. Volume mode only. Example values: true | |
| maxConcurrency | No | How many Google Trends lookups run at once. Search volumes are fetched in bulk regardless. Example values: 5 | |
| maxIdeasPerSeed | No | Ideas mode only. Each idea row costs $0.003, so 100 ideas cost $0.30 per seed. An idea that two seeds share is delivered and charged once. Example values: 100 | |
| minSearchVolume | No | Ideas mode only. Leave out ideas with fewer monthly searches than this (filtered before you are charged). | |
| trendsTimeRange | No | Seasonality and year-on-year change need weekly data over more than a year: keep Past 5 years unless you need recent momentum only. Example values: "past_5_years" | past_5_years |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tip | No | Advisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key | |
| runId | Yes | Actor run ID | |
| stats | No | Run statistics | |
| status | Yes | Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED | |
| actorId | Yes | Stable Apify Actor ID from the run record | |
| summary | Yes | Past-tense summary of the run state | |
| exitCode | No | Actor process exit code; populated for terminal states (especially FAILED) | |
| nextStep | Yes | One primary follow-up action with identifiers interpolated | |
| storages | Yes | Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry. | |
| actorName | No | "username/actor-name" | |
| startedAt | No | ISO timestamp when the run started | |
| finishedAt | No | ISO timestamp when the run finished (terminal states only) | |
| statusMessage | No | Pass-through from Apify run.statusMessage | |
| apifyConsoleUrl | No | Personalized Apify Console link to the run; present only for Console sessions |