Skip to main content

Affiliate Disclosure: As an Amazon Associate I earn from qualifying purchases. We also earn from other affiliate programs. Prices shown are informational; final prices are set by retailers. Learn more about affiliate disclosures

Free beta

Price history & fake-discount detection API

Query BuckHound's own observed price history for a product, or verify a merchant's claimed reference price against it in one call. First-party data, honest verdicts, no credit card during beta.

v1First-party data onlyFree beta keys

Two endpoints, one dataset

Both endpoints read BuckHound's append-only price-capture store — prices we observed ourselves, recorded daily.

  • GET /api/v1/price-history — every price point we have captured for a product, plus min / max / median and the number of distinct days of coverage backing them.
  • POST /api/v1/verify— checks a merchant’s claimed list/reference price against that history. Returns verified, suspect_reference_price, or insufficient_data, with the evidence behind the verdict.

Who it's for

Anyone whose product makes a claim about whether a price is real.

Deal sites & newsletters

Stop publishing “70% off” deals anchored to a list price that never existed. Verify the reference price before a deal goes out, and show readers real historical context.

Browser extensions

Surface “is this actually a deal?” at checkout. One verify call returns a verdict plus the historical min/max/median evidence to display alongside it.

Affiliate & content sites

Back “lowest price we’ve seen” claims with observed data instead of vibes. Coverage-day counts tell you exactly how strong each claim is.

Price trackers & repricers

Pull an independent series of observed prices to cross-check your own feeds, or use integrity verdicts as a manipulation signal in your models.

Authentication

Pass your beta key as a bearer token. Keys are scoped to the Data API only. Requests without a valid key return 401; each key is rate-limited (60 requests/minute by default during beta) with standard X-RateLimit-* headers on every response.

Get a product's price history

SKUs are namespaced by source, e.g. amazon:B0EXAMPLE.

curl "https://buckhoundapp.com/api/v1/price-history?sku=amazon:B0EXAMPLE" \
  -H "Authorization: Bearer bhk_your_key_here"

Response

{
  "sku": "amazon:B0EXAMPLE",
  "points": [
    { "day": "2026-06-12", "price": 149.99 },
    { "day": "2026-06-13", "price": 149.99 },
    { "day": "2026-06-14", "price": 129.99 }
  ],
  "min": 129.99,
  "max": 149.99,
  "median": 149.99,
  "coverageDays": 3,
  "currency": "USD"
}

One point per distinct capture day. coverageDays is the honest measure of how much history we hold — use it to decide how much weight to give the summary stats.

Verify a reference price

Is that crossed-out list price real, or was it invented for the discount badge?

curl -X POST https://buckhoundapp.com/api/v1/verify \
  -H "Authorization: Bearer bhk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"sku":"amazon:B0EXAMPLE","claimedListPrice":199.99,"currentPrice":99.99}'

Response

{
  "verdict": "suspect_reference_price",
  "evidence": {
    "coverageDays": 41,
    "observationCount": 41,
    "historicalMin": 129.99,
    "historicalMax": 159.99,
    "historicalMedian": 149.99,
    "claimedListPrice": 199.99,
    "currentPrice": 99.99,
    "integrityVerdict": null,
    "reason": "Claimed list price exceeds the highest observed price by more than 5%."
  }
}
VerdictMeaning
verifiedThe claimed list price is consistent with prices the product has actually held in our history, and the price series shows no manipulation pattern.
suspect_reference_priceThe claimed list price sits materially above anything the product has ever sold for in our data, or the price series itself shows an inflate-then-discount / yo-yo pattern.
insufficient_dataWe hold fewer than 14 days of coverage for this product. We tell you that instead of guessing — no fabricated verdicts, ever.

Why this data is different

Most price-history APIs resell someone else's feed. This one can't.

  • First-party only. Every point was captured by BuckHound from its own live deal pipeline. Licensed third-party enrichment data is firewalled out of API responses at the query layer.
  • Append-only. History accumulates daily and is never rewritten. What we observed on a given day is what you get.
  • Honest about thin coverage. Below 14 days of history, /verify returns insufficient_data. A verification API that guesses is worse than no API.
  • Anomaly-filtered. Capture-time outlier detection flags suspect prices; flagged points never enter API responses or verdicts.

Errors & limits

  • 400 — malformed request (missing/invalid sku, bad JSON body).
  • 401 — missing or invalid API key.
  • 429 — rate limit exceeded; check X-RateLimit-Reset.
  • Default limit is 60 requests/minute per key during beta. Need more? Say so when you request a key.

Get a beta key

Beta keys are issued manually during the free beta — no credit card, no self-serve signup yet. Reach out via the contact page and tell us what you’re building; most requests get a key within a day. Want to see the data first? Browse our public price-history pages.