Docs / Listar ofertas de las tiendasList retailer offersMarkdown

Listar ofertas de las tiendas

GEThttps://pricto.dev/v1/offers

Listings as published by retailers. Filter by retailer, category, promotion or recent change. changed_since returns offers whose price or availability changed after a time, which is the cheapest way to keep a mirror up to date.

CréditosMCP
1 per offer returnedlist_offers

Parámetros#

ParámetroEnTipoDescripción
max_creditsquerynumberSpend at most this many credits on this call. Results are cut to fit and meta.usage.truncated is true.
dry_runquerybooleanReturn the quote in meta.usage with data set to null, without charging. Default: false.
retailerquerystringOne or more retailer IDs, comma separated (e.g. cl-jumbo,cl-unimarc).
countryquerystringISO 3166-1 alpha-2 country code. Defaults to all covered countries.
categoryquerystringCategory ID; includes subcategories (e.g. food.dairy).
brandquerystringBrand ID or name.
product_idquerystring
gtinquerystring
on_promotionquerybooleanOnly offers with a sale price, card price or promotion.
changed_sincequerystring (date-time)
matchedquerybooleanFilter by whether the offer is matched to a canonical product.
langquerystringResponse language as a BCP 47 tag (es, es-CL, en, en-US...). Supported today: es, en. An unsupported language falls back to English with a warning, never an error. Falls back to Accept-Language, then to the account default. The resolved value is in meta.lang.
currencyquerystringAdd converted amounts in this ISO 4217 currency. local (default) returns source currency only. Default: local.
limitqueryintegerDefault: 50.
cursorquerystringOpaque cursor from pagination.next_cursor.
formatquerystringjson (default) or csv. Equivalent to Accept: text/csv. Valores / values: json, csv. Default: json.

Respuesta#

200 Offers.

CampoTipoDescripción
data requeridoOffer[]
data[].id requeridostring
data[].retailer requeridoRetailerRef
data[].retailer.id requeridostring
data[].retailer.name requeridostring
data[].product_idstring | null
data[].store_idstring | null
data[].title_original requeridostring
data[].title_langstringBCP 47 language of title_original.
data[].url requeridostring (uri)
data[].retailer_skustring | null
data[].retailer_product_idstring | nullParent product in the store (groups variants and sizes). Availability is measured per product: available if any of its SKUs is in stock.
data[].sellerSellerWho sells the offer. On marketplaces it is a third party; name is null when the seller is a natural person (no personal data).
data[].seller.id requeridostring
data[].seller.name requeridostring | null
data[].seller.is_retailer_itself requeridoboolean
data[].gtinstring | null
data[].brandstring | null
data[].categoryobject
data[].matchobject
data[].current requeridoPriceQuoteA price as observed. price is the best price any customer pays without conditions (sale price if present, otherwise list price). Conditional prices are separate: card_price requires a payment method and promotions require a quantity or bundle.
data[].current.currency requeridostring
data[].current.price requeridonumber
data[].current.list_price requeridonumber
data[].current.sale_pricenumber | null
data[].current.card_pricenumber | nullConvenience: the lowest price in conditional_prices that requires a payment method or membership.
data[].current.card_labelstring | null
data[].current.conditional_pricesConditionalPrice[]Every price that requires a condition other than quantity (payment method, loyalty tier, app, coupon), as published.
data[].current.conditional_prices[].kind requeridostringValores / values: payment_method, membership, app_only, coupon, other.
data[].current.conditional_prices[].label requeridostringAs shown by the retailer.
data[].current.conditional_prices[].price requeridonumber
data[].current.conditional_prices[].payment_methodstring | null
data[].current.conditional_prices[].membership_tierstring | null
data[].current.conditional_prices[].installments_countinteger | null
data[].current.conditional_prices[].interest_freeboolean | null
data[].current.unit_priceobject | null
data[].current.unit_price.amount requeridonumber
data[].current.unit_price.per requeridostringValores / values: kg, l, unit, m, m2.
data[].current.promotionsPromotion[]
data[].current.promotions[].type requeridostringValores / values: multi_buy, nth_unit, percent_off, amount_off, bundle, gift, other.
data[].current.promotions[].label requeridostringAs shown by the retailer, e.g. "2 x $2.990".
data[].current.promotions[].min_quantityinteger | null
data[].current.promotions[].effective_unit_pricenumber | nullPrice per item when the promotion applies.
data[].current.promotions[].requires_cardstring | nullPayment method required, if any.
data[].current.promotions[].valid_untilstring (date) | null
data[].current.availability requeridostringValores / values: in_stock, out_of_stock, limited, unknown.
data[].current.tax_includedbooleanAs shown by the retailer (observed).
data[].current.tax_ratenumber | nullDerived. Main VAT rate for this country and category, null when not known.
data[].current.price_ex_taxnumber | nullDerived from price and tax_rate. Null when tax_rate is null.
data[].current.tax_rule_idstring | nullVersioned rule used to derive tax_rate.
data[].current.other_taxes_includedboolean | nullTrue when other taxes remain in price_ex_tax (e.g. Chile IABA on sweetened drinks).
data[].current.installmentsobject
data[].current.observed_at requeridostring (date-time)
data[].current.observed_local_datestring (date)Capture date in the retailer time zone. Daily series use this date.
data[].current.capture_method requeridostringHow the price was obtained, part of the provenance with url and observed_at. public_page: read from the retailer's public web page (HTML, JSON-LD or the page payload). public_api: an open, unauthenticated JSON endpoint of the retailer's own site. retailer_feed: delivered by the retailer under an agreement. open_data: a public dataset published by a government or third party. Valores / values: public_page, public_api, retailer_feed, open_data.
data[].current.quality_statusstringwarning when a validation flagged the observation (price jump, zero, unusual unit). Quarantined observations are never served. Valores / values: ok, warning.
data[].current.quality_flagsstring[]Why the price was flagged. The price is delivered as published, never corrected. discount_over_85: more than 85% off the list price. round_price_low: a round price of CLP 1,000 or less. Both often mean a placeholder price or a store error.
data[].current.correctedbooleanTrue when the observation was amended after capture (the original is kept).
data[].current.convertedConverted
data[].current.converted.currency requeridostring
data[].current.converted.price requeridonumber
data[].current.converted.list_pricenumber | null
data[].current.converted.card_pricenumber | null
data[].current.converted.unit_pricenumber | null
data[].current.converted.fx_rate requeridonumberUnits of target currency per unit of source currency.
data[].current.converted.fx_date requeridostring (date)Publication date of the rate used (last published on or before the observation date).
data[].current.converted.fx_sourcestring
data[].current.converted.fx_methodstringValores / values: direct, cross.
data[].first_seenstring (date-time)
data[].last_changedstring (date-time) | null
pagination requeridoPagination
pagination.has_more requeridoboolean
pagination.next_cursor requeridostring | null
meta requeridoMeta

