eBay Market Analyser: Prices, Competition & Profit
Pricing
Pay per event
eBay Market Analyser: Prices, Competition & Profit
Keywords in, the live eBay market out: price range with postage, seller concentration, China competition, optional real sold data and your profit per sale. 8 eBay sites. Pay only for keywords with real data.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Lewis O'Rorke
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Type the products you're thinking of selling. For each one, get the whole eBay market in one row: the real price range with postage, how many sellers you'd be up against, how much of the market a few big sellers hold, how many listings ship from China, how fast new competition is arriving, and, if you want it, real sold data and your profit per sale.
Most eBay scrapers hand you hundreds of raw listings and leave the maths to you. This Actor does the maths. One keyword in, one decision-ready answer out, on 8 eBay sites.
Who it is for
- Resellers and arbitrage sellers checking whether a product is worth sourcing
- Dropshippers testing product ideas before listing
- Brands and Amazon sellers sizing up eBay as a second channel
- Product researchers comparing dozens of niches at once
- Anyone building a sourcing tool who needs clean market numbers through an API
What you get for each keyword
The live market (always included)
| Field | What it means |
|---|---|
summary | One plain-English line about the market |
active_listings_total | How many live listings eBay has for the search |
price_low, price_p25, price_median, price_p75, price_high | Price range including postage, so it compares like for like |
free_postage_share | How many competitors post for free. If most do, you'll need to as well |
unique_sellers, top_seller_share, top3_sellers_share | How crowded the market is, and whether a few sellers dominate it |
business_seller_share, avg_seller_feedback_pct, top_rated_share | How professional the competition is |
ships_from_china_share, ships_from_abroad_share | How much of the market is overseas sellers you'd compete with on price |
listed_last_30_days_share | How fast new sellers are piling in |
main_category | The eBay category it sells in |
cheapest_listings | The 5 cheapest relevant listings, with links |
Real sold data (optional, one tick box)
| Field | What it means |
|---|---|
sold_per_month | Estimated sales per month, worked out from the real dates of recent sales |
sold_price_low … sold_price_high | What it actually sells for, not what sellers ask |
sold_free_postage_share | Free postage among the listings that actually sold |
Your profit (optional, with your cost)
| Field | What it means |
|---|---|
profit_per_sale, margin_pct | After eBay fees, your cost and your shipping |
break_even_price | The price where you make nothing |
profit_verdict | profitable (15%+ margin), thin or loss |
price_basis | Uses the sold median when you add sold data, otherwise the live median |
Why the numbers are trustworthy
- Accessories and near-misses are filtered out. Search "logitech g305" on eBay and you also get G304 mice, replacement mouse feet and USB cables "for" the G305. By default the Actor keeps only listings and sales that name every word of your keyword. In testing that removed 29 of 100 live listings and 6 of 20 sales for that one search.
- Extreme prices are trimmed. Bundles and spare parts outside 30% to 300% of the median are dropped before any statistic is worked out.
- Prices include postage. A £5 item with £4 postage is a £9 item to the buyer.
- Sales per month come from real sale dates, not the window you asked for. A busy product can fill 50 sales in two days, and counting that as a month would understate demand massively.
- Live data comes from eBay's official Browse API, not from scraping pages.
How to use it (step by step)
1. Add your keywords
One product per line, the way a buyer would search: logitech g305,
vacuum storage bags, magnetic phone holder. Up to 100 per run.
2. Pick the eBay site
UK, US, Germany, France, Italy, Spain, Australia or Canada. Prices come back in that site's currency.
3. (Optional) Add your cost
Enter what one unit costs you, plus your shipping cost per order. Check the fee settings (13% + 0.30 suits most UK and US categories). Each keyword then gets a profit, margin, break-even price and verdict.
4. (Optional) Add sold data
Tick Add real sold data. Nothing else to set up. The Actor runs the
well-known caffein.dev/ebay-sold-listings Actor for real completed sales, and
Apify bills that Actor to your account at its own price: about $0.0035 per sale
fetched, so the default 25 sales per keyword is about $0.09. If it can't run
(for example your account is out of credit), you still get the live market data
and a note saying why.
5. Click Start
A run of 10 keywords takes about 15 seconds without sold data, or a minute or two with it. Export as Excel, CSV or JSON, or connect it to Google Sheets, Zapier, Make or your own app.
Ready-made examples
Quick check of three product ideas on eBay UK
{"keywords": ["logitech g305", "vacuum storage bags", "magnetic phone holder"],"marketplace": "EBAY_GB"}
Is it profitable? Cost £12, free postage, eBay UK, with sold data
{"keywords": ["logitech g305"],"marketplace": "EBAY_GB","yourCost": 12,"yourShippingCost": 0,"includeSoldData": true,"soldRowsPerKeyword": 50}
Compare the same product on eBay US and Germany: run it twice with
marketplace set to EBAY_US and then EBAY_DE.
Broad category research: turn off Only listings that name every keyword
word for loose keywords like kitchen gadgets.
Pricing
- Per keyword analysed: charged only when the keyword has live listings.
- Per keyword with sold data added: charged only when real matching sales were found.
You are never charged for:
- a keyword with no listings
- keywords skipped because eBay's daily limit was reached (the run tells you to try again tomorrow)
- sold data that couldn't be fetched (no credit, upstream problem)
The sold-data Actor's own cost (about $0.0035 per sale) is billed to your Apify account by Apify, separately.
Honest limits
- The live sample is eBay's best-match first 10 to 200 listings, not every
listing.
active_listings_totalgives the full count. - The title filter is strict by design. A listing that spells the product differently ("G-305") is dropped. Turn the filter off for broad keywords.
- Sold data comes from another Actor. If it breaks or changes its price, you still get the live market, with a note.
- Fees vary by category and seller level. Set
feePercentto match your account for exact profit figures. - eBay limits how many searches the Actor can make per day (one per keyword). The Actor checks the remaining allowance with eBay before every run. If it runs low, the run analyses what it can, tells you when it resets (07:00 UTC), and charges nothing for skipped keywords.
FAQ
Do I need an eBay account or eBay API keys? No. Nothing to set up at all: no eBay account, no API keys, no tokens.
Why is sold data billed separately? eBay doesn't offer sold data through its public API, so it comes from a separate Actor. Apify bills that Actor to your account at its own price, so the cost is transparent and nothing is marked up.
Why do live and sold prices differ so much? They often do, and that's the point. Sellers ask more than buyers pay, and used sales pull the sold median down. Price against what actually sells.
Something is wrong or missing. Open an issue on the Issues tab with your run link and I'll look at it.