pricebuddy README

The project's README from github.com/jez500/pricebuddy. As one markdown file: README.md.

PriceBuddy

Track prices from the stores you actually use. Run it yourself. Keep the data. Know when a deal is real.

PriceBuddy is an open source, self-hostable price tracker for people who would rather watch products than browser tabs. Paste in a product URL, let PriceBuddy check it on a schedule, and get notified when the price or availability moves in your favour.

It works across different stores, keeps price history, compares listings, handles stock status, and can use your own AI provider when a page is awkward to scrape. The web app is the main control room; the browser extension brings it to the product page you are already on, and the API and CLI make it scriptable.

Read the docs · Install with Docker · Explore features · CLI · Browser extension

Dashboard

Why PriceBuddy?

Most price trackers work only where someone has already built an integration. PriceBuddy is built for the messy web: normal product pages, changing markup, multiple listings for the same item, stores that go in and out of stock, and the usual "sale" prices that are not really sales.

Use it for everyday shopping, household wishlists, hobby gear, computer parts, baby stuff, subscriptions, marketplace listings, or anything else where timing matters.

Features

Track almost any store

Paste a product URL and PriceBuddy will try to read the product title, image, price and availability. Many stores work straight away. For trickier sites, you can tune the scrape strategy without changing code.

Compare listings across retailers

Track the same product across multiple stores, or multiple listings on the same marketplace, and see the current best option in one place.

Keep the price history

PriceBuddy records prices over time so you can see highs, lows and trends. That makes it easier to spot fake discounts and decide whether today's price is actually good.

Get notified where you already are

Set a target price or percentage drop and let PriceBuddy watch for it. Notifications can go through the app, email, Pushover, Gotify, Apprise, Telegram, Discord or ntfy.

Track availability, not just price

A cheap listing is useless if it is out of stock. PriceBuddy tracks in stock, pre-order, back order, special order, out of stock and discontinued states.

Compare unit prices

PriceBuddy can calculate price per unit, so a 10-pack and a 3-pack can be compared fairly.

Use AI only when it helps

Bring your own OpenAI, Anthropic, Gemini or local Ollama provider. PriceBuddy can use AI to recover missing data from a page or help repair scraping rules. It is optional and off by default.

Search for products to track

Connect a SearXNG instance and search for products from inside PriceBuddy.

Track from the page you are on

The PriceBuddy Companion browser extension adds a panel to any product page so you can start tracking it, see how the price compares to the other stores you track, and fix a store's scrape strategy in place.

Organise a shared watchlist

Use tags, filters and multi-user accounts so each person can track their own products, targets and notification preferences.

Host it yourself

Run PriceBuddy on your own server with Docker. Your watchlist, price history and notification settings stay under your control.

PriceBuddy tools

PriceBuddy is designed to be useful from more than the web UI. The tool ecosystem is small for now, with more planned.

Tool What it is for
PriceBuddy CLI Command-line access for humans and agents. Sync a local mirror, search products, inspect price history, run deal/drop reports, call the REST API, and expose PriceBuddy through MCP.
PriceBuddy Companion Chrome/Edge extension. Track a product from the page you are on, see its price insights against other stores, and tune a store's scrape strategy without leaving the site. Source · Docs

Screenshots

Product overview Price history
Product History

Installation

All you need is Docker.

Download docker-compose.yml, adjust it for your environment, then start PriceBuddy:

touch .env
docker compose up -d

With the defaults, the app runs at http://localhost:8080.

Default login:

[email protected] / admin

Change that password immediately.

See the installation guide for the full setup and configuration options.

Docker is the recommended install path. If you want to run it another way, docker/php.dockerfile and docker-compose.yml are the best references for the required services and PHP extensions.

Background tasks

The Docker image includes the scheduler needed for background work: checking prices, updating history and sending notifications. You do not need to run a separate cron container.

Settings and configuration

Most settings live in the app. Advanced options can be set in .env.

See the settings docs for details.

Affiliate codes

PriceBuddy adds affiliate codes for a small number of stores to help support development.

If you do not want that, set this in .env or docker-compose.yml:

AFFILIATE_ENABLED=false

If you disable affiliate support and still want to help, see supporting the project.

Inspiration

PriceBuddy was inspired by Discount Bandit. PriceBuddy's main difference is flexibility: it aims to track products from arbitrary stores without requiring a code change for each retailer.

Contributing and development

Contributions are welcome. Open an issue or pull request if you have a bug fix, store compatibility improvement, documentation change or feature idea.

PriceBuddy is built with Laravel and Filament. Local development uses Lando:

lando start

Coding standards, static analysis and tests are handled with Pint, PHPStan and Pest/PHPUnit. See the development docs for the full setup.

Supporting development

See supporting the project for ways to help keep PriceBuddy moving.

License

See LICENSE.md.

Contributors

pricebuddy (jez500/pricebuddy)

Searching Database…

Что это?PriceBuddy — разворачиваемый на своём сервере open-source трекер цен: он следит за страницами товаров в разных интернет-магазинах и уведомляет вас, когда цена падает или меняется наличие.
Это веб-приложение, расширение для браузера или и то и другое?Веб-приложение (на Laravel и Filament) — главная командная точка, с опциональным расширением для Chrome/Edge (Companion), чтобы отслеживать товары прямо со страницы, на которой вы находитесь, плюс REST API и CLI для скриптования.
Как его запустить?Скачайте docker-compose.yml, адаптируйте его под своё окружение, затем запустите PriceBuddy через Docker; в образ уже включён планировщик, так что отдельный cron-контейнер не нужен.
Нужно ли что-то, кроме Docker, чтобы его запустить?Нет, Docker — всё, что нужно для рекомендуемого пути установки; AI-провайдеры (OpenAI, Anthropic, Gemini, Ollama) и инстанс SearXNG — опциональные дополнения для дополнительных функций.
Отслеживание цен всегда работает в любом магазине?Многие магазины работают из коробки, но на более хитрых сайтах может понадобиться настроить стратегию скрейпинга, а AI может дополнительно применяться для восстановления недостающих данных, когда страницу трудно скрейпить.
Кому это полезно?Всем, кто хочет отслеживать повседневные покупки, домашние списки желаний, хобби-снаряжение, компьютерные комплектующие, детские товары, подписки или объявления на маркетплейсах, вместо того чтобы вручную проверять цены.
На каких платформах это можно запустить?Работает везде, где работает Docker (свой сервер), плюс дополнительное расширение для Chrome/Edge.
Остаются ли данные моего списка отслеживания на моём сервере?Да, поскольку он разворачивается на своём сервере через Docker, ваш список отслеживания, история цен и настройки уведомлений остаются под вашим контролем.
Какие каналы уведомлений он поддерживает?Приложение, email, Pushover, Gotify, Apprise, Telegram, Discord или ntfy.
Может ли он сравнивать цены за единицу, например упаковка 10 штук против 3 штук?Да, PriceBuddy умеет считать цену за единицу, чтобы мультиупаковки разного размера можно было честно сравнивать.
Он отслеживает наличие товара, а не только цену?Да, он отслеживает статусы «в наличии», «предзаказ», «ожидается», «под заказ», «нет в наличии» и «снят с производства», ведь дешёвое предложение бесполезно, если товара нет.
Для чего нужен CLI PriceBuddy?Он даёт доступ из командной строки для людей и агентов: синхронизация локального зеркала, поиск товаров, просмотр истории цен, запуск отчётов о скидках и падениях, вызовы REST API и открытие PriceBuddy через MCP.
Creator
jez500
Size
4.4 MB
Stars
1.4K
Age
1y
Commits · 90 Days