meta trae el costo, la fuente para citar, el idioma, la moneda y los avisos (ver Convenciones).

Errores#

List retailer offers

GEThttps://pricto.dev/v1/offers

Listings as published by retailers. Filter by retailer, category, promotion or recent change. changed_since returns offers whose price or availability changed after a time, which is the cheapest way to keep a mirror up to date.

CreditsMCP
1 per offer returnedlist_offers

Parameters#

ParameterInTypeDescription
max_creditsquerynumberSpend at most this many credits on this call. Results are cut to fit and meta.usage.truncated is true.
dry_runquerybooleanReturn the quote in meta.usage with data set to null, without charging. Default: false.
retailerquerystringOne or more retailer IDs, comma separated (e.g. cl-jumbo,cl-unimarc).
countryquerystringISO 3166-1 alpha-2 country code. Defaults to all covered countries.
categoryquerystringCategory ID; includes subcategories (e.g. food.dairy).
brandquerystringBrand ID or name.
product_idquerystring
gtinquerystring
on_promotionquerybooleanOnly offers with a sale price, card price or promotion.
changed_sincequerystring (date-time)
matchedquerybooleanFilter by whether the offer is matched to a canonical product.
langquerystringResponse language as a BCP 47 tag (es, es-CL, en, en-US...). Supported today: es, en. An unsupported language falls back to English with a warning, never an error. Falls back to Accept-Language, then to the account default. The resolved value is in meta.lang.
currencyquerystringAdd converted amounts in this ISO 4217 currency. local (default) returns source currency only. Default: local.
limitqueryintegerDefault: 50.
cursorquerystringOpaque cursor from pagination.next_cursor.
formatquerystringjson (default) or csv. Equivalent to Accept: text/csv. Valores / values: json, csv. Default: json.

Response#

200 Offers.

