Back to Tools

eBay Related Searches

Use cases

Finding eCommerce keyword variations from shopper behaviour Understanding how buyers search for products Expanding product keyword lists Discovering second-level keyword opportunities

Performs two-level keyword expansion by scraping eBay related searches, then searching each discovered keyword for second-level variations.

Uses BeautifulSoup with rotating user-agents (user_agent2), random delays (1.5-3s, extended for blocks), and CAPTCHA detection.

Displays results in three ECharts visualisation modes: radial tree, vertical tree, and text-based tree.

Streamlit App

Platform

Browser-based (no installation required)

Input

Seed keyword

eBay marketplace

Output

Interactive tree visualisation and CSV

Launch App View Source

Features

  • Two-level keyword expansion: seed, related searches, then related-of-related
  • 9 regional eBay marketplaces (UK, US, DE, ES, FR, NL, AU, CA, IT)
  • Fresh Chrome user agent per request with CAPTCHA detection
  • Random 1.5-3s delays; stops early after 3 blocked requests
  • Three views: ECharts radial tree, ECharts vertical tree, expandable text tree
  • Stats: level 1 and level 2 keyword counts, total relationships

How to use

  1. 1 Enter seed keyword
  2. 2 Select eBay marketplace from dropdown
  3. 3 Wait for two-level scraping (with progress)
  4. 4 View radial/vertical/text tree visualisations
  5. 5 Download CSV with all keyword relationships

Frequently asked questions

Does this use an official eBay API?
No. It scrapes public eBay search result pages directly, generating a fresh Chrome user agent for every request and retrying each URL up to twice. Because it relies on eBay's page markup (it tries six CSS selectors plus embedded JSON as fallbacks), a redesign of eBay's related searches module can temporarily break extraction.
What happens if eBay blocks the scrape?
The tool detects CAPTCHA pages by checking for phrases like 'Pardon our interruption' and 'unusual traffic'. It waits 1.5 to 3 seconds between second-level requests, extends the wait to 3 to 5 seconds after a block, and stops early once 3 requests have been blocked. If the very first request is blocked you get an error immediately; wait a few minutes, try a different keyword, or switch marketplace.
How long does a run take?
One page fetch for the seed keyword, then one fetch per discovered related search with a random 1.5 to 3 second delay between each. A seed that returns 12 related searches therefore takes roughly a minute, longer if retries kick in.
What exactly is in the downloaded CSV?
Two columns: seed_keyword and related_searches, one deduplicated row per keyword relationship. Level 1 keywords appear in the seed_keyword column with their level 2 expansions alongside. If every second-level request fails, the CSV falls back to your original seed paired with the level 1 keywords only.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Book a Call