# Ebay Keyword Suggest Scraper (`emreyilmaz/ebay-keyword-suggest-scraper`) Actor

Get live eBay autocomplete suggestions for any keyword. Long-tail keyword research for eBay sellers, listing SEO & product research. 8 marketplaces, a-z expansion.

- **URL**: https://apify.com/emreyilmaz/ebay-keyword-suggest-scraper.md
- **Developed by:** [Emre Yılmaz](https://apify.com/emreyilmaz) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## eBay Keyword Suggest Scraper

Get **live eBay autocomplete suggestions** for any seed keyword — the exact phrases eBay shows buyers as they type. The fastest way to do **eBay keyword research** for listing titles, SEO and product research.

### Why eBay autocomplete?

eBay's search suggestions are ranked by **real buyer demand**. They tell you:

- 🔍 **What buyers actually type** — not what a third-party tool guesses
- 🏷️ **Long-tail keywords** for listing titles that rank ("garden hose 100 ft", "garden hose reel wall mount")
- 📈 **Product research signals** — which variants, sizes and accessories people search for
- 🌍 **Per-marketplace demand** — US, UK, DE, AU, CA, FR, IT and ES suggestions differ

Typical users: eBay sellers optimizing titles, dropshippers hunting products, agencies doing marketplace SEO, and anyone building keyword datasets.

### How it works

For every seed keyword the Actor queries eBay's public autosuggest endpoint. With **a–z expansion** enabled (default) it also queries `seed a` … `seed z`, uncovering up to ~270 long-tail suggestions per seed. Results are deduplicated and pushed to the dataset.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `keywords` | array | — | Seed keywords, one per line |
| `marketplace` | select | ebay.com (US) | One of 8 eBay marketplaces |
| `expandAlphabet` | boolean | `true` | Also query "seed a" … "seed z" |
| `expandNumbers` | boolean | `false` | Also query "seed 0" … "seed 9" |
| `keepDuplicates` | boolean | `false` | Keep the same suggestion found under multiple prefixes |
| `requestDelayMs` | integer | `120` | Politeness delay between requests |

### Output

One dataset item per suggestion:

```json
{
    "seed": "garden hose",
    "query": "garden hose r",
    "suggestion": "garden hose reel wall mount",
    "position": 2,
    "marketplace": "ebay.com (US)",
    "siteId": 0,
    "collectedAt": "2026-08-04T12:00:00.000Z"
}
```

`position` is the suggestion's rank in eBay's dropdown for that query (1 = top suggestion, strongest demand signal).

### Cost estimate

One seed with a–z expansion ≈ 27 queries ≈ **150–270 suggestions**. A typical research batch of 10 seeds returns 1,500–2,500 keywords in under two minutes.

### FAQ

**Is this legal?** The Actor collects publicly available, non-personal autocomplete data — the same suggestions any visitor sees on eBay. No login, no personal data, no bypassing of access controls.

**Do suggestions include search volume?** eBay does not expose volume. Use `position` as the demand-rank signal, or combine with your favorite volume tool.

**Which marketplaces are supported?** ebay.com (US), ebay.co.uk, ebay.de, ebay.com.au, ebay.ca, ebay.fr, ebay.it, ebay.es.

**Can I run it on a schedule?** Yes — use Apify Schedules to track suggestion changes over time (e.g. weekly keyword monitoring).

# Actor input Schema

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

One or more seed keywords. Each seed is queried directly and (optionally) expanded with a–z / 0–9 prefixes to uncover long-tail suggestions.

## `marketplace` (type: `string`):

Which eBay site to pull suggestions from.

## `expandAlphabet` (type: `boolean`):

Also query "seed a" … "seed z" (26 extra queries per seed) to mine long-tail keywords. Recommended.

## `expandNumbers` (type: `boolean`):

Also query "seed 0" … "seed 9" (10 extra queries per seed). Useful for products with sizes/models.

## `keepDuplicates` (type: `boolean`):

By default the same suggestion appearing under multiple prefixes is stored once per seed. Enable to keep every occurrence with its position.

## `requestDelayMs` (type: `integer`):

Politeness delay between autocomplete calls.

## Actor input object example

```json
{
  "keywords": [
    "garden hose"
  ],
  "marketplace": "ebay.com (US)",
  "expandAlphabet": true,
  "expandNumbers": false,
  "keepDuplicates": false,
  "requestDelayMs": 120
}
```

# Actor output Schema

## `suggestions` (type: `string`):

All collected suggestions with their rank, seed keyword and marketplace.

## `suggestionsCsv` (type: `string`):

The same suggestions as a spreadsheet-ready CSV file.

# 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": [
        "garden hose"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("emreyilmaz/ebay-keyword-suggest-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": ["garden hose"] }

# Run the Actor and wait for it to finish
run = client.actor("emreyilmaz/ebay-keyword-suggest-scraper").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 '{
  "keywords": [
    "garden hose"
  ]
}' |
apify call emreyilmaz/ebay-keyword-suggest-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=emreyilmaz/ebay-keyword-suggest-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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