# Shopee Search Keyword Suggestions (`xtracto/shopee-search-hint`) Actor

Fetch Shopee keyword autocomplete suggestions for any search prefix. Returns up to 12 ranked keyword suggestions — useful for SEO keyword research and trending product term discovery. Works for all 11 Shopee regions. No account required.

- **URL**: https://apify.com/xtracto/shopee-search-hint.md
- **Developed by:** [xtractoo](https://apify.com/xtracto) (community)
- **Categories:** E-commerce, Lead generation, SEO tools
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 results

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Shopee Search Keyword Suggestions

Fetch Shopee's keyword autocomplete suggestions for any search prefix — the same ranked terms that appear in the search bar dropdown when users type on Shopee.

### Why use this actor

- **Zero cost keyword research** — discover what real Shopee shoppers are searching for
- **All 11 Shopee regions** — localized suggestions for ID, SG, MY, TH, PH, VN, and more
- **Batch mode** — submit multiple seed keywords in one run
- **No account or login required** — no credentials, no API key needed
- **Stable JSON output** — clean structured data, no HTML parsing

### How it works

1. You provide a keyword prefix (e.g. `"laptop"`) and a country.
2. The actor calls Shopee's search suggestion API — the same endpoint that powers the live autocomplete dropdown.
3. Up to 12 ranked keyword suggestions are returned per input, in the local language.
4. Results stream into your dataset as JSON.

### Input

```json
{
  "country": "id",
  "keyword": "laptop"
}
````

**Batch mode** — multiple keywords in one run:

```json
{
  "country": "id",
  "keywords": ["laptop", "handphone", "sepatu"]
}
```

| Field | Type | Description |
|---|---|---|
| `keyword` | string | Single search prefix to expand into suggestions. |
| `keywords` | array | Multiple search prefixes for batch processing. Each returns up to 12 suggestions. |
| `country` | string | Shopee regional site: `id` (default), `sg`, `my`, `th`, `ph`, `vn`, `br`, `tw`, `mx`, `co`, `cl` |

> Provide either `keyword` (single) or `keywords` (batch), or both. Always returns exactly 12 suggestions per input regardless of the `limit` parameter (Shopee API behaviour).

### Output

```json
[
  {
    "keyword": "laptop murah",
    "rank_position": 5,
    "category_id": 0,
    "category_name": "",
    "source_keyword": "laptop",
    "country": "id"
  },
  {
    "keyword": "laptop",
    "rank_position": 0,
    "category_id": 0,
    "category_name": "",
    "source_keyword": "laptop",
    "country": "id"
  },
  {
    "keyword": "laptop asus",
    "rank_position": 4,
    "category_id": 0,
    "category_name": "",
    "source_keyword": "laptop",
    "country": "id"
  },
  {
    "keyword": "laptop gaming",
    "rank_position": 8,
    "category_id": 0,
    "category_name": "",
    "source_keyword": "laptop",
    "country": "id"
  },
  {
    "keyword": "laptop acer",
    "rank_position": 14,
    "category_id": 0,
    "category_name": "",
    "source_keyword": "laptop",
    "country": "id"
  }
  // ... 7 more
]
```

| Field | Type | Description |
|---|---|---|
| `keyword` | string | The suggested search term |
| `rank_position` | integer | Shopee's internal rank score for this suggestion (lower = higher priority) |
| `category_id` | integer | Category ID if the suggestion is category-specific (0 = all categories) |
| `category_name` | string | Human-readable category name, or empty string |
| `source_keyword` | string | The input prefix that generated this suggestion |
| `country` | string | Shopee region code |

### Other Shopee Actors

| Actor | What it does |
|---|---|
| [shopee-search](../shopee-search-act) | Keyword + category search across all sellers |
| [shopee-mall-search](../shopee-mall-search) | Official brand store search (Shopee Mall) |
| [shopee-product-detail](../shopee-detail-act) | Full product detail by shop/item ID or URL |
| [shopee-shop](../shopee-shop-act) | All products from a specific Shopee shop |
| [shopee-campaign](../shopee-campaign) | Products from Shopee campaign microsites |
| [shopee-flash-sale](../shopee-flash-sale) | Current flash sale session products |

# Actor input Schema

## `keyword` (type: `string`):

Search prefix to expand into suggestions. Returns up to 12 ranked keyword suggestions from Shopee's autocomplete engine.

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

Multiple search prefixes for batch processing. Each prefix returns up to 12 suggestions. Use this for bulk keyword research.

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

Shopee regional site. All regions return 12 suggestions. Suggestions reflect the local language and local trending searches.

## Actor input object example

```json
{
  "keyword": "laptop",
  "keywords": [
    "laptop",
    "handphone",
    "sepatu"
  ],
  "country": "id"
}
```

# 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 = {
    "keyword": "laptop",
    "keywords": [
        "laptop",
        "handphone",
        "sepatu"
    ],
    "country": "id"
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/shopee-search-hint").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 = {
    "keyword": "laptop",
    "keywords": [
        "laptop",
        "handphone",
        "sepatu",
    ],
    "country": "id",
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/shopee-search-hint").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keyword": "laptop",
  "keywords": [
    "laptop",
    "handphone",
    "sepatu"
  ],
  "country": "id"
}' |
apify call xtracto/shopee-search-hint --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=xtracto/shopee-search-hint",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Shopee Search Keyword Suggestions",
        "description": "Fetch Shopee keyword autocomplete suggestions for any search prefix. Returns up to 12 ranked keyword suggestions — useful for SEO keyword research and trending product term discovery. Works for all 11 Shopee regions. No account required.",
        "version": "0.1",
        "x-build-id": "ymnHzOeKDRaji20ON"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/xtracto~shopee-search-hint/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-xtracto-shopee-search-hint",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/xtracto~shopee-search-hint/runs": {
            "post": {
                "operationId": "runs-sync-xtracto-shopee-search-hint",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/xtracto~shopee-search-hint/run-sync": {
            "post": {
                "operationId": "run-sync-xtracto-shopee-search-hint",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Search prefix to expand into suggestions. Returns up to 12 ranked keyword suggestions from Shopee's autocomplete engine."
                    },
                    "keywords": {
                        "title": "Keywords (batch)",
                        "type": "array",
                        "description": "Multiple search prefixes for batch processing. Each prefix returns up to 12 suggestions. Use this for bulk keyword research."
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "id",
                            "sg",
                            "my",
                            "th",
                            "ph",
                            "vn",
                            "br",
                            "tw",
                            "mx",
                            "co",
                            "cl"
                        ],
                        "type": "string",
                        "description": "Shopee regional site. All regions return 12 suggestions. Suggestions reflect the local language and local trending searches.",
                        "default": "id"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