FieldTypeDescription
data requiredOffer[]
data[].id requiredstring
data[].retailer requiredRetailerRef
data[].retailer.id requiredstring
data[].retailer.name requiredstring
data[].product_idstring | null
data[].store_idstring | null
data[].title_original requiredstring
data[].title_langstringBCP 47 language of title_original.
data[].url requiredstring (uri)
data[].retailer_skustring | null
data[].retailer_product_idstring | nullParent product in the store (groups variants and sizes). Availability is measured per product: available if any of its SKUs is in stock.
data[].sellerSellerWho sells the offer. On marketplaces it is a third party; name is null when the seller is a natural person (no personal data).
data[].seller.id requiredstring
data[].seller.name requiredstring | null
data[].seller.is_retailer_itself requiredboolean
data[].gtinstring | null
data[].brandstring | null
data[].categoryobject
data[].matchobject
data[].current requiredPriceQuoteA price as observed. price is the best price any customer pays without conditions (sale price if present, otherwise list price). Conditional prices are separate: card_price requires a payment method and promotions require a quantity or bundle.
data[].current.currency requiredstring
data[].current.price requirednumber
data[].current.list_price requirednumber
data[].current.sale_pricenumber | null
data[].current.card_pricenumber | nullConvenience: the lowest price in conditional_prices that requires a payment method or membership.
data[].current.card_labelstring | null
data[].current.conditional_pricesConditionalPrice[]Every price that requires a condition other than quantity (payment method, loyalty tier, app, coupon), as published.
data[].current.conditional_prices[].kind requiredstringValores / values: payment_method, membership, app_only, coupon, other.
data[].current.conditional_prices[].label requiredstringAs shown by the retailer.
data[].current.conditional_prices[].price requirednumber
data[].current.conditional_prices[].payment_methodstring | null
data[].current.conditional_prices[].membership_tierstring | null
data[].current.conditional_prices[].installments_countinteger | null
data[].current.conditional_prices[].interest_freeboolean | null
data[].current.unit_priceobject | null
data[].current.unit_price.amount requirednumber
data[].current.unit_price.per requiredstringValores / values: kg, l, unit, m, m2.
data[].current.promotionsPromotion[]
data[].current.promotions[].type requiredstringValores / values: multi_buy, nth_unit, percent_off, amount_off, bundle, gift, other.
data[].current.promotions[].label requiredstringAs shown by the retailer, e.g. "2 x $2.990".
data[].current.promotions[].min_quantityinteger | null
data[].current.promotions[].effective_unit_pricenumber | nullPrice per item when the promotion applies.
data[].current.promotions[].requires_cardstring | nullPayment method required, if any.
data[].current.promotions[].valid_untilstring (date) | null
data[].current.availability requiredstringValores / values: in_stock, out_of_stock, limited, unknown.
data[].current.tax_includedbooleanAs shown by the retailer (observed).
data[].current.tax_ratenumber | nullDerived. Main VAT rate for this country and category, null when not known.
data[].current.price_ex_taxnumber | nullDerived from price and tax_rate. Null when tax_rate is null.
data[].current.tax_rule_idstring | nullVersioned rule used to derive tax_rate.
data[].current.other_taxes_includedboolean | nullTrue when other taxes remain in price_ex_tax (e.g. Chile IABA on sweetened drinks).
data[].current.installmentsobject
data[].current.observed_at requiredstring (date-time)
data[].current.observed_local_datestring (date)Capture date in the retailer time zone. Daily series use this date.
data[].current.capture_method requiredstringHow the price was obtained, part of the provenance with url and observed_at. public_page: read from the retailer's public web page (HTML, JSON-LD or the page payload). public_api: an open, unauthenticated JSON endpoint of the retailer's own site. retailer_feed: delivered by the retailer under an agreement. open_data: a public dataset published by a government or third party. Valores / values: public_page, public_api, retailer_feed, open_data.
data[].current.quality_statusstringwarning when a validation flagged the observation (price jump, zero, unusual unit). Quarantined observations are never served. Valores / values: ok, warning.
data[].current.quality_flagsstring[]Why the price was flagged. The price is delivered as published, never corrected. discount_over_85: more than 85% off the list price. round_price_low: a round price of CLP 1,000 or less. Both often mean a placeholder price or a store error.
data[].current.correctedbooleanTrue when the observation was amended after capture (the original is kept).
data[].current.convertedConverted
data[].current.converted.currency requiredstring
data[].current.converted.price requirednumber
data[].current.converted.list_pricenumber | null
data[].current.converted.card_pricenumber | null
data[].current.converted.unit_pricenumber | null
data[].current.converted.fx_rate requirednumberUnits of target currency per unit of source currency.
data[].current.converted.fx_date requiredstring (date)Publication date of the rate used (last published on or before the observation date).
data[].current.converted.fx_sourcestring
data[].current.converted.fx_methodstringValores / values: direct, cross.
data[].first_seenstring (date-time)
data[].last_changedstring (date-time) | null
pagination requiredPagination
pagination.has_more requiredboolean
pagination.next_cursor requiredstring | null
meta requiredMeta

meta carries the cost, the source line to quote, the language, the currency and notices (see Conventions).

Errors#