# Ubersuggest Scraper — Keyword Volume, CPC, Difficulty & Ideas (`hipersoft/ubersuggest-scraper`) Actor

Ubersuggest keyword research in bulk: search volume, CPC, SEO and paid difficulty, competition, 12-month trend, desktop/mobile split, keyword ideas (suggestions, questions, prepositions, comparisons) and Google top-50 SERP with domain authority. 40 countries. Export CSV/JSON.

- **URL**: https://apify.com/hipersoft/ubersuggest-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0005 / keyword result

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Ubersuggest Scraper: Keyword Volume, CPC, Difficulty and Keyword Ideas in Bulk

**Ubersuggest Scraper** collects **keyword research data from Ubersuggest** (by Neil Patel) for as many keywords as you need, in **40 countries and languages**. For every seed keyword you get the **monthly search volume, cost per click (CPC), SEO difficulty, paid difficulty, competition, 12-month search trend, desktop vs. mobile share and search intent**, plus optional **keyword ideas** (**suggestions, questions, prepositions and comparisons**, each with volume, CPC and difficulty) and a **Google SERP analysis** with the **top organic results, estimated visits, domain authority, social shares, SERP features and AI Overview presence**. Export to **CSV, Excel or JSON**. Ideal for **SEO specialists, content marketers, PPC managers, agencies, bloggers and e-commerce teams** doing **keyword research, content planning and competitor analysis** at scale.

### What does Ubersuggest Scraper do?

- 🔑 **Bulk keyword metrics**: volume, CPC, SEO difficulty, paid difficulty, competition.
- 📈 **Search trend**: monthly search volume history.
- 📱 **Device split**: desktop vs. mobile share.
- 💡 **Keyword ideas**: suggestions, questions, prepositions and comparisons, sorted by volume.
- 🔍 **SERP analysis**: Google top results with estimated visits and domain authority.
- 🤖 **AI Overview detection** and **SERP features** (people also ask, products, images…).
- 🌍 **40 countries** and their languages.

### What data can you scrape?

| Field | Description |
|---|---|
| Keyword | Keyword, seed keyword, idea type |
| Metrics | Search volume, CPC (USD), SEO difficulty, paid difficulty, competition, data date |
| Trend | Monthly search volume history |
| Devices | Desktop share, mobile share |
| Intent | Search intent codes |
| SERP\* | Position, URL, title, domain, estimated visits, domain authority, Facebook/Pinterest/Reddit shares |
| SERP features\* | Feature list, AI Overview present |

\* With **Google SERP analysis** turned on.

### Use cases for keyword data

- **SEO keyword research**: find high-volume, low-difficulty keywords and long-tail questions.
- **Content planning**: turn question and comparison ideas into article outlines and FAQs.
- **PPC budgeting**: estimate CPC and paid competition before launching campaigns.
- **Competitor analysis**: see which domains rank for your keywords and how much traffic they get.
- **Agencies**: run keyword research for many clients and countries in one go.

### How to use Ubersuggest Scraper

1. Click **Try for free** to open Ubersuggest Scraper in Apify Console.
2. Enter your **keywords** and choose the **country**.
3. Turn on **keyword ideas** and/or **Google SERP analysis** if you need them.
4. Set **Max ideas per keyword**.
5. Click **Start** and download the results as **CSV, Excel or JSON**.

### Input

#### Example input

```json
{
  "keywords": ["standing desk", "ergonomic chair"],
  "country": "us",
  "includeIdeas": true,
  "ideaTypes": ["suggestions", "questions"],
  "maxIdeasPerKeyword": 100,
  "includeSerp": true
}
```

| Field | Description |
|---|---|
| **Keywords** | Seed keywords. |
| **Country** | One of 40 countries. |
| **Language** | Optional two-letter code; defaults to the country's language. |
| **Keyword ideas / Idea types** | Suggestions, questions, prepositions, comparisons. |
| **Max ideas per keyword** | Split across idea types (0 = all). |
| **Google SERP analysis** | Adds top results and SERP features. |
| **Max results** | Total row limit (0 = no limit). |

### Output

#### Keyword example

```json
{
  "type": "keyword",
  "keyword": "standing desk",
  "searchVolume": 135000,
  "cpc": 5.02,
  "paidDifficulty": 100,
  "seoDifficulty": 70,
  "competition": 1,
  "monthlySearches": [{ "month": "2026-07", "searchVolume": 135000 }],
  "desktopShare": 74.8,
  "mobileShare": 25.2,
  "serpFeatures": ["popular_products", "ai_overview", "people_also_ask"],
  "aiOverview": true,
  "serpResults": [{ "position": 3, "domain": "vari.com", "estimatedVisits": 20165, "domainAuthority": 57 }],
  "country": "us"
}
```

