eBay Related Searches
Two-level eBay related search scraping with ECharts tree visualisations.
#about
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 keywordeBay marketplace
- Output
- Interactive tree visualisation and CSV
- Category
- Keyword Research
Use cases
- Finding eCommerce keyword variations from shopper behaviour
- Understanding how buyers search for products
- Expanding product keyword lists
- Discovering second-level keyword opportunities
#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
- Enter seed keyword
- Select eBay marketplace from dropdown
- Wait for two-level scraping (with progress)
- View radial/vertical/text tree visualisations
- Download CSV with all keyword relationships
#faq
- 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.
/contact
Want me to run this for you? I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.