Skip to main content

Currency

Applies toQuery APIJobs API

Two things to know before you read any price field from the REST APIs: prices are scaled integers, and they're normalized to USD. Get those two right and the rest follows.

Prices are scaled by 100​

Every price is an integer, multiplied up by 100 — effectively cents. A price_usd of 1995 is $19.95. Divide by 100 to get the real amount.

Prices are normalized to USD​

When EDITED crawls a product, it converts the price from the retailer's currency to USD using the exchange rate on the day it was crawled. That's the price_usd field. Normalizing to USD at the crawl-date rate means a price is comparable across markets and over time, without exchange-rate swings distorting the trend.

If you'd rather work in a specific currency, set the currency request parameter (both the Query and Jobs APIs accept it); it defaults to USD. This only changes the main price fields — you always also get each price in its original currency and in USD, which the next section covers.

Three versions of every price​

Each price comes back in three parallel fields, and it's worth knowing which is which. Taking the current price as the example:

FieldCurrency
price_usdAlways USD, whatever currency you request
_price_originalThe retailer's native currency, always
_priceThe currency you requested (USD by default)

The same three-way split repeats for the other price fields — full price, first price, advertised price, and so on. (Fields written with a leading underscore, like _price, are calculated per request.) Each is defined in the data dictionary.

The one that catches people out​

The per-record currency field tells you the native currency — not the one you requested. If you ask for GBP on a euro-priced retailer, _price comes back in GBP as expected, but the currency field still reads EUR.

So don't read currency to find out what _price is in. Instead:

  • read a _price-style value as the currency you asked for (and keep track of what you requested yourself), and
  • read currency as the retailer's native currency — the one _price_original is in.
Currency on MCP

MCP returns prices already normalized to your account's currency (see market_data_entitlements), so there's no per-call currency parameter and no native/USD/requested split to reconcile. The three-field pattern above is a REST-surface detail.

  • Data dictionary — every price field, with its exact currency.
  • Filters — scoping a query by retailer, which sets which native currencies you'll see.
  • API reference — where the currency parameter is documented per endpoint.