#### Keyword idea example

```json
{
  "type": "keyword_idea",
  "seedKeyword": "standing desk",
  "ideaType": "suggestion",
  "keyword": "standing desk with drawers",
  "searchVolume": 8100,
  "cpc": 1.84,
  "seoDifficulty": 38,
  "paidDifficulty": 100
}
```

#### Output schema

| Field | Type | Description |
|---|---|---|
| `type` | string | `keyword` (seed) or `keyword_idea`. |
| `keyword`, `seedKeyword`, `ideaType` | string | Keyword. |
| `searchVolume`, `cpc`, `seoDifficulty`, `paidDifficulty`, `competition` | number | Metrics. |
| `monthlySearches`, `desktopShare`, `mobileShare`, `searchIntentCodes`, `dataUpdated` | mixed | Seed details. |
| `serpResults`, `serpFeatures`, `aiOverview` | mixed | SERP analysis. |
| `country`, `language`, `scrapedAt` | string | Source info. |

### How much does it cost?

Ubersuggest Scraper uses **pay-per-result** pricing: a small fixed price per keyword row (seed or idea), with automatic discounts on higher Apify plans. Use **Max ideas per keyword** to control cost. See the **Pricing** tab for the exact price.

### More SEO and marketing data

- [SpyFu Domain Scraper](https://apify.com/hipersoft/spyfu-domain-scraper): competitor SEO and PPC keywords.
- [Tech Stack Detector](https://apify.com/hipersoft/tech-stack-detector): technologies used by any website.
- [ViewStats Scraper](https://apify.com/hipersoft/viewstats-scraper): YouTube channel analytics.

### FAQ

**Do I need an Ubersuggest subscription?**
No. Just enter your keywords and run the scraper.

**Which countries are supported?**
40 countries including the US, UK, Canada, Australia, India, Germany, France, Spain, Italy, Brazil, Mexico, Japan and more.

**How many keyword ideas can I get?**
Often several hundred per seed keyword. Set Max ideas per keyword to 0 to collect all of them.

**What formats can I export?**
CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.

**Can I integrate Ubersuggest Scraper with other apps?**
Ubersuggest Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JS/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes.

**Is it legal to scrape Ubersuggest?**
The scraper collects publicly shown keyword statistics. You are responsible for using the data in line with the source's terms and applicable law.

### Related Actors

- [SpyFu Domain Scraper](https://apify.com/hipersoft/spyfu-domain-scraper)
- [Tech Stack Detector](https://apify.com/hipersoft/tech-stack-detector)

### Notes

Original clean-room implementation. Not affiliated with Ubersuggest or Neil Patel Digital.

# Actor input Schema

## `keywords` (type: `array`):

Seed keywords to research, e.g. standing desk, best crm software, how to lose weight.

## `country` (type: `string`):

Country for search volume, CPC and Google results.

## `language` (type: `string`):

Two-letter language code (en, de, fr, es…). Leave empty to use the country's main language.

## `includeIdeas` (type: `boolean`):

Add related keyword ideas with volume, CPC and difficulty.

## `ideaTypes` (type: `array`):

Which kinds of keyword ideas to collect.

## `maxIdeasPerKeyword` (type: `integer`):

Limit keyword ideas per seed keyword, split across idea types (0 = all, often several hundred).

## `includeSerp` (type: `boolean`):

Add the top Google results for each seed keyword with estimated visits and domain authority, plus SERP features and AI Overview presence.

## `maxItems` (type: `integer`):

Stop after this many rows in total (0 = no limit).

## `proxyConfiguration` (type: `object`):

Not needed in most cases.

## Actor input object example

```json
{
  "keywords": [
    "standing desk"
  ],
  "country": "us",
  "includeIdeas": true,
  "ideaTypes": [
    "suggestions",
    "questions",
    "prepositions",
    "comparisons"
  ],
  "maxIdeasPerKeyword": 100,
  "includeSerp": false,
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The results as dataset items.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "standing desk"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/ubersuggest-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["standing desk"] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/ubersuggest-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "standing desk"
  ]
}' |
apify call hipersoft/ubersuggest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/ubersuggest-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/wieiXmztKHr9yDRP6/builds/M6eiGW6u4alzdlhiZ/openapi.json
