# How to Get CS2 Doppler Phase Price Data

Doppler and Gamma Doppler finishes trade at **wildly different prices per phase**. A Karambit Ruby can be 10–30× the price of the same knife in Phase 4. Any feed that averages all phases into one number is wrong for Doppler items.

CSPriceAPI prices each phase individually across every market that exposes phase data.

## Phases covered

**Doppler:** Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Black Pearl

**Gamma Doppler:** Phase 1–4, Emerald

## How phases appear in API responses

Each listing row includes `doppler_phase` when applicable:

```json
{
  "market_hash_name": "★ Karambit | Doppler (Factory New)",
  "doppler_phase": "Ruby",
  "price_rmb": "18750.00",
  "count": 3
}
```

When comparing or aggregating, **group by `(market_hash_name, doppler_phase)`** — not by `market_hash_name` alone.

## Fetch Doppler prices

Full pricelist with phases:

```bash
curl -s "https://api.cspriceapi.com/v1/prices/latest?markets=youpin,buff163,skinport" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Filter client-side where `market_hash_name` contains `Doppler` and `doppler_phase` matches your target.

Single-item lookup:

```bash
curl -s "https://api.cspriceapi.com/v1/prices/search?market_hash_name=★%20Karambit%20%7C%20Doppler%20(Factory%20New)&markets=youpin" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Returns one row per phase with separate prices.

## Chrome extension

The [CSPriceAPI extension](/extension) reads the phase from the listing page (name, URL or markup) and compares Ruby against Ruby — never against an averaged Doppler price.

## Why competitors get this wrong

Many price APIs return a single "Doppler FN" price averaged across phases. That number is meaningless for Ruby/Sapphire/Black Pearl items and misleading for Phase 1 vs Phase 4.

## Related

- [Compare marketplaces](/resources/compare-cs2-skin-prices-across-marketplaces)
- [Current prices](/resources/how-to-get-current-cs2-item-prices)
- [Float-ranged pricing](/docs/api/prices-float-ranged-v2)
