A Pinterest product feed is a data source — a CSV, TSV or XML file Pinterest fetches from a URL about once a day — with seven required fields: id, title, description, link, image_link, price and availability, plus item_group_id for variants. Availability has three values, in stock, out of stock and preorder, and backorder is not one of them. Pinterest asks for a main product image of at least 1000×1500 pixels.
Everything below is from Pinterest's catalog requirements, their data source documentation, and the sample feed they publish — which is the only place the column names appear in full.
Before the feed: three things Pinterest checks
Unlike Google, Pinterest will not look at a catalogue from a shop it does not recognise. You need a business account, a claimed website, and the Pinterest tag installed. Claiming proves the domain is yours; the tag is how conversions are attributed later. Both are site changes rather than feed changes, so they are worth doing first — a feed that ingests perfectly into an unclaimed account still shows nothing.
The main image size
Pinterest asks for a main product image of at least 1000×1500 pixels. Google's minimum is 100×100 today (250×250 for apparel) and 500×500 from 31 January 2027. Compared with 500×500, that is six times the pixels.
A product shot that meets Google's minimum can be too small for Pinterest.
Check the image sizes before you build the feed. The free feed check measures a sample of up to 20 images from a feed against 500×500, Google's minimum from 31 January 2027. In FeedRobin, Validate now on a Pinterest feed counts the products with an image under 1000×1500 and the images without a recorded size. Image sizes are recorded for products synced from Shopify.
The required fields
id— unique, up to 127 characters.title— up to 500 characters, and Pinterest asks that it match the landing page, variant included.description— up to 10,000 characters, plain text. HTML is not stripped for you on the way in; it is simply wrong here, and a store that keeps formatted descriptions needs them flattened before they are sent.link— the product page, up to 511 characters.image_link— up to 2,000 characters, and the size rule above.price—24.99 USD, or a bare number if the data source's Default currency is set. Write the currency: a default is invisible from inside the file.availability— see below.item_group_id— required for variants, up to 127 characters, and it is what groups a shirt's four sizes into one product rather than four.
Everything else is optional and worth sending: google_product_category and product_type (Pinterest reads Google's taxonomy), condition, brand, additional_image_link, sale_price, gender, age_group and size.
availability: three values, and no word for a backorder
Pinterest accepts in stock, out of stock and preorder, spaced, not Google's underscored spellings. There is no backorder value, so a product you can order today and ship next month has to go as a preorder — the same compromise Microsoft forces, and the opposite of TikTok, which publishes "available for order" for exactly this case.
Sending "backorder", "available" or a translated word is sending a value their list does not contain. The availability value translator shows the same word as each channel wants it, side by side.
The file and the two settings you cannot revisit
Pinterest takes TSV, CSV, XML (RSS 2.0 or Atom 1.0) and Google Sheets, compressed or not, in UTF-8. Their published sample is a TSV, and it is the only complete list of column names they give — so build against that, not against a Google feed you happen to have.
id,item_group_id,title,description,link,image_link,price,availability,condition PIN-101,PIN-1,Denim Shirt - Women's,Crafted from Japanese denim.,https://shop.example.com/p/101,https://cdn.example.com/101.jpg,24.99 USD,in stock,new
To connect it: the menu at the top left → Manage business → Catalogs and product groups → Add data source → Provide URL link. You give it a name, the URL, the file format, a country and language, a default currency, and optionally a login for a protected file. There is a Validate data source step that takes pasted sample rows — use it before you save, because it is the cheapest error report you will get.
Two of those fields are effectively permanent. The Country/region cannot be changed after the data source is created, and the default currency is the lens every bare price is read through. A data source built for the wrong market is replaced, not corrected.
How often it actually updates
A hosted data source is ingested about every 24 hours — some documentation says 24 to 48. This is worth knowing because it sets the ceiling on everything upstream: a feed rebuilt every hour still reaches Pinterest daily, and a price change made this afternoon is on Pinterest tomorrow. Anyone promising you minute-level freshness on this channel is describing their own refresh rate, not Pinterest's.
Manually uploaded files are worse: Pinterest asks that you re-upload every seven days to keep distribution. That alone is a reason to use a URL rather than a file.
Doing it without hand-building the file
FeedRobin renders the Pinterest catalog CSV from the same catalogue as your Google, Meta, TikTok and comparator feeds — their column names, their three availability words, HTML flattened out of descriptions, and a report telling you how many of your photos clear 1000×1500 before Pinterest does. You paste one link into the data source screen. The free feed check needs no account.
Sources
Pinterest Business Help, Get started with retail catalogs and Add your data source; Pinterest's sample product feed, which supplies the column names and their order. Read on 20 September 2026. Google Merchant Center Help, How to fix: Image too small, for Google's minimum image sizes. Read on 28 September 2026.