# Price monitoring with a SERP API: offers, merchants and prices by country

> Price monitoring API: track Google Shopping offers, merchants and prices by country as JSON, with alert code and budgets, from $0.30/1K searches. No KYC.

- URL: https://serpcrypto.com/use-cases/price-monitoring/
- Last updated: 2026-10-22
- Publisher: SerpCrypto (https://serpcrypto.com)

Watch what shoppers see when they search for your products: who sells them, at what price, with what delivery. Store a daily snapshot and get an alert when a competitor moves.

**Quick answer — How can I monitor competitor prices on Google Shopping with an API?**

Run one Google Shopping search per product and country each day, store the offers, and compare them with yesterday's. **SerpCrypto** returns each offer as JSON with merchant, price as a number, currency and delivery line, for one credit per search, from $0.30/1K searches as of October 2026. 500 products in 3 countries checked daily is 45,000 searches a month. No KYC; pay in crypto.

## Price monitoring with SerpCrypto

| Attribute | Value |
| --- | --- |
| Engine | `google_shopping` (offers); `google` for retailer pages in organic results |
| Price fields | `price` (as shown), `extracted_price` (number), `currency`, `delivery` |
| Seller field | `source` (merchant name) |
| Country | `gl` sets the market and the currency; `hl` the language |
| Cost | 1 credit per product, country and check; failed searches free |
| Price of credits | 100,000 searches for $56.25; 500,000 searches for $281.25 |

## What should a price monitor record each day?

Record one row per offer and day: date, country, product query, merchant, numeric price, currency, delivery line and position. With those eight columns you can answer most pricing questions later without paying for the same search twice.

- **Minimum price per country:** the smallest `extracted_price` for a product and day.
- **Your rank among sellers:** the `position` of your own `source` name.
- **Price changes:** the difference with the previous day for each merchant.
- **New sellers:** merchants that appear for the first time.
- **Delivery promises:** free shipping or delivery times that win the click without a lower price.

## How do I match search results to my own products?

Search with the words a shopper would use, usually brand plus model, and keep the query fixed from day to day. Then match the offer titles you get back to your catalogue once, by hand or with simple rules, and store the mapping.

Avoid queries that are too broad, such as a category name, because the offers change with every search. Avoid queries that are too narrow, such as an internal SKU, because shoppers never type them and Google may return nothing useful.

*Python: daily snapshot and an alert when a competitor undercuts you*

```python
import csv
import datetime
import os

import requests

API = "https://serpcrypto.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]}
OUR_STORE = "Example Store"
PRODUCTS = {"garmin forerunner 265": 349.99, "jabra elite 10": 199.00}

today = datetime.date.today().isoformat()
with open("prices.csv", "a", newline="", encoding="utf-8") as fh:
    writer = csv.writer(fh)
    for query, our_price in PRODUCTS.items():
        params = {"engine": "google_shopping", "q": query, "gl": "us", "hl": "en"}
        resp = requests.get(API, headers=HEADERS, params=params, timeout=60)
        resp.raise_for_status()
        for offer in resp.json().get("shopping_results", []):
            price = offer.get("extracted_price")
            seller = offer.get("source", "")
            writer.writerow([today, "us", query, seller, price, offer.get("currency", ""), offer.get("position")])
            if price and seller != OUR_STORE and price < our_price:
                print("ALERT:", seller, "sells", query, "at", price, "below", our_price)

```

## How often should I check prices?

Daily is enough for most catalogues; twice a day suits sales seasons and fast categories such as electronics. Hourly checks rarely pay off on Google Shopping, because merchants' feeds do not change that often.

A mixed rhythm keeps costs down: check your 50 best sellers twice a day and the rest of the catalogue once a week. Because SerpCrypto credits never expire, a quiet month does not waste a pack, and you can buy ahead of a sales season.

## How many searches does price monitoring use?

Searches per month for common setups, counted as 30 daily checks or 4 weekly checks.

| Setup | Searches per month | Pack that covers a month |
| --- | --- | --- |
| 100 products, 1 country, daily | 3,000 | 10,000 searches ($7.50) last about 3 months |
| 500 products, 3 countries, daily | 45,000 | 100,000 searches ($56.25) last about 2 months |
| 50 best sellers twice a day + 2,000 products weekly | 11,000 | 25,000 searches ($18.75) last about 2 months |
| 5,000 products, 2 countries, daily | 300,000 | 500,000 searches ($281.25) last about 7 weeks |

## Can I watch retailer pages in normal search results too?

Yes. Some shoppers never open the Shopping tab. Run the same product query with `engine=google` and read `organic_results` and `shopping_results`: you see which retailers rank in the main results and whether Google shows a product block there.

That second search costs one more credit. Many teams run it weekly rather than daily, since organic rankings move more slowly than prices.

## Which pack suits price monitoring?

Small catalogues fit in 25,000 searches; a few hundred products in several countries usually need 100,000 searches or more, as of October 2026. Credits never expire.

| Plan | Quantity | Price | Price per unit |
| --- | --- | --- | --- |
| Starter | 25,000 searches | $18.75 | $0.75/1K searches |
| Build | 100,000 searches | $56.25 | $0.56/1K searches |
| Grow | 250,000 searches | $140.63 | $0.56/1K searches |
| Scale | 500,000 searches | $281.25 | $0.56/1K searches |

In every plan: Every engine at 1 credit per search · Failed requests not charged · Credits never expire · Country, language, city and device targeting

**Before you pay**

- Minimum top-up $25. Top up once in crypto, then buy any plan from your balance.
- Unused balance stays on your account and never expires, and it pays for search credits. When a purchase costs less than the minimum top-up, the part added only to reach the minimum is refundable on request to support within 30 days of the payment, in USDT or USDC, as long as it has not been spent. The rest of the balance is not paid back, except where the law requires it.
- Credited once your payment is checked on the blockchain. Typical network confirmation time: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min

## Price monitoring API: common questions

### Is the price including tax and shipping?

The API returns the price exactly as Google Shopping shows it in that country, plus the `delivery` line when Google shows one. Tax display rules differ by country, so compare within one market first.

### Can I monitor prices in several currencies?

Yes. Each country edition returns its local currency in the `currency` field. Convert with your own exchange rates if you need one currency across markets.

### Can I get the price from the merchant's own page?

The API returns the price Google shows and a link to the offer. Reading the merchant's page is a separate step that you do yourself, under that site's terms.

### What happens if a search fails during the nightly run?

You get an error code and the failed search is not charged. Retry it later; the [errors page](https://serpcrypto.com/docs/errors/) shows a retry loop with backoff.

### How do I pay?

Top up from $25 in BTC, USDT, USDC, ETH, SOL, LTC and buy a pack from your balance. No ID, no selfie and no card are needed.

---

SerpCrypto: SerpCrypto is a SERP API for developers and AI agents that returns Google and Bing results as JSON, paid in crypto with no ID upload. Prepaid search credits from $0.30/1K searches never expire. No KYC — no ID, no selfie, no documents. Pay in crypto.
