Show HN: Price Per Ball – Site that sorts golf balls on Amazon by price per ball (priceperball.net)

34 points by rockdiesel ↗ HN
I took inspiration from diskprices.com, but applied it to my golfing hobby.

For someone who can't always keep it in the fairway, golf balls can get rather expensive, so I decided to build a way for me to view Amazon listings by how much they cost per ball in the hopes of finding some good deals. Hence the name of the website.

The site is hosted on Cloudflare pages and I use Github actions to trigger a python script that fetches and checks the prices. It runs twice a day. If the script encounters any new ASINs, it stores them for future checks, so the list of golf balls being price checked should keep growing over time. Changes are then pushed to Cloudflare pages.

There can sometimes be some pricing oddities when the product title says one count, but the unit count being returned from Amazon is another number, so I'm trying to add some checks to help accommodate for that. Right now, I just have some manual overrides for certain ASINs, but I'm looking to improve on it in the future.

The frontend is just some basic HTML, CSS and JavaScript.

Listings on Amazon can be inconsistent sometimes because, for example, product titles will say used balls, but the seller lists them as new. I added some filters to that allow you to exclude used/recycled balls, plastic golf balls, etc... You can also filter by brand.

Give it a spin and let me know if you run into any issues or have any feature ideas to make it more useful.

25 comments

[ 3.0 ms ] story [ 48.7 ms ] thread
What a great niche site. I don’t usually suggest adding ads to a site, but this is begging for an ad for golf lessons to help fix your slice.
Came here to comment how much it's like the superb diskprices.com. Excellent work.
Somethings broken - the most expensive ball, "TaylorMade 2021 TP5x (3+1 Box) 4DZ" is listed as $169.95 for 1 ball. Clicking through, this is actually for 4 dozen balls, making the actual per ball $3.54
Great idea, simple and effective. Tiny bit of feedback: seems like some listings use "unit count" for the number of balls, look at the most expensive listing for an example. Annoyingly the second most expensive balls have the number of dozens in the unit count instead.
Great idea, i love the simple html website :)

For determining the number of balls, i had an idea but not sure of how well it’d fit in. Could you feed the listing title, unit count, and description into an LLM with a basic “figure out how many balls are in this listing and make sure that number makes sense with the price” prefix prompt and then store that number with the ASIN? One LLM call per product should be pretty low cost, and it could automate a bunch of repetitive manual work

omg thanks. Went to a bachelor party recently and think I spent like $100 on a pack of 12 balls. Outrageous, I was so pissed I had to do it. And then knocked most of them off course!
Nice. This reminds me of ammoseek.
See also https://diskprices.com/ for inspiration.

The disk prices site does the exact same thing but the product is digital storage hardware. They made $50k from referrals to Amazon in 2024.

The disk prices site frustrates me because it illustrates so directly to costs imposed on the US from the current tariffs. I was able to get a 14tb disk from there DEC 2024 for $90 and now the cheapest is $220.

If you really want to get cheap balls, go play a round at a mid tier course and take a peek in the bushes. You’ll get an assortment of balls.
Rather than filter in brands, I'd rather filter out brands (aka exclude). Maybe just an include/exclude toggle there? A select all UI element, then deselect might also be adequate.
I added an include/exclude toggle for Brands. Take a look and let me know if this works for you.
Which Amazon API is this data coming from?
Awesome to see golf related projects on HN! Nice work.
This will help me navigate the great AI golf ball shortage of 2026.
The last item shows 1 ball for $169.

If you click on the link you’ll see it’s says 4 dozen, 48 balls, on the box. And not just one.

Yep. That's one of the downsides of relying on unit count. Sellers don't always accurately match the unit count to their product title. I'll work on fixing these inconsistencies.
Very cool! An improvement for version 2.0 would be to add the ability to filter by ball type: two-piece, swing speed, and cover. This would provide users with better insight into pricing.
That's a good idea. Thanks for the suggestion. I'll look into expanding the filters to be more useful and allow some more granularity.
Would be nice if you could filter based on the number of pieces or layers of the golf ball manufacturing process. Might require some leg work to actually find out, but many manufacturers will list it on their product info.
I'll look into it. Thanks for the suggestion.