Integration guide

Send us your prices

Three ways, from nothing to do to a feed of your own. Whichever you use, the rule is the same: the price and stock we show must be what a customer sees on your page.

1. A product feed (best)

A feed is one file at a fixed address that lists every product with its price and stock. We read it at least once a day. We accept:

  • Google's product format, as XML (RSS 2.0), CSV or tab-separated. The same file you send Google Merchant Center works unchanged.
  • Our JSON, with the same fields under the same names.
  • A feed made for PriceRunner, idealo or PriceSpy: send it and we will map it.

The address must stay the same, be reachable over HTTPS, and may be behind a key or basic authentication that you give us. Gzip is welcome.

From your shop platform

Shopify

Install Google & YouTube (by Google). It builds the feed from your products; the feed address is in its settings, or ask us and we will find it with you.

WooCommerce

Google for WooCommerce, or any product-feed plugin that writes Google's format (Product Feed PRO, CTX Feed).

Magento / Adobe Commerce

Any Google Shopping feed extension.

Something else

If your platform can make a Google Shopping feed, that works. If not, send JSON as below, or let us read your website.

The fields

FieldRequiredWhat it is
idYesYour own ID for the product. It must never change; it is how we know a price moved rather than a new product appeared.
titleYesThe product's name as your page shows it, with the variant (size, colour, storage) and the condition if not new.
linkYesThe product page. It must show the same price and stock as the feed.
priceYesThe price in euro including VAT, as "12.99 EUR". The full price a customer pays, apart from delivery.
availabilityYesin_stock, out_of_stock, preorder or backorder.
image_linkYesA photo at least 500 pixels on its shorter side.
gtinStronglyThe barcode (EAN or UPC). It is how we put your offer beside the same product at other shops; without it we match by name and may miss.
brandStronglyThe maker's name.
mpnIf no GTINThe maker's model or part number.
sale_priceNoA reduced price, with sale_price_effective_date when it ends.
conditionNonew, refurbished or used. New if left out.
shippingNoDelivery to Ireland: price and, if you can, days. Lets us show what an order really costs.
unit_pricing_measureGroceriesThe pack size, as "750 ml" or "1.5 kg", so a price can be compared per litre or per kilo.
item_group_idNoShared by the variants of one product (sizes, colours).
product_typeNoYour own category, as "Kitchen > Kettles".

In Google's XML each field carries the g: prefix, as below. Its full specification is the reference for anything not listed here.

Example: Google XML

<?xml version="1.0"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
  <channel>
    <title>Your Shop</title>
    <link>https://www.yourshop.ie</link>
    <item>
      <g:id>KET-1702</g:id>
      <g:title>Breville Edge 1.7L Kettle, Brushed Steel</g:title>
      <g:link>https://www.yourshop.ie/p/breville-edge-kettle</g:link>
      <g:image_link>https://www.yourshop.ie/img/ket-1702.jpg</g:image_link>
      <g:price>49.99 EUR</g:price>
      <g:sale_price>39.99 EUR</g:sale_price>
      <g:availability>in_stock</g:availability>
      <g:gtin>5011773061714</g:gtin>
      <g:brand>Breville</g:brand>
      <g:shipping>
        <g:country>IE</g:country>
        <g:price>4.95 EUR</g:price>
      </g:shipping>
    </item>
  </channel>
</rss>

Example: our JSON

{
  "shop": "Your Shop",
  "updated_at": "2026-10-28T06:00:00Z",
  "products": [
    {
      "id": "KET-1702",
      "title": "Breville Edge 1.7L Kettle, Brushed Steel",
      "link": "https://www.yourshop.ie/p/breville-edge-kettle",
      "image_link": "https://www.yourshop.ie/img/ket-1702.jpg",
      "price": 49.99,
      "sale_price": 39.99,
      "availability": "in_stock",
      "gtin": "5011773061714",
      "brand": "Breville",
      "shipping": { "price": 4.95, "days_min": 1, "days_max": 3 }
    }
  ]
}

2. Let us read your website

No feed, nothing to install: we read your product pages once a day, as we do for every shop we compare. For that to work:

  • Price and stock are on each product page without needing JavaScript, or in its structured data (schema.org Product and Offer).
  • A sitemap lists every product page.
  • Our reader is not blocked.

Changes show up the next morning. A feed is faster.

3. Send changes as they happen

For large shops and platforms: an API you call when a price or stock level changes, so FairPrice is right within minutes rather than by the next read. It is being built; if you need it, say so when you apply and we will build it with you.

What we check

  • Every feed is checked when it arrives. Products we cannot use (no price, a broken link) are left out and listed in the report we send you.
  • We compare a sample of the feed with your product pages. If they disagree, the page wins and we tell you.
  • A price that is wrong on FairPrice is handled as the terms describe.

Something wrong or out of date here? Report a problem with this page