Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: GPU Prices on eBay (gpupricecompare.com)
97 points by Ilasky on Feb 23, 2024 | hide | past | favorite | 75 comments
Howdy!

Keeping with the trend of being influenced by https://diskprices.com, I wanted to make a resource for GPUs on eBay that also take into account a performance metric I tend to look at when checking GPUs.

It's still a work in progress, but it's at a state where I think some of HN might find it useful!

There are a few things that I have planned to add in the coming day(s): 1. Filters for compatible slots and connectors 2. Expand for different eBay regions, rather than just US focus

Let me know if you have any questions or want more / different filters on the page or if I missed something important.




Filter out sellers that have zero feedback as those are scammers (happened to me buying a 3090 on eBay - seller claimed to have shipped it but didn't give a tracking number then private messaged me with a tracking number that goes to a fake chinese website. Spent months with eBay and my bank getting the entire thing refunded)


This is a great point -- thanks! Do you think there a possibility that anyone with zero feedback is just new and it's their first time selling?


"Do you think there a possibility that anyone with zero feedback is just new and it's their first time selling?"

Not if it's a brand-new 2024 account and the first sale is an ultra-high-demand NVIDIA graphics card with high VRAM.


Yes, but as someone who uses eBay frequently, I’d never buy from someone with no feedback


Good point - perhaps I'll add in another filter that allows you to filter out listings from posters with 0 feedback.


I think it may be possible to have negative feedback, so I'd do less than or equal to 0 (or at least some threshold like > 5)


I have added it in!

Let me know what you think.


One important (to some) filter is "does this card have any video connectors" - there's lots of server accelerators on this list which you can't plug into a monitor.


Noted! I definitely want to add connectors and, relatedly no connectors, as a filter.


When selecting memory in the filter, I noticed that the units are not all in GB, and the order is not strictly increasing. Also, I had to scroll down to select memory. Maybe it is better to sort from high to low, as the more common options are then near the top. Another idea is to make the filters bar have its own scrollable pane. It would also be nice to be able to select/compare capabilities like number of GPU cores etc. Further I noticed that an item on the list was already sold, which is understandable but still slightly annoying.


Thanks for the feedback! Agreed that the order and units of memory needs to be standardized -- definitely will do!

Apologies about the item being sold, the list is only updated every 4 hours at the moment. With additional API access (waiting to hear back!), I would be able to get a tighter loop on updating the list so everything is currently available.


Ok, regarding the second point, would it be possible to fetch the ebay html from the browser, and parse it? Then you wouldn't need to use the API to check availability, and the IP address would be different every time.


I don't quite follow how the IP address would be different. Could you elaborate on that?

This is technically possible, but for ~3,000 products, checking on an hourly basis would make ~72,000 requests per day -- which definitely would get flagged, I think.


I mean you do the request from within the user's browser (their IP address).

So for example, they filter out 5 products, and from the javascript in the browser you perform the request for those 5 products, and then show the user which ones are available. It could also send the data back to your server. Of course you still have to be careful with the number of requests, but it would allow you to get more data without getting flagged.


CORS headers from eBay will prevent that unfortunately


Ah - I see what you’re saying.

I think I’m going to keep it relatively simple for now, just to see how it goes. If it becomes a bigger issue, I’ll try out your method!


Mate... If the listing I saw is real and it arrives at my door, you might have helped me snatch the deal of a lifetime, like literally saving me nearly 2k.


What did you buy?


Bought a GPU in 2014 for $300.

Finally upgraded in 2024 for $600.

I get maybe 2x the FPS, in the same games at the same settings.

What gives? I thought GPU compute had massively fallen in price.


Did you upgrade your entire PC or just the GPU? A CPU from today is going to perform much better than one vs. 10 years ago.


Compute and FPS aren't the same?

GPUs have advanced a lot more in tensor computation and GPGPU than in pushing pixels onto a screen


same resolution as 10 years ago?


I'm curious how the hacker news algorithm works that something with (to me, currently) 9 upvotes and 1 comment can hit number 1 on the site and be hugged to death.


It's two separate questions really.

1. How can a post with 9 upvotes and 1 comment be number 1 on HN

2. How can a post with so few metrics of engagement be hugged to death.

The first is likely due to the late hour - time is a factor in the HN algorithm and with fewer people interacting with content the bar for getting the number 1 spot is much lower.

The second is probably attributable to the myriad clients using the HN API to scrape content from links shared here or the likely large population of HN users who engage with content but neither comment nor upvote.


The ranking formula is points divided by submission age raised to some constant. This means that a relatively few votes in a short amount of time is all it takes to outrank much older submissions, even with many more total votes. 9 votes in under 20 minutes will do it when the majority of other front page submissions are many hours old.


Curious, has anyone reused the HN ranking for their own purposes either at work or play?


I'd say it's more "The ranking formula is points divided by submission age raised to some constant minus a large value if one or more mods feel like it". Not implying some grand conspiracy here, but some posts disappear entirely if the mods think it doesn't belong, regardless of the number of upvotes or comments.


There is also the flame war penalty. If the ratio of comments and upvotes is indicating flaming, then the post gets some negative points for the purpose of ranking.


It would be great to have the data cleaned up a bit more. For example Nvidia chips are at least 5 items and not all of them start with N. That makes them hard to find. Also there are some “manufacturers” like see description and so on. Maybe just throw it at a local LLM and it wil likely clean it up nicely.


Thanks for the feedback! Definitely agree it needs some cleanup. Working on a good pipeline for it


Seeing entries listed high in G3D/$ descending order as a consequence of "Condition: For parts or not working" driving listed price into far-left outlier territory relative to their operable equivalents.

I suspect it would be meaningful to parametrically filter these inop edge cases out by default.


I've added the ability to filter out by keyword (with "broken" and "parts" filtered out by default), but will beef up the backend more! Let me know if this helps!


Thanks for pointing that out! Will do some updating to the filtering function.


I would have expected some 3dfx based GPUs to be on the top end of the list, considering their rarity, like the 5500 etc, but none are listed...ah D3D benchmark... explains it.

Edit: Realised its D3D benched...


Those new Tesla T4s are looking cheap for 8GB VRAM. Are they useful for training a model or are they too far out of date, and is it more effective to use a single 4070 or similar?


Depends what model you want to train, and how well you want your computer to keep working while you're doing it.

If you're interested in large language models there's a table of vram requirements for fine-tuning at [1] which says you could do the most basic type of fine-tuning on a 7B parameter model with 8GB VRAM.

You'll find that training takes quite a long time, and as a lot of the GPU power is going on training, your computer's responsiveness will suffer - even basic things like scrolling in your web browser or changing tabs uses the GPU, after all.

Spend a bit more and you'll probably have a better time.

[1] https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#...


The ability to apply a boolean search (as a filter) to the text would be very useful. For example, "-parts" would get rid of a lot of results that I have no interest in.


That makes a ton of sense! Any other keywords you think would help filter it down to results you're interested in?


Just looking through the current results, the only other one that really jumps out at me is "-server" to get rid of the server GPUs that can't be used for gaming.


I've implemented this feature! Let me know if it helps get you better results.


This is just the same basic affiliate link site as last time.


I think we're just passionate about being able to afford food. We get to build cool little sites, and we get paid for it? Yes please.


Who is "we" and why do they have to spam affiliate link sites to hacker news to afford food?


Neat! I'd love to have to ability to sort by a column.


Good idea! Thanks!


Super cool, but I think it would be useful if there was a was (or a way I could find) to filter out used items that are for parts/broken.


Mine does that - https://gpu-prices.com . I managed to get beaten to the Show HN by a few hours :)


You may want to do some "AND NOT" matching on the description, e.g. https://www.ebay.com/itm/235440904571 which has "title_cleaned": "MSI RTX 3070 Ti Ventus 3X 8G OC" but the description is "MSI RTX 3070 Ti VENTUS 3X 8G OC Graphics Card Support Bracket"

And, up to you, but doing money math with floats is a well known road-to-ruin: "price_with_shipping": 18.990000000000002,


Unfortunately I can't access descriptions without another API call.

Thanks for pointing out the floats issue. It'll probably be OK because I round to the nearest integer when displaying and only use the extra precision for sorting, but I might round to 2dp on the server side to avoid wasting bandwidth on all those zeroes - I presume floating point imprecision compresses poorly.


https://en.wikipedia.org/wiki/Decimal_data_type

decimal.Decimal in Python

java.math.BigDecimal

I don't know if there's an idiomatic way to use this datatype in JavaScript / Node.


Thanks for the script Alex, it's a very usable site much more so than the topic one. The site navigation, and sane options instead of clicking 512mb, 64mb and 1mb ram was a welcome feature. What did you do to generate this site? I noticed the was another one yesterday with prices as well, is it a new scraper or framework?


I wish I could say it's some lovely architecture, but it's just some glued together python scripts that get the data from the ebay API, categorise the GPUs (I initially tried local LLMs, but hard coded rules work far better), then generate a static site using jinja2 templating. My frontend "framework" is simple vanilla HTML, CSS, and JS.

I suppose I'm living up to the username! I do know how to write decent programs and in other languages, but I'm just so much faster when bodging.

I'm thinking of making similar website for more things, in which case I'd clean up the architecture a bit, but my exams are in a few months and this hasn't been particularly successful so we'll see. I probably shouldn't be spending my weekends programming right now :)


Thank you for telling me about the behind the scenes creation of your site, I will show it to my friends. It is a very lightweight, easy to use and mobile friendly site. I hope you will post it in it's own topic and it gets more interest.


Thank you! I appreciate it.

I submitted it a few hours ago to two upvotes - I think it might be because I didn't include the link directly, and apparently that downranks it in the algorithm. I've emailed dang to see if it's OK to repost it.


Dude that's beautiful. Kudos.


Thanks!


Hey there! I have added the ability to filter out keywords quickly on the postings.

Let me know if this helps!

I'm also going to improve the backend a bit to filter out broken GPUs


Nice! Imagine if vendors normally had an option for consumers to see items like that...


Does ebay offer a public API? If not, aren't they rate limiting the requests?


It has a 5k limit per day when you sign up for the developer account (free). I pull the most recent listings every 4 hours and cache results if they are still available.

Currently waiting to hear on upgrade to 1.5m. But 5k works for now!


In the FAQ it says that the Browse API is used every 4 hours

https://developer.ebay.com/api-docs/buy/browse/static/overvi...


This Serverless Function has timed out.

Your connection is working correctly.

Vercel is working correctly.


Looks like it got hugged! I am adding more resources now!


Still timing out


How about now?


Working for me.


This is Great! Saved me some hassle of searching for the prices.


Looks great add more filters, sorting maybe even price alerts


Neat project! What does yout scraping process look like?


Thanks! I pull from the eBay Browse API, use some fuzzy matching and nlp to parse model numbers, and match against list of scores.


Not accessible via Tor or currently hugged to death?


I made one for amazon https://gpuprices.lol (click Prices and wait)


That domain name is just perfect.


thanks lol


Nice!

What's your scraping process?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: